5.Map
显示面板、生成新数字、判断当前面板还能否操作
()
def addone(self):"""需求:移动之后map有变化才会进入此函数,因此肯定能添加当只剩一个位置的时候,返回False触发判断是否不可再操作思路:获取所有值为0的 row,col 保存到 zero_indexs从 zero_indexs 随机一个 [row,col] 添加数字0.1的概率生成4,0.9的概率生成2"""zero_indexs = []for row in range(self.size_):for col in range(self.size_):if self.map_[row][col]==0:zero_indexs.append([row,col])lastone = len(zero_indexs)==1[row,col] = zero_indexs[random.randint(0, len(zero_indexs)-1)]self.map_[row][col]=4 if random.random()<0.1 else 2return lastone
isend()
def isend(self):"""用于判断当前map还有没有办法操作当添加的数字是最后一个空的时候会调用这个函数"""for row in range(self.size_):for col in range(self.size_):now= self.map_[row][col]right = self.map_[row][col+1] if col+1.size_ else 1down= self.map_[row+1][col] if row+1.size_ else 1if now==right or now==down:return Falsereturn True
完成后的样子:
三、心得
看上去挺简单的游戏,实现起来还是会遇到一些问题的,比如说浅拷贝深拷贝、的引用机制,还有一些小功能挺有意思的,比如随机生成新数字要用坐标,合并一行或一列的数据要四步走…
- css中skew实现元素倾斜
- 复杂交通场景下的交通标志识别算法的研究与实现
- 含内容文字的国庆节手抄报及简笔画合集,简单又好看,可收藏备用 祖国世界之最简笔画图片
- chatgpt赋能Python-python3_10下载安装
- chatgpt赋能Python-pythongame怎么样
- 简单生活节
- chatgpt赋能python:Python3.9:最新版本的下载指南
- 1.从简单的幂运算说起
- chatgpt赋能python:Python搜索引擎优化:如何搜索网站内容
- 使用Java编写一个简单计算器