黄金打地鼠地鼠游戏里面是怎样的一个得分模式?

打地鼠游戏_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
打地鼠游戏
&&VB小游戏制作
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢只需5分钟,3个步骤即可做属于自己的一款“打地鼠”游戏
我们开始做之前需要先下载scratch这款编程软件,如果没有可以登录网站www.codepku.com上在线编程。
话不多说直接进入我们编程游戏的主题。
第一步 设置游戏背景,并编辑背景脚本
我选了背景库中的房间背景作为游戏的场地,
然后在背景中增加“Time Out”字体,游戏结束的时候切换为这个造型
背景的脚本:
在“数据”中新建两个变量为“剩余时间”、“打中数量”;
脚本中,游戏开始时,将“打中数量”设定为0,将“剩余时间”设定为30;
重复执行30次后时间,剩余时间减为0,游戏结束,将背景造型切换为“bedroom3”。 第二步 设置锤子的角色和脚本
我选择了角色库中的锤子,并且它自带两个造型,锤子敲下和拿起时,这两个造型来回切换。
当锤子还没敲下时,造型1:
当锤子敲下时的,造型2:
敲击时,锤子子是和鼠标一起移动的,所以锤子的动作设置为“移到鼠标指针”;
如果“按下鼠标?”即锤子敲下,将锤子的造型切换为造型2,并“等待0.2秒”,等待的时间决定锤子敲击的快慢。 第三步,设置老鼠的角色和脚本
我选择添加了五只老鼠,每个老鼠的脚本差不多是一样的
老鼠出现位置的脚本:
设置“移到x:在-240到240间随机选一个数 y:在-180到180间随机选择一个数”目的是让老鼠随出现在整个画面中,你可以修改x和y的值,决定老鼠出现的范围。
“隐藏”和“显示”的时间也是随机,缩短这两者的时间可增加游戏难度,并且你可以修改每只老鼠脚本中“隐藏”和“显示”的顺序和时间,增加老鼠出现的随机性。
锤子敲击老鼠时的脚本(脚本是在老鼠角色里的):
逻辑关系是当锤子碰到老鼠并点击鼠标即为打中,所以用“ 且 ”的逻辑运算,打中老鼠后“播放声音”,并让老鼠“像素化”,像素化的目的是实现老鼠被打中后渐渐消失的视觉效果。
这样游戏就创制作完了,你可以到在线编程中跟着教程创作一个,也欢迎你到原创游戏中玩一下我发布的游戏,请帮我的游戏多多点赞、评分和提建议。
如需了解或者学习更多少儿编程内容,可进入我们编玩边学官网www.codepku.com浏览,谢谢大家。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
scratch/java/c 学会你就是下一个编程大神!北大名师团队,游戏化教学。
在线学编程 成为下一个比尔盖茨 开发你的大脑!
今日搜狐热点Android打地鼠游戏的修改和优化 - 简书
Android打地鼠游戏的修改和优化
最近在研究android原生的游戏,主要是打地鼠这款经典小游戏的熟悉和修改,因为直接copy的是开源的代码,不过因为年代久远,再加上要修改的符合需求,所以做了一些调整,先看界面:
1.打地鼠的实现图
这个界面是用自定义View来实现的,所以可扩展性比较强,HP是血量,总共20ms,进行倒计时操作,Grade是分数,每打中一次地鼠,则增加100分,首先,我们先看看这两个是如何绘制的:
2.HP和Grade的绘制
也就五行代码,利用Paint画笔,设置字体颜色为红色,字体大小为30sp,利用Canva的drawText()方法进行字体文本的绘制,同时GameAgrs这个类是游戏属性的封装类,里面的HP_X和HP_Y,Grade_X和Grade_Y分别对应着各自的横坐标和纵坐标。接下来,我们来仔细讲解一下这九个老鼠窝的绘制,因为老鼠窝有九个,但是其中的每个属性都是一样的,我们先来看看其中一个鼠窝究竟有哪些元素和属性构成的:
3.每个方块的属性页方法
因为是直接拿源码直接来改的,所以这里面的倒计时有一点问题,利用的是自减而非传统的CountDownTime等倒计时的方式,所以会倒计时会出现一点问题,这个未来会做相应的修改。得到每个方块的属性和方法之后,我们虽然可以绘制鼠窝,但是为了给老鼠一个美丽的家,所以我们设置一下背景和老鼠弹出、撤退的图片。
4.鼠窝背景和老鼠的三个状态的设置
利用Map存储老鼠的三个状态,暴露出一个getBitmap的方法让外界进行调用,获取鼠窝的背景和老鼠的三个状态。到目前为止,我们完成了单个鼠窝的属性,背景和老鼠的绘制,接下来我们需要对九个鼠窝进行绘制,由于代码太多,就不截图了,直接看代码public classGameViewextendsView {public static intspeed=100;//刷新速度private static final intsHeight=298;private booleanisCancel=publicGameView(Context context) {
super(context);
initView(context);
GameView.this.post(updatePaint);//刷新画面线程
GameView.this.postDelayed(setMouse,1000);//增加地鼠的线程,1s后执行}publicGameView(Context context,@NullableAttributeSet attrs) {
super(context,attrs);
initView(context);
GameView.this.post(updatePaint);//刷新画面线程
GameView.this.postDelayed(setMouse,1000);//增加地鼠的线程,1s后执行
Log.i("GameViewThread:",Thread.currentThread() +"");}publicGameView(Context context,@NullableAttributeSet attrs, intdefStyleAttr) {
super(context,attrs,defStyleAttr);
initView(context);
GameView.this.post(updatePaint);//刷新画面线程
GameView.this.postDelayed(setMouse,1000);//增加地鼠的线程,1s后执行}public static voidinitView(Context context){
DisplayMetrics dMetrics =newDisplayMetrics();
//获取屏幕分辨率
dMetrics = context.getResources().getDisplayMetrics();
GameAgrs.InitArgs(dMetrics);
MainMapManager.Init(context);
VolumsPlayer.init(context);}intstart_X= GameAgrs.start_X;//开始画方块的X坐标intstart_Y= GameAgrs.start_Y;//开始画方块的Y坐标privateRandomrandom=newRandom();//定义一个随机函数//初始化每块方块的信息privateListmainList=newArrayList(GameAgrs.Total_Count);{
for(inti =0;i & GameAgrs.Total_Ci++) {
mainList.add(newEpicture());
}}RunnableupdatePaint=newRunnable() {@Overridepublic voidrun() {
GameView.this.invalidate();
GameView.this.postDelayed(this,speed);//每100ms刷新一次}};Runnable setMouse=new
Runnable() {@Overridepublic void run() {
LinkedList
tempList =new
LinkedList();
for(inti =0;i
Epicture epicture =mainList.get(i);
if(epicture.getCurrenty() == GameAgrs.Hole_Empty) {
tempList.add(epicture);}}inttempSize = tempList.size();if(tempSize ==1) {tempList.poll().toShow();}else if(tempSize &1) {//随机出一个或者两个地鼠for(inti =0;itempList.remove(random.nextInt(tempList.size())).toShow();}GameView.this.invalidate();}GameView.this.postDelayed(this,800- GameAgrs.Grade/20);}};private void
drawMessage(Canvas canvas) {Paint paint =new
Paint();paint.setColor(Color.RED);paint.setTextSize(GameAgrs.text_size);canvas.drawText("HP:"+ GameAgrs.HP,GameAgrs.HP_X,GameAgrs.HP_Y,paint);canvas.drawText("\nGrade:
"+ GameAgrs.Grade,GameAgrs.Grade_X,GameAgrs.Grade_Y,paint);}//游戏结束处理private void
doGameOver() {AlertDialog.Builder builder =new
AlertDialog.Builder(getContext());if(GameAgrs.Grade&2500)builder.setTitle("继续努力O(∩_∩)O");else if(GameAgrs.Grade&3500)builder.setTitle("那你很棒棒呦(。^▽^)");elsebuilder.setTitle("哇!你坠棒(?o??o?)??");builder.setMessage("得分:"+ GameAgrs.Grade+",是否重新开始游戏?");builder.setPositiveButton("确定", newDialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, intwhich) {GameAgrs.Reset();//用户信息重置isCancel=initView(getContext());GameView.this.post(updatePaint);//刷新画面线程GameView.this.postDelayed(setMouse,1000);}});builder.setNegativeButton("取消", newDialogInterface.OnClickListener() {@Overridepublic voidonClick(DialogInterface dialog, intwhich) {isCancel=GameAgrs.Reset();//用户信息重置initView(getContext());GameView.this.invalidate();}});builder.setCancelable(false);AlertDialog dialog = builder.create();dialog.show();}@Overrideprotected void
onMeasure(intwidthMeasureSpec, intheightMeasureSpec) {super.onMeasure(widthMeasureSpec,heightMeasureSpec);setMeasuredDimension(ViewGroup.LayoutParams.MATCH_PARENT,sHeight);}@Overrideprotected void
onDraw(Canvas canvas) {super.onDraw(canvas);if(GameAgrs.HP&=0) {getHandler().removeCallbacks(updatePaint);getHandler().removeCallbacks(setMouse);doGameOver();}canvas.drawColor(Color.WHITE);//将背景设置为白色drawMessage(canvas);//显示用户信息if(isCancel) {for(inti =0;iEpicture epicture =mainList.get(i);intx = i % GameAgrs.Colums_C//获得所在列inty = i / GameAgrs.Colums_C//获得所在行canvas.drawBitmap(MainMapManager.getBitmap(epicture.getEmpty()),start_X+ x * GameAgrs.EpicSize,start_Y+ y* GameAgrs.EpicSize, null);}}for(inti =0;iEpicture epicture =mainList.get(i);intx = i % GameAgrs.Colums_C//获得所在列inty = i / GameAgrs.Colums_C//获得所在行canvas.drawBitmap(MainMapManager.getBitmap(epicture.getCurrenty()),start_X+ x * GameAgrs.EpicSize,start_Y+ y* GameAgrs.EpicSize, null);epicture.toNext();//进入下一个状态}}//触摸事件@Overridepublic boolean
onTouchEvent(MotionEvent event) {if(event.getAction() != MotionEvent.ACTION_DOWN) {}floatx = event.getX();floaty = event.getY();intX = (int) ((x -start_X) / GameAgrs.EpicSize);intY = (int) ((y -start_Y) / GameAgrs.EpicSize);if(X &0|| Y &0|| X &=3|| Y &=4) {//如果打击不在方块范围内则不响应//点击外围的时候,则开始游戏startGame();}intnum = Y * GameAgrs.Colums_Count+ X;Log.i("game-----------",num +"");if(num &9){//暂时先解决数组出界的问题Epicture epicture =mainList.get(num);epicture.beHited();}}private void
startGame() {GameAgrs.Reset();//用户信息重置initView(getContext());isCancel=GameView.this.post(updatePaint);//刷新画面线程GameView.this.postDelayed(setMouse,1000);}}代码不长,但是有几个方法,首先定义了updatePaint和setMouse的两个runnable,分别用来更新UI界面和老鼠动作,onDraw()方法用来绘制九个鼠窝和背景和老鼠的动作状态,onTouchEvent主要用来处理点击事件,具体的可以看看代码,都有注释,并不难理解,doGameOver(),则定义了一个弹窗,点击确定则继续开始,点击取消,则重置页面初始状态。以上就是打地鼠的代码了,虽然不全,但是精华已经全都交代出来了,另外这个还只是最初的修改版本,未来工作中还有更多的修改,包括页面的重绘,逻辑的修改等等。
?开启? 【iAPP实现进入界面执行逐一显】 〖 15:22:14〗 《//首先开一个线程,因为你有这么多的stop要执行,其次必须使用ufusui(),否则可能不会显示你的字体。切记:文字必须设置“text=”,否则很尴尬,还有我这里的8,14是两个文...
Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0 大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关 的: Can...
前言: 在接触Android这么长时间,看到很多大牛都在和大家分享自己的知识,深有体会,刚好前段时间写了一个Demo,在此分享给大家。 下面就直接进入主题: 1.绘制的逻辑: 首先绘制一个矩形,然后获取矩形长、宽各自的起始位置且划分为n等份,就成了带刻度尺的正方形,然后根据...
一、Android开发初体验监听器使用匿名内部类的好处:1,因为匿名内部类的使用,我们可在同一处实现监听器方法,代码更清晰可读。2,事件监听器一般只在同一处使用,使用匿名内部类可避免不必要的命名类实现。 二、Android与MVC设计模式模型对象存储着应用的数据和业务逻辑。...
一、概述 1. 四线格与基线 小时候,我们在刚开始学习写字母时,用的本子是四线格的,我们必须把字母按照规则写在四线格内。 比如: 那么问题来了,在canvas在利用drawText绘制文字时,也是有规则的,这个规则就是baseline(基线)! 我们先来看一下什么是基线: ...
原创文章,教师、家长经验实录 转载请注明出处“妈妈在进步” 01. 平平抬起头,冲着妈妈喊:“文具盒又没有错,你要向文具盒道歉!” 平平捧着裂开的文具盒伤心地哭着,妈妈看着平平豆大的泪珠,内疚地站着。过了一会,妈妈说:“对不起。”平平抬起头,冲着妈妈喊:“文具盒又没有错,你...
1104文学作品作业提交: 中--》韩 ??? ????? ??? ???? ? ??? ??? ?? ? ??? ??? ??? ?? ?? ??. ??? ????? ???? ??? 6?? ?? ?? ?? ???? ?????. ??? ?? ?? ???? ??...
“生了个女孩!” 这句话对父亲来说十分特别,比以往任何时候都有理由开瓶香槟庆祝。 哈佛商学院上个月的一项研究发现,女儿给父亲带来的可不只是“甜蜜、乐趣和一切美好的事”,对他的事业也很有好处,能使他成为更好的丈夫,甚至还有延年益寿的功效。 最终得以了解女人的性别 让丈夫了解妻...黄金太空探险游戏里面是怎样的一个得分模式?_百度知道
黄金太空探险游戏里面是怎样的一个得分模式?
我有更好的答案
辅导讲义,
倌任职妹谅展出拘
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
小班打地鼠游戏玩法(共7篇).doc 27页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
小班打地鼠游戏玩法(共7篇).doc
你可能关注的文档:
··········
··········
小班打地鼠游戏玩法(共7篇)
以下是网友分享的关于小班打地鼠游戏玩法的资料7篇,希望对您有所帮助,就爱阅读感谢您的支持。
《打地鼠小游戏》项目文档
一.设计思路
四.关键代码源
线程实现老鼠的出现与消失
class mousexc implements Runnable{
public void run() {
while(yy=y+1;
Random suijishu=new Random();
x=suijishu.nextInt((6)+1);
jbmouse.setBounds(120, 120, 90, 30); jlmouse.setBounds(120,150, 90, 120); }
jbmouse.setBounds(340, 160, 90, 30); jlmouse.setBounds(340,190, 90, 120); }
jbmouse.setBounds(620, 120, 90, 30); jlmouse.setBounds(620,150, 90, 120); }
jbmouse.setBounds(570, 250, 90, 30); jlmouse.setBounds(570,280, 90, 120); }
jbmouse.setBounds(70, 250, 90, 30); jlmouse.setBounds(70,280, 90, 120); }
jbmouse.setBounds(300, 360, 90, 30); jlmouse.setBounds(300,390, 90, 120);
Thread.sleep(v);
System.out.println(“游戏结束你的得分是”+z); }
catch (InterruptedException e) {
e.printStackTrace();}
六.程序界面
七.编程中出现的问题:
1.不知道怎样在线程中调用自己编写的类中的方法;
2.不知道怎么在线程中计算没有打中老鼠的个数;
八.本学期感想
刚来的时候我记得我什么都不会,对于计算机就只会聊下qq什么的连qq截图都不会,但是我相信新的校园就是新的开始,我没有气馁就参加了ATOB工作室学习的一些基础的计算机知识,对于编程开开始只会照着书上做,开始觉得还不怎么难当学到类的时候就听不懂了,我就看了些相关的书可是都是一些理论知识还是看不懂,经过老师带我们做一些小程序慢慢就理解了,对于编程也有一些兴趣了,有的时候就是喜欢给自己编写的小程序添加更多的功能,就去百度上看看被人怎么实现的,有的太难就只能放弃了不过简单的还是可以自学一些的让自己的程序变得更加有趣,看我程序的同学也越来越多再加上老师的鼓励对于编程我更加有兴趣了,就是我英语不好,命名不规范还有就是代码太多记不住很多方法调用不知道单词怎么写,一个学期就要完了对于编程思想还是有一点认识的,也培养了一定的自学能力,就是感觉编程好难有的时候一点点小问题弄半天才知道原来是这样的啊。还好有同学帮忙看有时候遇到问题自己看不见还是要靠队友,自己写的东西人总是会先入为主,但是队友换一种方式帮忙看很快就可以帮我检查出问题,还有就是看错误提示也有一些帮助。本学期最大的收获还是学会了上百度和看帮助文档。
长征幼儿园教案表 班级:小班
教学名称 授课教师 教学目标
教学领域 教学日期
1、 促进幼儿腿步肌肉发展。 2、 训练幼儿身体平衡能力 。 3、 通过单双脚跳格子,让幼儿初步了解单双。 粉笔 一、画格子 老师画格子,让幼儿猜猜这是干嘛用的,可以怎么玩? 让幼儿说说自己的想法 宽阔的场地 透明胶 小老鼠照片
二、通过幼儿的玩法,寻找一个比较新颖的来玩。 三、介绍游戏规则 1、看清格子里面的老鼠,是一个还是两个,如果是一个 就单脚去踩他,但是另外一只脚不能落地,如果是两个,就 双脚去踩。直到全部踩完。 2、在跳的过程中双脚必须落在格子内。 3、在跳的过程中不要着急,不要推前面的小朋友,跳完的 小朋友回来排队。
体育课时体育老师和我们玩“打地鼠”的游戏,游戏规则是:被抓到的老鼠要退出游戏,老鼠蹲下时猫不能抓它,但老鼠只能蹲五秒。体育老师当猫,我们当小老鼠。猫神气地说:“喵我先喝一口水,再去抓老鼠。”老鼠们听了哄堂大笑,然后都争先恐后地跑进游戏地点。游戏开始了,猫用敏锐的眼睛向四周看了看,见不远处有许许多多活蹦乱跳的小老鼠,它两眼发光,心想:有这么多老鼠可吃,我真是好运啊!猫猛地扑向老鼠,老鼠
正在加载中,请稍后...

我要回帖

更多关于 打地鼠游戏 的文章

 

随机推荐