我们今天再来开发一个小游戏,叫做”逃离僵尸岛“。听起来名字很吓人,其实这就是一个猜数字的小游戏,这个小游戏的逻辑也很简单,我们曾经用Scratch很轻松地实现它:生成一个随机数字,给你若干次机会,每次输入数字,计算机会提示你猜大了还是小了,如果你能在要求的次数内猜中,游戏胜利。后来我们还学了一个逻辑相反的游戏,让计算机来猜我们想的一个随机数,我们会告诉计算机采用”二分查找“的方式来猜,就是每次在最大数和最小数之间取中间值的方式,如果忘了,可以复习一下Scratch中的内容。
简单的猜数字
import random
n = random.randint(0, 100)
i = 8
while True:
n1 = int(input('请输入猜的数字(整数)'))
i = i - 1
if i == 0:
print('游戏失败!')
break
if n1 > n:
print('大了')
print('剩余%d次机会' % i)
continue
elif n1 < n:
print('小了')
print('剩余%d次机会' % i)
continue
else:
print('猜对了')
break
扩展游戏
上面的游戏虽然也实现了猜数字的逻辑,但让人感觉比较枯燥,也没有玩游戏的氛围。这个时候我们就要开动脑筋,给游戏增加一些故事情节,让玩游戏的人有一种身临其境的感觉,这样游戏就比较有趣了。
比如,我们可以把游戏设定为玩家被传送到了一个布满僵尸的小岛,玩家不得不在僵尸的追杀下逃命,通过努力寻找,终于找到了可以离开小岛的传送门,不过这个传送门需要输入密码才能启动,而密码是一个1-100之间的数字,玩家总共有8次机会,如果输错,就会被僵尸吃掉……这样是不是就更有游戏氛围了呢?
让我们来改造一下上面的程序:
import random
# 交待时间地点和场景
print('这是一个漆黑的夜晚……')
print('天上下着大雨,时不时划过几道闪电,雷声隆隆地响着。')
print('你正在被一大群僵尸追赶,深一脚浅一脚地向前跑着。')
print('终于,你看到了一扇发着微光的门。门上有一个9个数字的小键盘,旁边写着:请输入0-100之间的数字,如果输入正确门就会打开,你将离开僵尸岛,注意你只有8次机会……')
n = random.randint(0, 100)
i = 8
while True:
n1 = int(input('请输入猜的数字(整数)'))
i = i - 1
if i == 0:
print('你的身后传来了僵尸沉重的呼吸声……呼……呼')
print('僵尸吃掉了你的脑子!')
print('游戏失败!')
break
if n1 > n:
print('大了')
print('你还有%d次机会,僵尸的脚步更近了……' % i)
continue
elif n1 < n:
print('小了')
print('你还有%d次机会,僵尸的脚步更近了……' % i)
continue
else:
print('猜对了!一道白光笼罩了你,你顺利离开了僵尸岛!')
break
试玩一下,感觉是不是好多了?
总结
其实,要做好一个游戏可不仅仅是程序的问题,首先就得设计好的角色、故事情节,才能做出引人入胜的游戏 。当然,我们在现阶段不必在这方面投入过多精力,只要适当注意一下,拿出写作文的精神来,让你的游戏更好玩一些就行了。