本節目標:編寫程序,隨機生成蜘蛛從石頭處出來,隨機移動,如果蜘蛛碰到蜥蜴,那么游戲也將結束。

第一步:修改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)游戲「五」

至此本游戲的基本功能都已完成了,下一節將給蜥蜴增加一個投放炸彈的功能。

本站內容未經許可,禁止任何網站及個人進行轉載。