可以控制台執行,不過最好還是使用windows的powershell,我覺得這個選擇對初學者很棒簡單優雅的生命遊戲
powershell執行
'''
生命遊戲的python實現,採用原始的shell演示
author:王平
date:2019-5-7
'''import os #引入os模組以備使用清屏操作
import random
import time #引入time模組以實現自動控制
def main():
'''主程式,完成生命遊戲類的例項化與啟動
'''game = lifegame(40,90)
os.system("cls")
game.draw()
print("初始二維自動機就緒")
q = input("回車開始演化,退出按 q ")
if q == 'q':
exit()
for _ in range(100):
game.update()
game.draw()
time.sleep(0.4)
class lifegame:
'''生命遊戲類,構建二維自動機並可完成任意次迭代
'''def __init__(self,rows=20,cols=60):
self.rows = rows #其他方法屬性需要,so有必要新增物件變數
self.cols = cols
self.board =
for _ in range(rows):
line =
for _ in range(cols):
if random.random()<0.2:#以20%的概率產生初始活細胞
else:
def draw(self):
os.system("cls")
for line in self.board:
print('|',end='')
for cell in line:
print(cell,end='')
print('|')
def getcell(self,row,col):
'''座標求模是這類問題的慣常處理藝術
反捲能讓邊界問題很好的得到處理,無論維度多少
'''row %= self.rows
col %= self.cols
return self.board[row][col]
def nearby_status(self,row,col):
'''獲取鄰域的活細胞個數'''
nearby =
return len(list(filter(lambda x:x == '#',nearby)))
def update(self):
'''根據鄰域狀況更新下一代自動機的所有細胞的狀態'''
new_board =
row,col = (0,0)
for line in self.board:
new_row =
for cell in line:
count = self.nearby_status(row,col)
if count == 3:
elif count == 2:
else:
col = (col+1)%self.cols
row = (row+1)%self.rows
self.board = new_board
if __name__ == "__main__":
main()
記乙個簡單的掃雷遊戲
遊戲概述 每次輸入乙個座標,必然要判斷當前座標是不是雷,如果不是就要顯示當前座標和其周圍8個非雷座標點的周圍8個點的雷的數量。分為三部分 game.h ifndef game h define game h include include include include pragma warning...
乙個簡單的猜數遊戲
利用math.random 方法生成0 1之間的double型數dnum,將dnum轉換為0 100之間的整數inum。利用keyinput.readint 方法接收鍵盤輸入的整數innum。如果innum小於inum,在螢幕上顯示 輸入的值小,請輸入更大的數.如果innum大於inum,在螢幕上顯...
乙個簡單遊戲框架
1。系統 system t 類包含了指向我們系統要使用的純介面指標。如下列出了所有system t類提供的介面。1.logsys t 處理遊戲中所有的訊息記錄,可以選擇的輸出方式包括文字框或檔案 2 errorsys t 處理所有出錯的訊息和狀態 3 timesys t 提交時間資訊 4 facto...