-
Notifications
You must be signed in to change notification settings - Fork 0
/
player_class.py
107 lines (98 loc) · 3.01 KB
/
player_class.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import numpy
import random
class CreatePlayer:
"""This class is for storing information for one player.
Attributes:
name: string
player's name, which should be unique.
attr: ndarray
player's attributes, which includes stre, inte, agi, defe, fai,
san, luc.
armor: ndarray
player's armors, which includes head, body, weap, foot
stre: float
strength
inte: float
intelligence
agi: float
agility
defe: float
defence
fai: float
faith
san: float
sanity
luc: float
lucy
head: string
head-wear
body: string
body-wear
weap: string
weapon
foot: string
foot-wear
health_value: float
health value point, which ranges from 0 to 100
"""
def __init__(self, name, new_born=True, player_info_list=[]):
self.init_parameters()
self.name = name
if new_born is True:
self.gen_ran_attr()
self.gen_init_armor()
else:
self.assign_values(player_info_list)
self.combine_em()
def init_parameters(self):
""" Initialize parameters"""
self.name = ''
self.attr = numpy.zeros((1, 7))
self.armor = numpy.array(['', '', '', ''],
dtype='<U256')
self.stre = 0.0
self.inte = 0.0
self.agi = 0.0
self.defe = 0.0
self.fai = 0.0
self.san = 0.0
self.luc = 0.0
self.head = ''
self.body = ''
self.weap = ''
self.foot = ''
self.health_value = 100.0
def gen_ran_attr(self, *args, **kwargs):
"""Generate Random Attributes"""
self.stre = random.uniform(1,15)
self.inte = random.uniform(1,15)
self.agi = random.uniform(2,15)
self.defe = random.uniform(3,15)
self.fai = random.uniform(5,15)
self.san = random.uniform(20,40)
self.luc = random.uniform(1,10)
return
def gen_init_armor(self, *args, **kwargs):
self.head = 'Casual Hat'
self.body = 'Casual Cloth'
self.weap = 'Twig'
self.foot = 'Casual Shoes'
def assign_values(self, player_info_list, *args, **kwargs):
self.name = player_info_list[0]
self.stre = player_info_list[1]
self.inte = player_info_list[2]
self.agi = player_info_list[3]
self.defe = player_info_list[4]
self.fai = player_info_list[5]
self.san = player_info_list[6]
self.luc = player_info_list[7]
self.head = player_info_list[8]
self.body = player_info_list[9]
self.weap = player_info_list[10]
self.foot = player_info_list[11]
def combine_em(self):
self.attr[:] = (self.stre, self.inte, self.agi, self.defe,
self.fai, self.san, self.luc)
self.armor[:] = (self.head, self.body, self.weap, self.foot)
if __name__ == '__main__':
print('Please import this file to instantiate this class.')