用户:天上的流星_tianqiVirus查看:0 回复:1 评论:0 创建时间:2019-08-28T11:14:20
关卡类游戏制作
我们这次不制作游戏,只说制作方法
这一次我给大家介绍一下我开发的游戏的关卡机制
这个游戏是scary maze的翻版,terrible maze
请留意右下角level 0 of 6
说明我这里有6关,这个开始界面也算一关,算作第0关
接下来看看第一关
第二关
观察三张图片的共同点
你会发现,都有蓝色的路,红色的终点块,还有一个粉色的小方块,这个是玩家
这三个东西都是矩形
在我的代码中,矩形要有这几个要素:左上角x,左上角y,长度,宽度,颜色
由于玩家方块固定长宽,所以它不需要设长度宽度,可以直接设为5
我们用玩家块的代码来展示一下
是个json文件,里面的东西是这样的
[[248,373,[255,100,200]],[120,420,[255,100,200]],[323,373,[255,100,200]],[433,363,[255,100,200]],[52,52,[255,100,200]],[373,323,[255,100,200]],[303,84,[255,100,200]]]
不难发现,这是个列表,而且这个列表的元素是一个包含两个数字,一个列表的列表
让我们来观察一下一个元素
[[248,373,[255,100,200]]]
前两个为坐标,最后一个列表是rgb
而多个这样的列表表示的是多个关卡
也就是说,关卡的文件是以列表的形式存储在json文件里的
这是其中的一种方法
接下来给大家介绍一下程序员Al Sweigart的关卡游戏,starpusher
他的关卡文件是存储在一个txt文件中的
不难发现,他在一行前加分号来表示注释
; The format is described at:
; http://sokobano.de/wiki/index.php?title=Level_format
; @ - The starting position of the player.
; $ - The starting position for a pushable star.
; . - A goal where a star needs to be pushed.
; + - Player & goal
; * - Star & goal
; (space) - an empty open space.
; # - A wall.
这个是每个字符代表的方块
看到下面
; Starting demo level:
########
## #
# . #
# $ #
# .$@$. #
####$ #
#. #
# ##
#####
这个就是刚刚的第一关的截屏
你们可以对照一下理解理解
这就是这次介绍的两个关卡类游戏的制作方法,由于json和txt比较常见,可以应用于多种编程语言
那么,我们这一次就完成了
想要继续学习python的请关注
id:天上的流星
本帖内的所有代码,思想仅供参考,请勿用于商业盈利用途