Scratch编程小案例:愤怒的小牛
愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏。最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它。因此,突然想做一个类似愤怒的小鸟的但实现更加简单的游戏——愤怒的小牛。
我用的是Scratch编程软件,之所以叫“小牛”,是因为Scratch中小牛的形象比小鸟好看。
一、需求分析
1、小鸟:用小牛代替,游戏过程中一直往下降,用户点击鼠标或者按上移键时往上移动一点点。
2、水管:由于水管上下高度的计算与设置比较麻烦,故用魔鬼代替,不分上下。
3、游戏积分:魔鬼移动到最左边,分数+1
4、游戏结束:小牛碰到魔鬼或者碰到边缘
二、程序实现
1、小牛:游戏开始时,y坐标一直-1,但按上移键或者点击鼠标,y+10,碰到边缘或者魔鬼,标记结束。
2、魔鬼:自己本身隐藏起来,每个一段时间克隆自己;克隆体移动到右边的随机高度,慢慢往左移动,碰到左边缘分数+1,自己同时消失。
3、开始与结束:点击绿旗广播开始,各个角色同时执行代码;发现标记为1时停在全部,显示Game Over。
三、游戏描述
在海洋底下,有很多妖魔鬼怪,他们只会向左移动,碰到魔棒就会死亡。为了消灭妖魔鬼怪,小牛决定只身下海,吸引鬼怪触碰魔棒。这是非常危险的,因为小牛碰到妖魔鬼怪,就会被吃掉!而且,在大海中,由于小牛很重,会一直往下沉,沉入海底就上不去了,所以小牛需要不停向上游;然而,小牛出海以后,就不能下海了,所以小牛也不能浮出水面。按上键或者点击鼠标,小牛可以往上游,不操作小牛会慢慢沉入海底。
四、游戏展示
五、游戏改进
这个只是最简单的版本,你还可以设置不同速度,或者加入其他元素,让游戏更好玩!
Scratch编程小案例:愤怒的小牛的更多相关文章
- 在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来
在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来 贴下课堂笔记: 在Java中使用NIO进行网络TCP套接字编程主要以下几个 ...
- 12.Scratch编程小游戏——天上掉馅饼
最意想天开的事,就是天降我们喜欢的食物,今天我们就来编写一个接馅饼的小游戏. 游戏规划: 1.用鼠标控制小猫的来回移动 2.甜甜圈从天而降 3.小猫接到绿色的甜甜圈减一分,接到红色的甜甜圈加一分,接到 ...
- 《java入门第一季》之UDP协议下的网络编程小案例
需求,一台电脑发送数据,其他电脑都可以收到该数据.使用广播地址. 发送端: import java.io.BufferedReader; import java.io.IOException; imp ...
- Blockly编程:用Scratch制作游戏愤怒的小牛(小鸟)
愤怒的小鸟曾经很热门,网上还说他是程序员最喜欢玩的游戏.最先我是WIKIOI的评测页面看到他的,后来在2014年全国信息学奥林匹克联赛第一天第三题飞扬的小鸟也看到了它.因此,突然想做一个类似愤怒的小鸟 ...
- 少儿编程|Scratch编程教程系列合集,总有一款适合你
如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...
- c++-多态小案例
多态小案例 C面向接口编程和C多态 函数类型语法基础 函数指针做函数参数(回调函数)思想剖析 函数指针做函数参数两种用法(正向调用.反向调用) 纯虚函数 抽象类 抽象类基本概念 抽象类在多继承中的应用 ...
- Scratch编程:游来游去的鱼(二)
“ Scratch编程学习环境搭建好了吗?让我们一起来进行游戏吧!” 01 — 游戏介绍 这是一款简单的小游戏,实现了一条小鱼在池塘里游来游去. 02 — 设计思路 1,这个游戏主要由一个池塘背景和一 ...
- 数据库的小案例(三):用递归实现TreeView层级显示
从这个小案例我学到了不少知识.这些无论如何无法从书里得来.正所谓实践出真知,学习编程需要大量实践这句话永不过时. 首先:好的代码和坏的代码带来的性能上的差异很明显.好的策略可以让你的程序运行速度大大加 ...
- Hibernate的介绍及入门小案例
1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...
随机推荐
- python项目通过配置文件方式配置日志-logging
背景:项目中引入日志是必须的,这里介绍通过配置文件config.ini的方式配置日志 1.新建config.ini 2.添加配置 [loggers]keys=root,ProxyIP [handler ...
- (转)一篇写的简明易懂的logging模块
转:http://kenby.iteye.com/blog/1162698 一.从一个使用场景开始 开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件 import logging # 创 ...
- 互评Alpha版本——基于NABCD评论作品,及改进建议
组名:可以低头,但没必要 组长:付佳 组员:张俊余 李文涛 孙赛佳 田良 于洋 刘欣 段晓睿 一.杨老师粉丝群--<弹球学成语> 1.1 NABCD分析 N(Need,需求 ...
- Scrum7
冲刺阶段的总结 一.各个成员今日完成的任务 组员 任务分工 贡献 林泽宇 团队分工.撰写博客.修改完善需求规格说明书.整理代码规范 李涵 后端架构设计 尹海川 logo设计修改.数据库数据 郏敏杰 课 ...
- c# 消息机制篡改
1.背景介绍: c#程序想要针对某个的消息进行别的行为.例如:窗体不可拖动. 2.应用函数WinProc 以窗口不可拖动举例: const int WM_NCLBUTTONDOWN = 0x00A1; ...
- c# 画image
这是一个例子,从数据库中读取然后赋伪彩,生成bitmap,给到imagebox控件(其image属性为平铺). https://pan.baidu.com/s/1hf_fGFHjGoDK_gywuhg ...
- 5月5号周二课堂练习:简评cnblogs.com的用户体验
一.用户类型 在博客园上写博客,提问题,浏览感兴趣的博客帖子的活跃用户. 二.对cnblogs的期望 在博客园上写博客更流畅,制作手机版的APP可以随时随地在线浏览大牛们写的博客,提出的问题能更好的更 ...
- 使用 python 管理 mysql 开发工具箱 - 2
这篇博文接着上篇文章<使用 python 管理 mysql 开发工具箱 - 1>,继续写下自己学习 python 管理 MySQL 中的知识记录. 一.MySQL 的读写分离 学习完 My ...
- Beta 阶段项目计划
Beta 阶段项目计划 NewTeam 目标 实现用户数量的目标. 在多个平台发布 完成稳定运行.界面优雅的客户端 充分测试,避免发布后出现bug影响用户使用 及时更新开发文档 合理安排时间,避免和其 ...
- zuoyeQAQ
public class StringAPIDemo { /** * @param args */ public static void main(String[] args) { // TODO A ...