自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Python核心編程破解游戲練習(xí)題中的難題

開發(fā) 后端
下面的文章是以代碼的形式介紹Python核心編程中對游戲練習(xí)題,在其運行過程中產(chǎn)生的問題的相關(guān)解決方案的介紹。下面是文章的介紹。

如果你在游戲練習(xí)題中遇到一些令你痛疼的問題時,以下的文章就是對Python核心編程中關(guān)于游戲練習(xí)題的實際操作中遇到相關(guān)問題的解決,以及相關(guān)代碼的詳細分析,以下是文章的具體介紹。

Python核心編程中的一個游戲練習(xí)題

根據(jù)書上的題目,偶擴展了一下,寫成了一個游戲機器人自動游戲比賽策劃說明:先定義一個基類:AutoPeople,類中存在一個全局類成員,所有隊員有效GameDic = {'石頭':'剪刀','剪刀':'布','布':'石頭'}含義為 石頭>剪刀>布>石頭 等然后需要定義一個分數(shù)值 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('請輸入一個數(shù)字')  
  59. print 'test'  
  60. if inputI.isdigit():  
  61. count = int(inputI)  
  62. break  
  63. else: print ('請輸入一個數(shù)字')  
  64. playgame.Play(count)  
  65. if __name__ == "__main__":  
  66. GameTest()     

以上的文章就是對Python核心編程中的一個游戲練習(xí)題的實際操作方案與其相關(guān)代碼的介紹。

【編輯推薦】

  1. Python 語言可以在哪些軟件中開發(fā)
  2. Python字符串處理函數(shù)的過程中字符大小寫的變換
  3. 編譯Python正則表達式的具體操作方法介紹
  4. Python模塊級函數(shù)的相關(guān)代碼示例介紹
  5. python String模塊在實際應(yīng)用的代碼介紹
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2018-04-17 11:55:28

2022-08-05 11:29:06

數(shù)據(jù)分析考核政治

2024-05-17 12:43:49

Python編程開發(fā)

2019-04-12 16:10:32

Python面試題編程

2013-10-15 09:48:03

C++Lambda函數(shù)式編程

2010-05-12 16:29:30

應(yīng)用設(shè)計師

2018-01-26 13:20:12

滴滴AI技術(shù)交通難題

2013-02-27 09:46:59

2013-07-23 11:00:32

2017-02-17 17:27:42

跨境 生意

2018-11-29 12:54:09

2011-08-31 16:11:09

Java

2011-08-31 16:19:48

Java

2022-07-22 09:55:02

Python練手題

2013-07-24 09:45:01

SDNIaaS網(wǎng)絡(luò)難題

2019-01-23 07:46:00

2015-03-18 09:39:10

函數(shù)編程Swift

2009-02-24 13:17:17

2015-06-17 11:18:08

C#多線程基礎(chǔ)練習(xí)題

2013-07-16 10:13:49

移動
點贊
收藏

51CTO技術(shù)棧公眾號