趣味python一迷宫小游戏
既然是编写小游戏,那么自然少不了pygame模块,编译环境使用的是pycharm。
迷宫小游戏设计思想是,我们自己绘制迷宫地图文档,然后程序根据我们设计的地图把迷宫绘制到pygame游戏界面当中来。因为本人手残党,所以所有图片素材都来源于网络,如有侵权,我立刻销毁。
首先设计地图,这里一共设计了四个关卡的地图,其中前2关是我自己设计的,第3关地图版权归属了我们家的大哥,三年级逍遥哥。
上地图:
这个地图是存放在txt文档中的,所有的“w”都会被程序绘制成墙,“p”是角色出现的位置,“t”是树,“r”是岩石, “g”是目的地,“k”是钥匙的位置,“d”是门的位置。那么第一张图的绘制结果是这样的:
控制小人走到星星的位置就算游戏成功了,进入下一关。
第二关
第三关
由于设计地图能力太有限,也就做了三关的地图,高手可以自己做新地图。
整个游戏的思路就是,首先从地图文档中获取到每一关的地图,然后把地图数据存放到字典变量maze_map_dic中。然后根据关卡取出每一关的地图数据,再根据对应的地图数据再pygame中绘制出对应的图形。
控制方式为上下左右控制角色移动,同时角色移动之前,判断该移动是否合法,如果合法,则交换迷宫对应位置的内容,然后再次绘制地图,造成角色移动的假象。
需要注意的地方是,当地图游玩游戏时,字典变量里的地图数据会根据游玩的不同而发生变化,所以如果将来要选关或者别的情况需要重置地图是,那么我们就需要在使用时深度拷贝地图信息到新的变量中为好。
程序代码:
import random
import copy
import pygame
fps = 30
fps_clock = pygame.time.Clock()
screen_width = 1024
screen_height = 768
display = pygame.display.set_mode((screen_width, screen_height), 0, 32)
pygame.display.set_caption(‘迷宫小游戏’)
tile_width = 30
tile_height = 30
x_margin = 0
y_margin = 0
line_color = ‘white’
level = 0
maze_maps_dic = {}
directions = [(0, -1), (0, 1), (-1, 0), (1, 0)]
move_direction = (0, 0)
ma