游戏设计中的程序结构
2017-09-30陈凯
中国信息技术教育 2017年17期
陈凯


初学程序设计者很难真正体会设计一个“有用”程序的完整过程,因为他所遇见的大部分程序设计任务,其实都是为了便于学习者入门而被精心构造好的。例如,通过判定一个数的奇偶性,来熟悉分支结构;通过1+2+3+4+……+100的累加,来熟悉循环结构。一般来说,在讲解程序代码语法的时候,程序结构就自然而然地呈现在眼前了,或者说,为了讲程序结构,不得不先引入代码或伪代码。对于一个从没有接触过编程和算法的初学者来说,他所面对的就是这些所谓的需要解决的任务,其实很难算得上是真正的数学问题,因而既缺乏趣味性,又不太容易给人以解决任务的成就感。也有人想从现实生活中寻找一些能引入程序结构的问题,这当然是有益的探索,但带来的问题也不少,生活实景的复杂性和不确定性使得生活中实际问题的描述变得相当复杂,而为了讲解程序结构而特意构造出来的问题,往往因为忽略了诸多生活细节,多少让人感觉纯粹得有点不真实。然而,却有一个简单、纯粹而“真实”的可用于体验程序结构的任务,那就是设计游戏。虽然说游戏世界本身是虚拟的,但游戏的设计和游戏的通关过程,却都是真实的任务。只要提供并限定好规定数量的游戏场景元素,那么就可以将设计游戏流程的任务交给学习者,然后不同的程序结构就会在游戏流程的设计中逐一浮现出来。下面是一个叫“金币王子”(也可以是其他名字)的游戏案例,除了作为探险主角的王子,其他游戏场景元素只有这么几项:洞穴、恶魔、金币数、成就值。
登录APP查看全文
