自己动手写一个“猫狗大战”程序

来源 :电脑报 | 被引量 : 0次 | 上传用户:lw4564
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  故事如此设定:游戏中有一只小狗和一只小猫,头顶是各自的血条,玩家控制小狗,抛出小球,砸向另一边的小猫;电脑控制小猫,抛出小球,砸向小狗。谁的血条先被消耗完,谁就输了,游戏方式为回合制。游戏制作步骤:
  1. 编写小猫脚本1——初始化小猫的大小和位置(图1)
  2. 编写小猫脚本1——鼠标选中小猫并长按实现视觉反馈
  鼠标左键按住小猫,隐含了两个条件,即鼠标的坐标在小猫角色图片的坐标范围内和鼠标左键被按下。鼠标移到舞台区域内,右下角会显示鼠标此时的坐标值。
  将鼠标移到小猫角色的坐标范围内,记录X坐标的最小值和最大值、Y坐标的最小值和最大值。本例中小猫的X坐标范围为[-220,-167]、Y坐标范围为[-125,-65]。脚本如图2:
  3.新建角色——小球,新建一个用于击打小狗的小球。
  4.编写小球脚本1——初始化小球的大小和位置
  5. 新建角色——蓄力框。蓄力框需要绘制(图3)。
  6.新建角色——蓄力条。蓄力条同样需要绘制。
  7.编写蓄力框脚本1——初始化蓄力框位置
  应该固定,不能乱跑,所以需要固定蓄力框的位置
  8.编写蓄力条脚本1——初始化蓄力条位置
  蓄力条的位置和蓄力框的位置一样,需要初始化
  9.编写蓄力框脚本2——按住小猫时显示,松开鼠标隐藏。
  猫狗大战游戏中的蓄力框和蓄力条是按住小狗时才出现的,松开便消失了,所以本例中也实现这样的效果。
  按住小猫的判定与小猫角色的脚本相似,为了节省工作量,可以将脚本复制过来。
  在小猫脚本的基础上做个修改,实现按住小猫蓄力框出现,松开鼠标左键蓄力框消失。
  10.编写蓄力条脚本2——蓄力条变长效果
  蓄力条的变长需要用到“画笔”相关指令。
  “画笔”类目中的“图章”指令,可以让角色的图样印拓在舞台上。
  使用“圖章”指令和“移动”指令,便可实现蓄力条变长的效果。
  “清空”指令可以将所有留在舞台上的图章清除。
  从演示效果看出以上程序还不够,蓄力条应该和蓄力框一样在按住小猫时出现,其他时候消失,同时,每次按住小猫开始时,位置应该从蓄力框最左侧开始变长。
  11.编写小球脚本2——小球的抛出运动
  小球被抛出的轨迹应该是抛物线,但是抛物线的方程有点复杂,大家可以尝试,本例中用圆弧代替。
  现实中,绘制圆形最简单的方法是用圆规绘制,首先确定圆的半径,再选取圆心,最后转动圆规,绘制圆形。
  用程序绘制圆形,最简单的方法是用正多边形逼近的方式绘制圆形。绘到小球的脚本,小球从小猫手中抛出。首先有一个初始角度,之后每移动几步,角度向右转动几度,这样便可以形成一个圆弧的轨迹。
  12.编写小球脚本3——加入力量值变量
  游戏中的轨迹是与蓄力的多少相关的,所以需要增加一个“力量”变量。
  角度值随力量值变化,即当力量值为100时,角度值为20;当力量值为0时,角度值为80。所以角度值=80-(60/100)×力量值。
  13.新建小狗角色
  14.编写小狗脚本1——初始化大小位置和造型
  将小狗角色调整到合适的大小,移动到舞台右侧街道上。
  15.编写小球脚本2——广播消息
  小球如果击中小狗,小狗角色是可以用“碰到……”模块判断的,但是小球如果没有击中,是因为没有击球还是击球之后没打中,就不能用“碰到……”模块来判断了。Scratch为不同角色之间的信息传递提供了“广播”的相关模块,位于“事件”类目中。
  16.编写小狗脚本3——接收广播消息
  如果小狗被击中,造型切换为“被发现的小狗”,说“哎呀”1秒钟,之后造型切换回“小狗”。如果没被击中,造型不变,说“没打中!”1秒钟。
  17.编写小狗脚本4——血量设定
  反复这样打中和没打中,着实无趣,需要让小狗扑街。本游戏设置小狗有3滴血,被打中一次血量减一,当血量为0时扑街。
  18.编写小狗脚本5——随机移动
  没有小狗会傻到一直站着不动挨打。所以每击中一次,随机的换个位置,这游戏会变得更有趣。
  19.编写小狗脚本6——逃跑
  游戏编到现在,游戏的结局是一定会胜利的,小狗根本没有赢的可能。那么设定一个变量——击球次数,当击球次数超过5时,逃跑成功!则没击中部分的脚本变为:击中部分的脚本中也要添加一条“变量 击球次数 的值增加1”的指令。
  到此,本游戏基本框架编写完毕。
其他文献
李景舒:  如果小鸡来参加派对,我想它一定会把自己的尾巴装饰得五顏六色的,还会给鸡冠做个“造型”。  马俊卿:  如果小猴子来参加派对那自助的香蕉可能要被它吃光了。  陈静仪:  如果小蛇来参加派对,它一定会把大自然的颜色穿在身上装扮自己,所以它身上有粉色、绿色和蓝色。  郭嘉骐:  如果马儿来参加派对,那它一定是最时尚的。你看,它把自己的鬃毛染成了红色,尾巴染成了灰色,太前卫了!  韩茗字:  
期刊
对于一些办公用户,每天都需要在网上复制很多内容,接着再粘贴到对应的软件程序中,然后将它们保存为需要的文件。但是不断重复这样的工作肯定非常麻烦,所以可以想办法省略掉中间的步骤,直接将剪切板中的内容保存为对应的文件。  常见文件直接保存  由于很多用户都面临这样的问题,因此就有网友开发出了一款名为PasteEx的工具(下载地址:https://github.com/huiyadanli/PasteEx
期刊
2018年8月3日至6日,第十六届中国国际数码互动娱乐展览会(ChinaJoy)于上海新国际博览中心圆满举办。作为当下全球数字娱乐领域最具影响力的年度盛会,本届ChinaJoy充分演绎了“新科技 新娱乐 新价值”的展会主题,并以IP为核心,覆盖游戏、动漫、互联网影视与音乐、网络文学、电子竞技、智能娱乐软件与硬件以及新生娱乐业态等数字娱乐多领域,成为我国及全球数字娱乐产业发展风向标。  本届Chin
期刊
今年正逢App Store十年华诞,前两期为大家介绍完App Store上最受欢迎的APP,本周还是顺便为大家介绍一下Android系统平台独占的十款热门APP吧!科幻小说《未来夏娃》中,外表酷似人形的机器人被命名为Android,这就是Android系统名字的由来。  回顾过去十年,唯一可以和苹果iOS媲美的手机操作系统就是Android,一个闭源,一个开源。从诞生伊始,Android系统就是一
期刊
有意思任务一  人们只有在过生日的时候才会想起奶油蛋糕,但对于艺术家伟恩·第伯来说,蛋糕却是他颇为喜爱的创作主题之一,因而他的作品也被称为“最美味的波普艺术”。浓稠的油画颜料被画家一层层涂抹在画布上,叠加出了奶油般的丝滑质感。每枚蛋糕都被安排在了特定的位置,如同烘焙店橱窗中摆放的商品那样精致。盛放蛋糕的高脚托盘投射出整齐的椭圆形阴影,外轮廓被彩色线条反复勾勒成形,伟恩·第伯在画里隐藏的“小心机”可
期刊
孙浩 海南省海口市滨海第九小学  答:据史料记载,齐桓公有一次骑马时遇到一只老虎,正当他在犹豫是否要逃跑时,老虎居然一溜烟儿地先逃走了j事后,齐桓公得意洋洋地对管仲说,莫非寡人身上真有霸王之气?管仲心想:那是老虎以为您骑的马是“八百里驳”,当然避之不及了 “八百里驳”指的是跑得飞快的牛,据说这种牛不但善跑,还十分凶猛。辛弃疾《破阵子》中的“八百里分麾下炙”,讲的就是要把牛肉分给麾下烤了吃,希望将士
期刊
小艺术家档案  姓名:徐一弘  年龄:13岁  学校:北京101中学石油分校  一句话自述:绘画是生活的必需品。  从小我就喜欢画画,我家客厅的小茶几上一直摆着我的画纸和画笔。小时候我喜欢把一天中发生的事情和自己的想法用速写的方式记录下来。闲暇的时候,我也会拿起笔随意涂画几笔,有时候靠着想象和感觉去画,有时候看到什么就画什么。  在我看来,画人是最有趣的,也最具挑战性:十个人就有十种体形,每个人的
期刊
“开一家咖啡店或私房菜馆,一直都是我的一个愿望。”愿望还在路上,但云端的“罗威的治愈小馆”早已宾客盈门,那是一家属于音乐的“深夜食堂”。  2013年,罗威试着用音乐写日记,创作了第一首“钢琴随笔”,并把它命名为《11月26日,上海,阴》。之后写音乐日记成了他的习惯——从日升日落到凉风骤雨,从林荫道到高架桥,他像“孤独的美食家”那样走街串巷,细细品味着生活的五味杂陈,创作了两百多首钢琴随笔,短的两
期刊
马德里是西班牙的首都,浓缩了纯正的西班牙风情:阳光、活力、浪漫、激情、文艺……行走在马德里的大街小巷,你或许还能感受到更多的趣味。  无处不在的“大明星”  大家最熟悉的西班牙名人非堂吉诃德莫属,堂吉诃德是文学家塞万提斯虚构出来的小说主人公。他是一位小乡绅,看骑士小说入了迷,脑子里全是魔法、战车、决斗等虚无的情节,他决定像书中的骑士那样行侠仗义。可是,现实往往很残酷,他不仅没能赢得声誉和美人,反而
期刊
甘特图是以图示的方式,通过活动列表和时间刻度,形象地表示出任何特定项目的活动顺序与持续时间,它可以非常直观地表明任务计划在什么时候进行,以及实际进展与计划要求的对比。管理人员借此可以快速理清一项任务(项目)还剩下哪些工作要做,并可评估工作进度。这里以Excel 2019版本为例,以图1所示的某软件开发任务进度安排表为例,介绍甘特图的创建步骤。  首先,用户需要将“开始时间”列的数据格式修改为“常规
期刊