猫史档案馆


【代码】教你制作关卡类游戏

用户:天上的流星_tianqiVirus天上的流星_tianqiVirus查看:0 回复:1 评论:0 创建时间:2019-08-28T11:14:20


关卡类游戏制作

我们这次不制作游戏,只说制作方法

 

这一次我给大家介绍一下我开发的游戏的关卡机制

这个游戏是scary maze的翻版,terrible maze

center_image

请留意右下角level 0 of 6

说明我这里有6关,这个开始界面也算一关,算作第0关

接下来看看第一关

center_image

第二关center_image

观察三张图片的共同点

你会发现,都有蓝色的路,红色的终点块,还有一个粉色的小方块,这个是玩家

这三个东西都是矩形

在我的代码中,矩形要有这几个要素:左上角x,左上角y,长度,宽度,颜色

由于玩家方块固定长宽,所以它不需要设长度宽度,可以直接设为5

我们用玩家块的代码来展示一下center_image

是个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的关卡游戏,starpushercenter_image

他的关卡文件是存储在一个txt文件中的center_image

不难发现,他在一行前加分号来表示注释

; 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:
 ########
##      #
#   .   #
#   $   #
# .$@$. #
####$   #
   #.   #
   #   ##
   #####

这个就是刚刚的第一关的截屏

你们可以对照一下理解理解

这就是这次介绍的两个关卡类游戏的制作方法,由于jsontxt比较常见,可以应用于多种编程语言

那么,我们这一次就完成了

想要继续学习python的请关注

id:天上的流星

本帖内的所有代码,思想仅供参考,请勿用于商业盈利用途


回复

上一页1 页 / 共 1下一页
我不是李老師啊我不是李老師啊

太6了,你居然改造了一拳打爆屏幕哥玩的游戏666666666

点赞0


评论