質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

475閲覧

whileでどちらかが0になるまで続けるには

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2020/07/17 11:34

簡単なテキストゲームを作っています。私か敵のHPが0になるまで戦闘を続けたいのですが     
while a_hp && my_hp > 0 でなりません。どう直したらよいか教えてください。お願いします。

ruby

1 my_hp=100 2 my_power=70 3 4 a_name="スライム" 5 a_hp=70 6 a_power=25 7 8 9 10 11 12 puts("\n\n\n______________________\n\n「?????ト」\n______________________\n\n\n\n\n\n\n") 13 14 #sleep(3) 15 puts("\n*********************\n") 16 puts("\nなんと#{a_name}が現れた。\n") 17 puts("\nHP:#{a_hp}\n攻撃力#{a_power}\n") 18 puts("\n*********************\n\n") 19 #sleep (5) 20 21 22 #モンスターaの戦闘 23while a_hp && my_hp > 0 24 25 print("\n[コマンド]\n____________________\n\nアイテム='1'\n\n攻撃='2'\n\n現在のステータス='3'\n\nにげる='4'\n____________________\n") 26 print("入力しろ:") 27 yn = STDIN.gets.chomp 28 29 30 31 if yn == '2' 32 puts("\n私の攻撃!#{a_name}#{my_power}ダメージ\n") 33 sleep(2) 34 puts("#{a_name}の残りHP") 35 puts a_hp -=my_power 36 sleep(2.5) 37 puts("\n#{a_name}の攻撃!私に#{a_power}ダメージ\n") 38 sleep(2) 39 puts("私の残りHP") 40 puts my_hp -=a_power 41 sleep(2.5) 42 end 43 44 45end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どちらかが0になるまで続ける

は、そのまま書くといいです。

Ruby

1until a_hp <= 0 || my_hp <= 0 2 ~~~ 3end

Whileで書くと、

Ruby

1while a_hp > 0 && my_hp > 0 2 ~~~ 3end

投稿2020/07/17 11:41

編集2020/07/17 11:49
otn

総合スコア84802

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/07/17 11:45

なりました!ありがとうございますm(_ _"m)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問