100行python代码做一个程序_Python练习:100行代码实现一个简易的2048游戏

一、任务目标

1.一个在命令行下的2048游戏

2.主要实现功能:判断游戏是否结束;在随机空白位置生成新的数字;上下左右四个方向上进行平移数字并将能合并的数字进行合并;接收键盘输入;将数字阵列显示到命令行下。

3.本教程基于python3

4.完成效果预览命令行下的2048游戏

二、知识基础

1.python基础知识:数据类型、变量、list、循环和判断等;

2.python进阶知识:函数、切片、迭代以及类的基础用法等;

3.模块:numpy模块中矩阵相关的操作;random模块中的几个简单函数;#以廖雪峰python教程为例的话学到【面向对象编程】就可以自己做起来没什么压力了。

三、游戏设计思路

首先要有一个用于我们存储阵列数组(也就是游戏里要显示的那些数字)的东西,可以用list或者矩阵,我选择的是矩阵,主要是考虑用list部分操作实现起来比较麻烦,但是python中没有内置这种数据类型,所以用了第三方的模块numpy。

然后就是考虑设计一个类,将游戏的属性设计成类的属性,将游戏的各种操作定义为类的方法,这样以后不管是扩充功能还是修改起来都比较方便。

四、代码框架

按照设计思路和任务目标进行定义类,将游戏属性定义为类的属性,类的属性目前定义了两个,一个是要构建的数组的维数,就是说要做一个4*4的2048还是5*5的2048,这个方便我们后续为游戏添加新模式或者难度,另一个属性self.matrix是一个矩阵,后续也可以继续添加属性,比方说游戏得分的属性或者游戏难度的属性,或者限制游戏时间的属性等等。类的方法就是之前我们任务目标里需要实现的功能或者方法,需要注意的是并不一定是一个功能就可以用一个方法来实现,具体情况要看实现的难度。

#!/usr/bin/env python3

#coding: utf-8

import numpy

import numpy as np

import random

from random import choice

class Game2048(object):

'''2048游戏的类'''

def __init__(self):#定义类属性

self.dimension = dimension #维数,决定要构建几维的数组

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值