本节目标:编写程序,随机生成蜘蛛从石头处出来,随机移动,如果蜘蛛碰到蜥蜴,那么游戏也将结束。

第一步:修改Myworld的代码,在act()方法中添加如下代码,在世界中随机生成蜘蛛。

if (Greenfoot.getRandomNumber(700) < 5)
{
    addObject(new Spider(), 30, 30);
}

完整代码如图:

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「五」

第二步:让蜘蛛动起来,修改蜘蛛的代码,编辑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);
} 

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「五」

然后再回到蜘蛛的程序,判断蜘蛛如果碰到蜥蜴,将角色移除,并调用Myworld中的showEndMessage方法。

在act()方法中继续添加代码:

//如果碰到蜥蜴,移除蜥蜴
if (isTouching(Lizard.class) )
{
    removeTouching(Lizard.class);
    MyWorld world = (MyWorld)getWorld();
    world.showEndMessage();
}    

代码截图如下:

Greenfoot制作奔跑蜥蜴(Lizard Dash)游戏「五」

至此本游戏的基本功能都已完成了,下一节将给蜥蜴增加一个投放炸弹的功能。

本站内容未经许可,禁止任何网站及个人进行转载。