スクラッチプログラミング - ドッジボールゲームのつくりかた - Part 1

ボールをあててあそぶドッジボールゲームをつくってみましょう。矢印(やじるし)キーでプレイヤーを操作(そうさ)して左右(さゆう)にうごかしながら、相手(あいて)にむかってボールをなげるプログラムをつくります。

スクラッチプログラミング - ドッジボールゲームのつくりかた - Part 1
Photo by Robert Collins / Unsplash

更新日:2023年12月27日

サンプルさくひんであそんでみよう

今回(こんかい)は、コンピューターと対戦(たいせん)するドッジボールを紹介(しょうかい)します。

ゲームのあそびかた

  • 手前(てまえ)のキャラを、左右(さゆう)の矢印(やじるし)キー、または画面(がめん)タッチでうごかします。
  • うわむき矢印(やじるし)キー、またはキャラをタップでボールをなげます。

(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)

👉
Pyxofy が電子書籍を出版しました!Scratch の基本をまとめた「きょうからはじめるスクラッチプログラミング入門」 詳細はこちら → Pyxofy Books

Part 1でやること

Part 1では、自分(じぶん)が操作(そうさ)するプレイヤーを左右(さゆう)にうごかしながら、ボールをなげるプログラムをつくっていきますよ。

ドッジボールコートに表示されているプレイヤーとボール
ドッジボールコートに表示されているプレイヤーとボール

Part 2 では、対戦相手(たいせんあいて)をうごかして、ボールをなげるプログラムをつくります。 Part 3 では、ライフ(HP)を設定(せってい)して、ゲームを完成(かんせい)させます。

はいけいとスプライトをよういしよう

背景(はいけい)と、スプライトを4つ用意(ようい)してください。

  1. 自分(じぶん)が操作(そうさ)する、「プレイヤー」
  2. プレイヤーがなげる、「プレイヤーのボール」
  3. 対戦(たいせん)する、「あいて」
  4. 相手(あいて)がなげる、「あいてのボール」
ドッジボールコートの背景とスプライト4つ
ドッジボールコートの背景とスプライト4つ

最初(さいしょ)にプログラミングしていくのは、プレイヤーです。矢印(やじるし)キーでうごかして、ボールをなげられるようにしていきましょう。

プレイヤーをうごかそう

プレイヤーは、 矢印(やじるし)キーで操作(そうさ)できるようにします。よこにうごかすためにつかうのは、左右(さゆう)の矢印(やじるし)キーです。「もしはしについたら、はねかえる」ブロックで、ステージのはしにいきすぎないようにしてくださいね。

  • よこにうごかす
矢印キーが押されたとき、x座標が変わるようにする
矢印キーが押されたとき、x座標が変わるようにする

ステージのはしではねかえるときに、さかさまにならないように、回転方法(かいてんほうほう)を左右(さゆう)のみにしておきます。最初(さいしょ)の位置(いち)もきめておきましょう。

  • 回転方法(かいてんほうほう)と座標(ざひょう)を指定(してい)する
回転方法を左右のみにして、座標はステージの下側中央にする
回転方法を左右のみにして、座標はステージの下側中央にする

プレイヤーを左右(さゆう)にうごかせるようになりました!

ボールをなげよう

ボールをなげるためにつかうのは、うわむき矢印(やじるし)キーです。キーがおされたときに、ボールをなげる合図(あいず)を メッセージでおくります。

  • キーがおされたとき、メッセージをおくる
もし上向き矢印キーが押されたなら、「プレイヤーが投げる」を送る
もし上向き矢印キーが押されたなら、「プレイヤーが投げる」を送る

メッセージをうけとるのは、プレイヤーがなげるボールです。「プレイヤーのボール」のスプライトをクリックしてから、ブロックを追加(ついか)していきますよ。

「プレイヤーのボール」をプログラミングしよう

メッセージをうけとるまでは、ボールはみえないようにしておきます。メッセージをうけとったときに、プレイヤーとおなじ位置(いち)に表示(ひょうじ)しましょう。

  • 最初(さいしょ)はかくしておいて、ボールをなげるときに表示(ひょうじ)する
「プレイヤーが投げる」を受け取ったとき、表示する
「プレイヤーが投げる」を受け取ったとき、表示する

ボールを表示(ひょうじ)したとき、もしかしたら、ボールがプレイヤーより手前(てまえ)になっていませんか?もしそうだったら、プレイヤーに「さいぜんめんへいどうする」ブロックを追加(ついか)しておいてくださいね。

プレイヤーが最前面に表示されている
プレイヤーが最前面に表示されている

ボールをなげたあと、相手(あいて)のほうへうごいていく様子(ようす)をあらわすために、遠近感(えんきんかん)をだしましょう。最初(さいしょ)はボールのサイズをおおきくしておきます。

  • 「おおきさを(150)%にする」を追加(ついか)する
サイズを大きくしてから表示する
サイズを大きくしてから表示する

相手(あいて)のほうへうごかしながら、だんだんちいさくしていきますよ。ボールがコートの外(そと)までうごいたら、みえなくしましょう。

  • おおきさとy座標(ざひょう)をかえながらうごかして、かくす
サイズを小さくしながらステージの上側まで動かし続けた後、隠す
サイズを小さくしながらステージの上側まで動かし続けた後、隠す

うわむき矢印(やじるし)キーをおしたときに、ボールがプレイヤーのところに表示(ひょうじ)されて、相手(あいて)のほうへなげられるようになりました!

プレイヤーのボールを動かすプログラム
プレイヤーのボールを動かすプログラム

でもこのままだと、うわむき矢印(やじるし)キーを連打(れんだ)した場合(ばあい)、ボールがずっとプレイヤーのところに表示(ひょうじ)されてしまって、なげることができません。

ボールを1こずつなげよう

うわむき矢印(やじるし)キーの連打(れんだ)に、反応(はんのう)しないようにしましょう。ボールをなげおわるまで、つぎのボールをなげられないようにしますよ。そのためにつかうのは、変数(へんすう)です。

  • 変数(へんすう)「ボール」をつくる
「ボール」という名前で変数を作る
「ボール」という名前で変数を作る

うわむき矢印(やじるし)キーをおしたときにボールをなげられるかどうかを、「ボール」という変数(へんすう)で確認(かくにん)できるようにします。

  • 変数(へんすう)「ボール」が「1」のとき、ボールをなげられる
  • 変数(へんすう)「ボール」が「0」のとき、ボールをなげられない

「プレイヤー」にブロックをついかしよう

「プレイヤー」のスプライトをクリックしてから、変数(へんすう)のブロックを追加(ついか)しましょう。うわむき矢印(やじるし)キーがおされたときに、変数(へんすう)を確認(かくにん)します。

  • もし変数(へんすう)が「1」なら、メッセージをおくる
変数「ボール」が「1」なら、メッセージを送ってボールを投げられる
変数「ボール」が「1」なら、メッセージを送ってボールを投げられる

「プレイヤーのボール」にブロックをついかしよう

つづいて、「プレイヤーのボール」のスプライトをクリックしてから、変数(へんすう)のブロックを追加(ついか)します。

  • 最初(さいしょ)はボールをなげられるようにしておく
「旗が押されたとき」ブロックの下に「ボールを1にする」ブロックを追加する
「旗が押されたとき」ブロックの下に「ボールを1にする」ブロックを追加する

メッセージをうけとったあと変数(へんすう)を「0」にして、うわむき矢印(やじるし)キーの連打(れんだ)に反応(はんのう)しないようにします。ボールがステージのうえまでうごいたら変数(へんすう)を「1」にして、ふたたびボールをなげられるようにしましょう。

  • 「ボールを0にする」と「ボールを1にする」を追加(ついか)する
「プレイヤーが投げるを受け取ったとき」ブロックの下に、変数(へんすう)のブロックを2つ追加する
「プレイヤーが投げるを受け取ったとき」ブロックの下に、変数(へんすう)のブロックを2つ追加する

プログラムかんせい

プレイヤーを操作(そうさ)して、ボールを1こずつなげられるようになりました!

プレイヤーを左右に動かしてボールを投げるプログラム
プレイヤーを左右に動かしてボールを投げるプログラム
プレイヤーのボールを1個ずつ動かすプログラム
プレイヤーのボールを1個ずつ動かすプログラム

「きょうからはじめるスクラッチプログラミング入門」Pyxofy (著)

Pyxofy が Scratch の基本をまとめた電子書籍を出版しました。
Kindle・Apple Books からご購入ください。

詳細はこちら

まとめ

今回(こんかい)は、プレイヤーを左右(さゆう)にうごかして、ボールをなげられるようにプログラミングしました。

ここでは、プレイヤーを片手(かたて)で操作(そうさ)できるように、ボールをなげるときに「うわむき矢印(やじるし)キー」をつかいました。両手(りょうて)で操作(そうさ)したいときは、矢印(やじるし)きーではなく、「スペースキー」でボールをなげられるようにするといいですよ。

次回(じかい) は、自動(じどう)でうごく対戦相手(たいせんあいて)をつくっていきますよ。おたのしみに!

最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!

かんれんきじ

スクラッチプログラミング - やじるしキーでスプライトをうごかそう
キーボードをつかってスプライトをうごかすためには、キーがおされたかどうかをしらべるブロックをつかいます。上下左右の「やじるしキー」で、スプライトをそうさできるようになりましょう。
スクラッチプログラミング - 「メッセージ」でタイミングをあわせよう
「メッセージ」は、ゲームやアニメーションをつくるときによくつかわれるブロックです。スプライト同士(どうし)で「メッセージ」をおくったりうけとったりして、うごきのタイミングをあわせることができますよ。
スクラッチプログラミング - 「へんすう」でかずをかぞえよう
「変数(へんすう)」で、ゲームでの得点(とくてん)やのこりじかんをかぞえる方法(ほうほう)をしょうかいします。変数(へんすう)はプログラミングでよくつかわれます。どういうものなのか、一緒(いっしょ)に見ていきましょう。