当前位置: 首页>>代码示例>>Python>>正文


Python Stats.modify_stat方法代码示例

本文整理汇总了Python中stats.Stats.modify_stat方法的典型用法代码示例。如果您正苦于以下问题:Python Stats.modify_stat方法的具体用法?Python Stats.modify_stat怎么用?Python Stats.modify_stat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在stats.Stats的用法示例。


在下文中一共展示了Stats.modify_stat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: NPC

# 需要导入模块: from stats import Stats [as 别名]
# 或者: from stats.Stats import modify_stat [as 别名]
class NPC(object):
	def __init__(self, name):
		self.stats = Stats()
		self.name = name

	def show_hp(self):
		print "HP:", self.stats.hit_points

	def attack(self, enemy):
		mod = np.random.uniform(0.9, 1, 1)[0]
		a = self.stats.level*0.3
		b = (float(self.stats.attack)*4/enemy.stats.defense)*4.0 
		c = mod
		damage = max(int(a*b*c), 1)
		enemy.stats.hit_points -= damage
		print "BAM!", enemy.name, "was hit for",  damage
		enemy.stats.hit_points = max(enemy.stats.hit_points, 0)
		return damage

	def level_up(self):
		if self.stats.level < 99:
			self.stats.level += 1
			self.stats.max_hit_points = self.stats.level*8 
			rem_points = 3 
			stat_selector = []
			stat_selector.extend(self.stats.stats_names)
			while(rem_points > 0):
				rand_stat = np.random.choice(stat_selector, 1)
				rand_stat_increase = np.random.randint(1,rem_points+1)
				self.stats.modify_stat(rand_stat, rand_stat_increase) 
				stat_selector.remove(rand_stat)
				rem_points -= rand_stat_increase

	def level_to(self, lvl):
		if lvl > 99:
			lvl = 99
		while(self.stats.level < lvl):
			self.level_up() 

	def show_stats(self):
		print "/"*20
		print self.name, " (LV. " , self.stats.level , ")"
		print self.stats.hit_points , "/", self.stats.max_hit_points
		aux_hp = int((float(self.stats.hit_points)/ self.stats.max_hit_points)*20)
		txt_hp = "+"*aux_hp
		print "[{0:20}]".format(txt_hp)
		print "Att: ", self.stats.attack
		print "Def: ", self.stats.defense
		print "Lck: ", self.stats.luck
		print "/"*20

	def cure(self, hp):
		a = self.stats.hit_points + hp
		if a > self.stats.max_hit_points:
			result = self.stats.max_hit_points - self.stats.hit_points 
			self.stats.hit_points = self.stats.max_hit_points
		else:
			result = hp
			self.stats.hit_points = a
		return result
开发者ID:ltdicai,项目名称:testing-ground,代码行数:62,代码来源:npc.py


注:本文中的stats.Stats.modify_stat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。