本节目标:编写程序,随机生成蜘蛛从石头处出来,随机移动,如果蜘蛛碰到蜥蜴,那么游戏也将结束。
第一步:修改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();
}
代码截图如下:
至此本游戏的基本功能都已完成了,下一节将给蜥蜴增加一个投放炸弹的功能。
本站内容未经许可,禁止任何网站及个人进行转载。



