turtleでゲームを作っています。
turtleでシューティングゲームを作っています。
playerがあるサイズまで小さくなったらGAME OVERという画像が出てくるようにしたいと思っています。
質問
if(player.size ==(5,5) ) {
back.warp (550,400);
}
というプログラムを入力すると、')'がありませんと出ます。
if(player.size(5,5) ) {
と入力するとvoidをbooleanに変換できませんと出ます。(これの理由は分かりましたが、解決方法が分かりません。)
どちらかの解決方法をお願いします。
ダメそうなら別の方法でもかまいません。
またplayerに画像を貼っているのでその画像のサイズがいくつになったらGAME OVERという画像がでてくるようしようかと考えましたが、わかりませんでした。ちなみに画像は同じプロジェクトに入っています。
public class Game extends Turtle {
//起動処理 public static void main(String[] args) { Turtle.startTurtle(new Game(), args); } //タートルを動かす処理 public void start() { //画面の調整 window.setSize(1100, 800); window.warp(100, 100); // バックグラウンド画像 ImageTurtle bg = new ImageTurtle("bg.jpg"); int score; //得点を入れる変数 //得点板の生成 TextTurtle scoreBoard = new TextTurtle(); //scoreBoardという名前のTextTurtleを生成 //キャラクターの生成 ImageTurtle enemy1 = new ImageTurtle("Star.png");//enemyという名前の星を生成 ImageTurtle player = new ImageTurtle("player.png");//playerという名前の銃を生成 ImageTurtle bullet = new ImageTurtle("bullet.png");//bullet(弾)という名前の円を作成 ImageTurtle item1 = new ImageTurtle("oil.png"); ImageTurtle back = new ImageTurtle("gameover.jpg"); // 音楽の生成 SoundTurtle hit = new SoundTurtle("hit.mp3"); hit.loadOnMemory(); SoundTurtle fire = new SoundTurtle("fire.mp3"); fire.loadOnMemory(); SoundTurtle out = new SoundTurtle("out.wav"); out.loadOnMemory(); SoundTurtle kinoko = new SoundTurtle("kinoko.wav"); kinoko.loadOnMemory(); SoundTurtle bgm = new SoundTurtle("bgm.mp3"); // BSound bgm = new BSound("bgm.mp3"); bgm.play(); //弾を適切な大きさに調整 bullet.size(20, 20); //キャラクターの位置を調整 enemy1.warp(200, 100); player.warp(440, 350); bullet.warp(-100, -100);//弾は最初見えない位置に置いておく item1.warp(600,5); back.warp(2000,1500); //得点板の位置を調整 scoreBoard.warp(1000, 50); //得点を初期化 score = 0; while (true) { // --- 待つ --- sleep(0.025); // --- 処理 --- //敵を動かす(流れ星と一緒) enemy1.warp(enemy1.x(), enemy1.y() + 8 ); enemy1.rt(10); //アイテムを動かす item1.warp(item1.x(), item1.y() +10 ); item1.rt(10); //もし,敵が上端だったら if (enemy1.y () > 800) { enemy1.warp(enemy1.x(), 0 );//上端にワープ } //もしアイテムが上端だったら if (item1.y () > 800) { item1.warp(item1.x(), 0 ); } //銃を左右に動かす if (key() == 37) { //左 player.warp(player.x() -10
,player.y() );
} else if (key() == 39) { // 右
player.warp(player.x() +10, player.y() );
}
// 銃を上下に動かす if(key() == 38) { //上 player.warp(player.x(),player.y() -8 ); } else if (key() == 40) {// 下 player.warp(player.x(), player.y() + 8); } //スペースが押されたら, if (key() == 32) { //弾を出す(弾を銃と同じ位置にする) bullet.warp(player.x(), player.y() ); fire.play(); } //弾を上に動かす //(見えなくても,上に動かし続ける) bullet.warp(bullet.x(), bullet.y() - 15) ; //もし,弾が敵に当たっていたら if (bullet.intersects(enemy1) ) { enemy1.warp(random(1100),0);//enemyを動かす score++;//得点を増やす // 衝突音を鳴らす hit.play(); } //もしアイテムがplayerに当たったら if (item1.intersects(player) ) { player.large(20);//playerを大きくする item1.warp(item1.x() - 200,0); kinoko.play(); } //もしplayerがenemyに当たったら if (player.intersects(enemy1) ) { player.small(10);//playerを小さくする out.play();//衝突音を鳴らす } if(player.size(5,5) ) { back.warp(550,400); } //得点版の数字を更新 scoreBoard.text(score); //再描画 update(); } }
}
補足情報(FW/ツールのバージョンなど)
Ronpro Editor のturtleを使っています。
