国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 用python寫掃雷游戲?qū)嵗a分享

用python寫掃雷游戲?qū)嵗a分享

2021-02-25 00:52腳本之家 Python

我們給大家分享了一篇關(guān)于用python寫一個(gè)掃雷經(jīng)典游戲的實(shí)例代碼,大家可以測(cè)試運(yùn)行下。

掃雷是一個(gè)非常經(jīng)典的WIN游戲,我們教給大家用python語言來寫出這個(gè)游戲,以下是全部實(shí)例代碼:

?
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#!/usr/bin/python
#coding:utf-8
 
#python 寫的掃雷游戲
 
 
import sys
import random
 
class MineSweeping():
  #掃雷主程序
  def __init__(self,row = 8 ,line= 8,mineNum = 15):
    self.row = row
    self.line = line
    self.score = 0 #分?jǐn)?shù)
    self.mineNum = mineNum
    self.xy_list = [[0 for i in range(self.line)] for i in range(self.row)]
 
  def initData(self):
    # 初始化狀態(tài)值
    # 游戲開始的時(shí)候狀態(tài)值為清零(再重新設(shè)置狀態(tài)值)
    self.xy_list = [[0 for i in range(self.line)] for i in range(self.row)]
    # 設(shè)置雷的數(shù)量
    maxMine = self.mineNum
    while maxMine > 0 :
      num_x = random.randint(0,self.row-1)
      num_y = random.randint(0,self.line-1)
      if self.xy_list[num_x][num_y] == 0:
        self.xy_list[num_x][num_y] = 1
        maxMine -= 1
 
  #獲取x坐標(biāo)
  def get_pos(self,str_pos):
    #獲取x坐標(biāo)
    while 1:
      try:
        num_x = raw_input(str_pos)
        if int(num_x) in range(self.line) and num_x :
          break
        else:
          print u'輸入無效值'
      except:
        pass
    return int(num_x)
 
  #進(jìn)行掃雷
  def mine_clear(self,x,y):
    # 設(shè)置顯示進(jìn)行掃過的數(shù)目
    # 設(shè)置數(shù)字
    # 0 表示掃過的雷
    # 1 表示類
    # 2 表示掃過的類
 
    #獲取坐標(biāo)的數(shù)字
    pos = self.xy_list[x][y]
    if pos == 0 :
      self.xy_list[x][y] = 2
      return 0
    elif pos == 2 :
      return 2
    else:
      return 1
 
  #界面的顯示
  def mineFace(self,state):
    #顯示界面的內(nèi)容
    #設(shè)置游戲的狀態(tài)
    #1 表示運(yùn)行的狀態(tài)
    #2 表示輸出的狀態(tài)
    #3 表示游戲結(jié)束的狀態(tài)
    #4 表示游戲獲得了完勝
    if state == 1:
      print '+=================+'
      print '   Game start  '
      print '+=================+'
      tt = ' #'
      print '**************************'
      for i in range(self.line):
        str_t = ''
        for t in xrange(self.row):
          str_t += tt
        print "|%s|"%(str_t,)
      print '**************************'
      print 'Please input values of x,y(0-7):'
    #刷新用戶界面
    if state == 2:
      tt = ' #'
      print '**************************'
      for i in range(self.line):
        str_t = ''
        for t in xrange(self.row):
          if self.xy_list[i][t] == 2:
            str_t += str(self.xy_list[i][t]).rjust(2)
          else:
            str_t += tt
        print "|%s|"%(str_t,)
      print '**************************'
    if state == 3:
      print '**************************'
      for i in range(self.line):
        str_t = ''
        for t in xrange(self.row):
          if int(self.xy_list[i][t]) != 1:
            str_t += ' 2'
          else:
            str_t += ' *'
        print "|%s|"%(str_t,)
      print '**************************'
 
    if state == 4:
      tt = ' #'
      print '**************************'
      for i in range(self.line):
        str_t = ''
        for t in xrange(self.row):
          if self.xy_list[i][t] == 2:
            str_t += str(self.xy_list[i][t]).rjust(2)
          else:
            str_t += ' @'
        print "|%s|"%(str_t,)
      print '**************************'
 
 
  def MainLoop(self):
    #創(chuàng)建游戲主循環(huán)
 
    #創(chuàng)建界面的運(yùn)行
    self.mineFace(1)
    self.score = 0
    self.initData()
    #print self.xy_list
 
 
    # 進(jìn)入主循環(huán)
    while 1:
      #獲取坐標(biāo)的位置
      x = self.get_pos(' X = ')
      y = self.get_pos(' Y = ')
      num = self.mine_clear(x,y)
      #判斷是不過的了完勝
      win = True
      for i in self.xy_list:
        if 0 in i:
          win = False
          break
      if win:
        num = 4
 
      #執(zhí)行刷新界面的函數(shù)
      if num == 0:
        self.mineFace(2)
        self.score += 10
      elif num == 2:
        print u'這個(gè)位置已經(jīng)被排過了,證實(shí)沒有雷'
      elif num == 1:
        print '+=================+'
        print '   Game over  '
        print '+=================+'
        print u'分?jǐn)?shù) : ', self.score
        self.mineFace(3)
        # 是不是進(jìn)行下一句
        next = raw_input(u'是夠進(jìn)行下一局:Y or N ')
        if next.upper().startswith('Y'):
          print u'下一局開始'
          self.nextGame()
        else:
          print '>>> Game exit'
          break
      else:
        self.score += 10
        print u'恭喜您獲得的完全的勝利'
        print u'分?jǐn)?shù) : ', self.score
        self.mineFace(4)
        next = raw_input(u'是夠進(jìn)行下一局:Y or N ')
        if next.upper().startswith('Y'):
          print u'下一局開始'
          self.nextGame()
        else:
          print '>>> Game exit'
          break
 
  # 下一局初始化信息
  def nextGame(self):
    self.mineFace(1)
    self.score = 0
    self.initData()
 
 
if __name__ == '__main__':
  mi = MineSweeping(10,10,20)
  mi.MainLoop()
  sys.exit()

如果大家在測(cè)試的時(shí)候還有任何疑問,可以在下方的留言區(qū)討論,感謝大家對(duì)服務(wù)器之家的支持。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: √天堂在线| 日本精品一区二区三区视频 | 午夜视频在线 | 极品一区 | 黄色国产视频 | 久久久久久久久久久九 | 久久久久久久久久久久福利 | 一区二区在线视频 | 婷婷毛片| 在线成人免费视频 | 91精品国产综合久久久久久丝袜 | 亚洲一区二区三区四区五区中文 | 国产精品久久久久久久久久久久久久久久 | 亚洲国产精品久久久久秋霞不卡 | 精品国产视频 | 一区二区三区精品 | 欧美日韩精品久久久 | 伊人色网| 99久久精品免费看国产一区二区三区 | 性欧美大战久久久久久久免费观看 | 日韩福利在线 | 男女爱爱免费视频 | 国产视频三区 | 成人h在线 | 日韩欧美一区二区在线观看 | 黄色免费av | 日韩午夜电影 | 日韩精品一区二区在线观看视频 | 国产精品日韩 | 精品乱码一区二区三四区 | 亚洲精品免费在线观看视频 | 日本女人高潮视频 | 一区二区中文 | 91精品一区二区三区久久久久久 | 在线中文字幕视频 | 黄频免费在线观看 | 久久av网| 亚洲国产成人av好男人在线观看 | 成人精品视频在线观看 | 久久国产亚洲精品 | 日韩精品久久久 |