完成品の確認
じゃんけんゲーム_完成-kenchan2023-慧编程作品社区
慧编程作品社区
準備をしよう
下のURLをクリックして、mBlockを開いてください。
https://ide.mblock.cc/#/?cloudProjectId=3346402
プログラミングする
「Panda」のプログラム
初めの設定
下のコードを入れて下さい。
from mblock import event
@event.greenflag
def on_greenflag():
sprite.size = 80
sprite.x = -180
sprite.y = 120
sprite.say('左:グー、上:チョキ、右:パー')
Pandaの大きさと位置を決めています。
セリフを言う
下のコードを入れて下さい。
sprite.y = 120
sprite.say('左:グー、上:チョキ、右:パー')
セリフは、ゲームのプレイ説明の意味がありますので、ゲーム中に常に表示されているようにします。
プログラム確認
緑の旗を押して、動きを確認してください。以下が確認できればOKです。
- Pandaが画面左上のあたりに登場する
- 「左:グー、上:チョキ、右:パー」と常に言う
「Hand」のプログラム
初めの設定
下のコードを入れて下さい。
from mblock import event
@event.greenflag
def on_greenflag():
# 初めの設定
sprite.x = 0
sprite.y = 0
sprite.set_costume('Rock')
sprite.say('じゃんけん・・・')
Handの位置を決めています。
「じゃんけん・・・」と言って、ゲームを始めます。
じゃんけん 1回目、ゲームオーバー
下のコードを入れて下さい。(青のイタリック(斜体)の文字は、すでに入力したコードです。)
sprite.set_costume('Rock')
sprite.say('じゃんけん・・・')
# 1回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Paper')
if sprite.is_keypressed('up arrow'):
sprite.play('Collect')
sprite.say('やられた', 2)
sprite.say('じゃんけん・・・')
# ゲームオーバー
sprite.say('私の勝ちだ')
sprite.play_until_done('Lose')
sprite.stop_all()
- いずれかのキーが押されるまで、入力待ちをします。
- 押されたキーが上キー(チョキ)なら、「やられた」と言って、じゃんけんを続けます。
- 最後にゲームオーバーの処理をします。
この後、じゃんけんに3回勝つとゲームクリアになるようにします。その場合、ゲームオーバーは動かずにゲームが終了することになります。
じゃんけん 2回目
下のコードを入れて下さい。(青のイタリック(斜体)の文字は、すでに入力したコードです。)
さきほどのコードの間に挿入する形で入れます。
sprite.say('じゃんけん・・・')
# 2回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Rock')
if sprite.is_keypressed('right arrow'):
sprite.play('Collect')
sprite.say('やられた', 2)
sprite.say('じゃんけん・・・')
# ゲームオーバー
sprite.say('私の勝ちだ')
sprite.play_until_done('Lose')
sprite.stop_all()
- 押されたキーが右キー(パー)なら、「やられた」と言って、じゃんけんを続けます。
上記以外は、1回目とほぼ同じです。右キーでパーを出すと、勝ちでじゃんけんを続けます。
じゃんけん 3回目、ゲームクリア
下のコードを入れて下さい。(青のイタリック(斜体)の文字は、すでに入力したコードです。)
さきほどのコードの間に挿入する形で入れます。
sprite.say('じゃんけん・・・')
# 3回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Scissors')
if sprite.is_keypressed('left arrow'):
# ゲームクリア
sprite.say('私の負けだ')
sprite.play_until_done('Win')
sprite.stop_all()
# ゲームオーバー
sprite.say('私の勝ちだ')
sprite.play_until_done('Lose')
sprite.stop_all()
- 押されたキーが左キー(グー)なら、「やられた」と言って、ゲームクリアにします。
- ゲームクリアでは、音「Win」を鳴らした後、ゲームを止めます。
3回までじゃんけんに勝つとゲームクリアにします。ゲームクリアでは、ゲームを止めるので、ゲームオーバー処理が動かずにゲームが終わります。
プログラム確認
緑の旗を押して、動きを確認してください。以下が確認できればOKです。
- Handが、画面中央に出てくる
- 1回目=上キー(チョキ)、2回目=右キー(パー)、3回目=左キー(グー)でじゃんけんに勝てる
- いずれかの回で負けると、ゲームオーバーになる
- 3回すべて勝てると、ゲームクリアになる
すべてのプログラム(完成コード)
Panda
from mblock import event
@event.greenflag
def on_greenflag():
sprite.size = 80
sprite.x = -180
sprite.y = 120
sprite.say('左:グー、上:チョキ、右:パー')
Hand
from mblock import event
@event.greenflag
def on_greenflag():
# 初めの設定
sprite.x = 0
sprite.y = 0
sprite.set_costume('Rock')
sprite.say('じゃんけん・・・')
# 1回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Paper')
if sprite.is_keypressed('up arrow'):
sprite.play('Collect')
sprite.say('やられた', 2)
sprite.say('じゃんけん・・・')
# 2回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Rock')
if sprite.is_keypressed('right arrow'):
sprite.play('Collect')
sprite.say('やられた', 2)
sprite.say('じゃんけん・・・')
# 3回目
while not sprite.is_keypressed('any'):
pass
sprite.set_costume('Scissors')
if sprite.is_keypressed('left arrow'):
# ゲームクリア
sprite.say('私の負けだ')
sprite.play_until_done('Win')
sprite.stop_all()
# ゲームオーバー
sprite.say('私の勝ちだ')
sprite.play_until_done('Lose')
sprite.stop_all()
今回は、mBlockのゲーム作成の第3回ということで、「じゃんけんゲーム」を紹介しました。
次回もお楽しみに♪