最近闲来无事,做了一个2048类似的小游戏。其中的算法思想,如果有的话,都是本人花了一点点时间想出来的,完全没有参考任何教程,所以可能(其实是肯定)使用的方法比较傻一些,算是抛砖引玉了。
为了制作这个游戏,我先下载了一个2048小游戏来玩,以便学习规则。根据20分钟的游玩体验,我总结的规则大致如下:
因为之前做了好多这种类似的棋盘类型的游戏,比如扫雷,五子连珠(有机会一并写出来),所以画2048的棋盘部分格外容易,难点在配色,好在我是不在乎颜色好看与否,所以直接开始弄。
首先依然是基础的pygame配置代码,涉及到各种初始化配置,颜色代码等等,边距一大堆,基本基本上棋盘游戏我都是通用的,修改一下就可以用了。
import pygame
import sys
import random
from pygame.locals import *
board_width = 4
board_height = 4
tile_size = 80
screen_width = 640
screen_height = 480
fps = 30
white = (255, 255, 255)
bright_blue = 'sky blue'
dark_turquoise = (250, 234, 211)
green = 'green'
bg_color = (107, 81, 82)
tile_color = bright_blue
text_color = (144, 59, 28)
border_color = bright_blue
basic_font_size = 30
message_color = white
x_margin = int((screen_width-(t