用Python核心编程破解游戏练习题中的难题

如果你在游戏练习题中遇到一些令你痛疼的问题时,以下的文章就是对Python核心编程中关于游戏练习题的实际操作中遇到相关问题的解决,以及相关代码的详细分析,以下是文章的具体介绍。

浦口ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

Python核心编程中的一个游戏练习题

根据书上的题目,偶扩展了一下,写成了一个游戏机器人自动游戏比赛策划说明:先定义一个基类:AutoPeople,类中存在一个全局类成员,所有队员有效GameDic = {'石头':'剪刀','剪刀':'布','布':'石头'}含义为 石头>剪刀>布>石头 等然后需要定义一个分数值 Score

代码如下:

 
 
 
  1. PythonCode: # -*- coding: gbk -*-  
  2. import time,random  
  3. class BaseAuto:  
  4. GameDic = {'石头':'剪刀','剪刀':'布','布':'石头'}  
  5. def __init__(self):  
  6. self.score = 0 
  7. def OutHandle(self):  
  8. return None  
  9. class AutoPeopl1(BaseAuto):  
  10. def OutHandle(self):  
  11. return self.GameDic.keys()[0]  
  12. class AutoPeople2(BaseAuto):  
  13. def OutHandle(self):  
  14. return self.GameDic.keys()[random.randint(0,2)]  
  15. class DoStart:  
  16. def __init__(self,Pa,Pb):  
  17. self.pa = Pa 
  18. self.pb = Pb 
  19. def Play(self,PlayCount):  
  20. self.pa.score = 0 
  21. self.pb.score = 0 
  22. PjCount = 0 
  23. for i in range(0,PlayCount):  
  24. paT = time.clock()  
  25. paValue = self.pa.OutHandle()  
  26. paT = time.clock() - paT  
  27. pbT = time.clock()  
  28. pbValue = self.pb.OutHandle()  
  29. pbT = time.clock() - pbT  
  30. if (paT > 100) or (pbT > 100):  
  31. if paT > 100:  
  32. self.pa.score -= 5 
  33. if pbT > 100:  
  34. self.pb.score -= 5 
  35. continue  
  36. if (paT > 10) or (pbT >10):  
  37. if paT > 10:  
  38. self.pa.score -= 1 
  39. if pbT > 10:  
  40. self.pb.score -= 1 
  41. print '-*-*-*-*-*-*-*-*-*第%d局-*-*-*-*-*-*-*-*-*\n
    机器人1出:%s\n机器人2出:%s'%(i+1,paValue,pbValue)  
  42. if self.pa.GameDic[paValue] == pbValue:  
  43. self.pa.score += 5  
  44. print '机器人1胜利'  
  45. elif self.pb.GameDic[pbValue] == paValue:  
  46. self.pb.score += 5  
  47. print '机器人2胜利'  
  48. else:  
  49. PjCount += 1  
  50. print '最后得分:\n机器人1得分:%d\n机器人2得分:%d\n
    平局%d'%(self.pa.score,self.pb.score,PjCount)  
  51. def GameTest():  
  52. p1 = AutoPeopl1()  
  53. p2 = AutoPeople2()  
  54. playgame = DoStart(p1,p2)  
  55. inputI = 'sdf' 
  56. count = 0 
  57. while not inputI.isdigit():  
  58. inputI = raw_input('请输入一个数字')  
  59. print 'test'  
  60. if inputI.isdigit():  
  61. count = int(inputI)  
  62. break  
  63. else: print ('请输入一个数字')  
  64. playgame.Play(count)  
  65. if __name__ == "__main__":  
  66. GameTest()     

以上的文章就是对Python核心编程中的一个游戏练习题的实际操作方案与其相关代码的介绍。

标题名称:用Python核心编程破解游戏练习题中的难题
网站链接:http://www.shufengxianlan.com/qtweb/news32/517782.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联