区块链技术博客
www.b2bchain.cn

python3生命游戏的讲解

这篇文章主要介绍了python3生命游戏的讲解,通过具体代码讲解8397并且分析了python3生命游戏的讲解的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了python3生命游戏的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/?p=8397。具体如下:

生命游戏是一群小生命,按照规则繁衍生息的小游戏

#!/usr/bin/env python3 # -*- coding: utf-8 -*-  ''' Game of life author: Pleiades '''  import os import random  width = 60 height = 20 screen = []   def Init():     for i in range(height):         line = []         for j in range(width):             if random.random() > 0.8:                 line.append('#')             else:                 line.append(' ')         screen.append(line)   def PrintScreen():     for i in range(height):         for j in range(width):             print(screen[i][j] + ' ', end='')         print('|')   def TryGetCell(i, j):     i = i % height     j = j % width     return screen[i][j]   def GetNearbyCellsCount(i, j):     nearby = []     nearby.append(TryGetCell(i - 1, j - 1))     nearby.append(TryGetCell(i - 1, j))     nearby.append(TryGetCell(i - 1, j + 1))     nearby.append(TryGetCell(i, j - 1))     nearby.append(TryGetCell(i, j + 1))     nearby.append(TryGetCell(i + 1, j - 1))     nearby.append(TryGetCell(i + 1, j))     nearby.append(TryGetCell(i + 1, j + 1))     return len(list(filter(lambda x: x == '#', nearby)))   def Update():     newScreen = [[' ' for i in range(width)]for j in range(height)]     global screen     for i in range(height):         for j in range(width):             count = GetNearbyCellsCount(i, j)             if count == 3:                 newScreen[i][j] = '#'             elif count < 2 or count > 3:                 newScreen[i][j] = ' '             else:                 newScreen[i][j] = screen[i][j]     screen = newScreen def Loop():     Update()     PrintScreen()   def Start():     os.system("cls")     print('== Game of Life ==')     print('Author: Pleiades')     print('Press any key...')     input()     os.system("cls")     Init()     PrintScreen()     c = input()     while c != 'q':         os.system("cls")         Loop()         c = input()     print('End')   if __name__ == "__main__":     Start() 

本文地址https://www.b2bchain.cn/?p=8397

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » python3生命游戏的讲解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们