本节目标:编写程序,随机生成蜘蛛从石头处出来,随机移动,如果蜘蛛碰到蜥蜴,那么游戏也将结束。
第一步:修改Myworld的代码,在act()方法中添加如下代码,在世界中随机生成蜘蛛。
if (Greenfoot.getRandomNumber(700) < 5) { addObject(new Spider(), 30, 30); }
完整代码如图:
第二步:让蜘蛛动起来,修改蜘蛛的代码,编辑act()方法,添加如下代码:
//随机改变方向 if ( Greenfoot.getRandomNumber(100) < 10 ) { turn(Greenfoot.getRandomNumber(90)-45); } //前进一步 move(1); // 如果碰到边缘改变方向 if ( isAtEdge() ) { turn(30); }
第三步:如果碰到了蜥蜴,就将蜥蜴移除,显示游戏结束。
编辑Myworld的程序添加一个 showEndMessage()方法,在世界中显示游戏结束和当前分数
//游戏结束 public void showEndMessage() { showText("Game Over", 290, 150); showText("Your final score: "+ score + " points", 270, 170); }
然后再回到蜘蛛的程序,判断蜘蛛如果碰到蜥蜴,将角色移除,并调用Myworld中的showEndMessage方法。
在act()方法中继续添加代码:
//如果碰到蜥蜴,移除蜥蜴 if (isTouching(Lizard.class) ) { removeTouching(Lizard.class); MyWorld world = (MyWorld)getWorld(); world.showEndMessage(); }
代码截图如下:
至此本游戏的基本功能都已完成了,下一节将给蜥蜴增加一个投放炸弹的功能。
本站内容未经许可,禁止任何网站及个人进行转载。