Blockly编程:用Scratch制作游戏愤怒的小牛(小鸟)
愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏。最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它。因此,突然想做一个类似愤怒的小鸟的但实现更加简单的游戏——愤怒的小牛。
我用的是Scratch编程软件,之所以叫“小牛”,是因为Scratch中小牛的形象比小鸟好看。
一、需求分析
1、小鸟:用小牛代替,游戏过程中一直往下降,用户点击鼠标或者按上移键时往上移动一点点。
2、水管:由于水管上下高度的计算与设置比较麻烦,故用魔鬼代替,不分上下。
3、游戏积分:魔鬼移动到最左边,分数+1
4、游戏结束:小牛碰到魔鬼或者碰到边缘
二、程序实现
1、小牛:游戏开始时,y坐标一直-1,但按上移键或者点击鼠标,y+10,碰到边缘或者魔鬼,标记结束。

2、魔鬼:自己本身隐藏起来,每个一段时间克隆自己;克隆体移动到右边的随机高度,慢慢往左移动,碰到左边缘分数+1,自己同时消失。

3、开始与结束:点击绿旗广播开始,各个角色同时执行代码;发现标记为1时停在全部,显示Game Over。

三、游戏描述
在海洋底下,有很多妖魔鬼怪,他们只会向左移动,碰到魔棒就会死亡。为了消灭妖魔鬼怪,小牛决定只身下海,吸引鬼怪触碰魔棒。这是非常危险的,因为小牛碰到妖魔鬼怪,就会被吃掉!而且,在大海中,由于小牛很重,会一直往下沉,沉入海底就上不去了,所以小牛需要不停向上游;然而,小牛出海以后,就不能下海了,所以小牛也不能浮出水面。按上键或者点击鼠标,小牛可以往上游,不操作小牛会慢慢沉入海底。
四、游戏展示
五、游戏改进
这个只是最简单的版本,你还可以设置不同速度,或者加入其他元素,让游戏更好玩!
Blockly编程:用Scratch制作游戏愤怒的小牛(小鸟)的更多相关文章
- Scratch编程小案例:愤怒的小牛
愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏.最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它.因此,突然想做一个类似愤怒的小鸟 ...
- 用Scratch制作一个Hello World程序
网上出现了很多Hello World程序,看的小编心里也痒痒的,为此这次作为南京小码王Scratch培训机构的小编,就为大家来详细的了解下Scratch制作Hello World程序的过程,现在就和小 ...
- 小孩学习编程的绝佳游戏——CodeMonkey
CodeMonkey于2014年1月在以色列成立.它的愿景是建立一个全球性的学习平台,让孩子们通过游戏的方式学习.发现.创造和分享,同时在此过程中获得编程这一项21世纪必备的技能. 通常提到CodeM ...
- scratch制作彩虹猫病毒模拟器
scratch制作彩虹猫病毒模拟器 hello,大家好. 编程慢慢更加接近生活,甚至小孩也开始学了,比如scratch编程,小编今天就带了一件作品(彩虹猫病毒模拟器) 我们先看一下效果| 做的还可以, ...
- Unity中制作游戏的快照游戏支持玩家拍快照
Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家“拍快照”,也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介绍:截取矩形区域内游 ...
- Unity制作游戏中的场景
Unity制作游戏中的场景 1.2.3 场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...
- 使用Unity制作游戏关卡的教程(一)
转自: http://gamerboom.com/archives/74131 作者:Matthias Zarzecki 我正在制作<Looking For Group – The Fork O ...
- YTU 2845: 编程题AB-卡片游戏
2845: 编程题AB-卡片游戏 时间限制: 1 Sec 内存限制: 128 MB 提交: 30 解决: 13 题目描述 小明对数字的序列产生了兴趣: 现有许多张不同的数字卡片,用这若干张卡片能排 ...
- 123457123456#0#-----com.threeapp.MakerHanBao01----儿童汉堡制作游戏
----com.threeapp.MakerHanBao01----儿童汉堡制作游戏
随机推荐
- Mysql,zip格式安装、修改密码、建库
Mysql,zip格式 1. Mysql 主目录最好别带有"- ."之类的字符 2. Mysql 配置环境变量 Path 环境变量后加上 mysql解压路径:eg:E:\mysql ...
- 禁止LISTCTRL表头拖动
禁止ListCtrl表头拖动(Prevent CListCtrl column resizing) /*The header control in the ListView control sends ...
- anjular中Service、Factory、Provider的使用与js中创建对象的总结
在学习anjular中Service的使用时,发现和js中的创建对象的方式有一定的联系,所以总结了anjular中Service.Factory.Provider的使用方式与js创建对象的方式 一.先 ...
- [转]JAVA自动装箱和拆箱
http://www.cnblogs.com/dolphin0520/p/3780005.html 1.Java数据类型 装箱和拆箱之前,我们先来了解一下Java的基本数据类型. 在Java中,数据类 ...
- Java中线程的实现:
Java中线程的实现: 一.线程简介: 实现的两种方式为: 1.Thread类 2.Runnable接口 都在java.lang中 都有共通的方法:public void run() 二.线程常用方法 ...
- jqPaginator 项目中做分页的应用技巧
最近做后台管理系统,分页用到的不少,项目中其实已经有分页功能的组件但是不够高度自定义,于是就找到了 jqPaginator 高度自定义的Html结构 初始化引用如下: $("#paginat ...
- Python的join()函数和split()函数
join()方法 ------------------------------------------------------------------------------------------- ...
- SMD晶振发展和智能手机的普及总是惊人的相似!
其实触屏手机在2002年前后就已经出现了,但那个时候的触屏手机不算是现在的这种智能手机,有人说最早发行触屏手机的是诺基亚,也有人说是苹果还有人认为摩托罗拉.总之众说纷纭,小编那里还太小也并不是很了解, ...
- java 上传2(使用java组件fileupload和uploadify)
项目关键包和插件
- 由Find All References引发的思考。,
今天在研究C#代码问题的时候遇到了一个Visual Studio的小问题.在Visual Studio 2013中,使用Find All References功能不能找到同一类型不同版本的所有引用,具 ...