主要内容 #
-
- 开发环境
- 环境搭建
- 原理介绍及初始化操作
- PyGame基础框架
1.开发环境 #
Python版本:3.6+
相关模块:
1.pygame模块,包括display,draw和font等模块;
2.以及一些Python自带的模块,包括sys、random、copy等模块。
导入所需包:
import random
import pygame
from sys import exit
from copy import deepcopy
from pygame.locals import *
2.环境搭建 #
安装Python并添加到环境变量,pip安装需要的相关模块即可。
3.原理介绍及初始化操作 #
“使用方向键移动方块,两个数字相同的方块撞在一起后,将会合并为一个数字是原来两倍的新方块。游戏的时候尽可能多地合并这些数字方块就行了。”
大概了解了游戏规则之后,我们就可以开始写这个游戏啦~首先,进行一下游戏初始化操作和定义全局变量。
board = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] # 全局变量 box_size = 100 # 每个小方格 box_gap = 5 # 画方格的线的粗细 top_of_screen = 100 # 格子到窗口顶端的距离 bottom_of_screen = 20 # 格子到窗口底端的距离 left_of_screen = 50 # 格子到窗口左端的距离 score = 0 # 得分
4.PyGame基础框架 #
PyGame最基础的框架代码如下,后续所有的功能都是在该框架基础上添加和修正。
这里我将我用到的背景图片放在这里,可供同学们下载使用:背景图片
import sys import pygame import random from copy import deepcopy from pygame.locals import * # 这里是import * # 但是建议尽量不要这么import pygame.init() # 初始化PyGame screen_width = 520 screen_height = 550 screen = pygame.display.set_mode((screen_width, screen_height), 0, 32) # 设置窗口大小和显示窗口 pygame.display.set_caption("2048") # 设置窗口标题 background = pygame.image.load('background.jpg').convert() # 设置背景 #如下是上一步新增的该项目所需变量 board = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] # 全局变量 box_size = 100 # 每个小方格 box_gap = 5 # 画方格的线的粗细 top_of_screen = 100 # 格子到窗口顶端的距离 bottom_of_screen = 20 # 格子到窗口底端的距离 left_of_screen = 50 # 格子到窗口左端的距离 score = 0 # 得分 #如上是上一步新增的该项目所需变量 def main(): screen.blit(background, (0, 0)) # 背景展示 while True: # 循环按键 for event in pygame.event.get(): if event.type == QUIT or (event.type == KEYUP and event.key == K_ESCAPE): pygame.quit() sys.exit() pygame.display.update() # 这部分就是每次循环都要更新屏幕,这样能保持一直状态最新 if __name__ == '__main__': main()
请大家新建项目,新建代码文件,将如上代码写到文件中,尝试运行,查看具体程序效果。
小结 #
- 本节主要介绍了开发本小游戏所用的开发环境、环境搭建、游戏原理介绍、初始化操作及PyGame基础框架。