下面是我们要达到的效果,在命令行里面玩2048,是不是很酷?
写出这个小程序其实用的知识很少,主要是用了嵌套列表,循环,if 判断,还有一点点 random 和copy 模块。作为练习是个很好的项目。
初步分析游戏的流程
首先来分析一下这个游戏。
1 . 游戏界面为一个 4 X 4 一共 16 的方格,开始时在随机的两个格子里面生成两个数字 2 。
2 . 可以上下左右滑动界面,数字会向着滑动的方向移动,途中若遇到相同的数字,则合并成一个数,值为二者的和,直到移动不了为止。同时在每次移动的时候,会在空白的地方再次生成两个数字 2 。
3 . 若没有空格子且相邻没有相同的数字,那么游戏结束。
游戏第一步
第一步 当然是先写一个游戏界面,为了方便后面的操作和计算,需要先来装这些数据,因为要涉及到计算和修改,那么 python 内置的只有列表和字典可以考虑,但是字典是无序的,在定位上可能会问题,所以用列表比较合适。可以用一个嵌套列表来表示位置和值,写这个界面的方法很像写九九乘法表。
import random
def start():
list_2048 = [[' ', ' ', ' ', ' '], [' ', ' ', ' ', ' '], [' ', ' ', ' ', ' '], [' ', ' ', ' ', ' ']]
i = 0
while i < 2:
x =