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

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

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

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

解決済

rubyであっち向いてホイを完成させたい

diego
diego

総合スコア3

Ruby

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

1回答

-1評価

0クリップ

215閲覧

投稿2022/06/26 15:06

ruby

コード ``puts "あっち向いてホイを始めます" puts "ジャンケン・・・" class JankenAcchimuite def initialize (draw ="あいこ",lose ="負け",win ="勝ち") @draw = draw @lose = lose @win = win end def janken #実装する puts "[0]グー,[1]チョキ,[2]パー" player_hand = gets.to_i program_hand = rand(3) jankens = ["グー","チョキ","パー"] puts "あなたの手:#{jankens[player_hand]},相手の手:#{jankens[program_hand]}" if player_hand == program_hand puts "#{@draw}" return true elsif (player_hand == 0 && program_hand == 2 ) ||( player_hand == 1 && program_hand == 0 )||( player_hand == 2 && program_hand == 1) puts "#{@lose}" return false elsif (player_hand == 0 && program_hand == 1 ) ||( player_hand == 1 && program_hand == 2 )||( player_hand == 2 && program_hand == 0) puts "#{@win}" return false end next_game = true while next_game next_game = janken end def acchimuite_hoi puts "0(上)1(下)2(左)3(右)" player_direction = gets.to_i program_direction = rand(4) directions = ["上","下","左","右"] puts "あなた:#{directions[player_direction]} 相手:#{directions[program_direction]}" if player_direction == program_direction if puts "#{@win}" elsif puts "#{@lose}" end else puts "#{@draw}" end end end end result1 = JankenAcchimuite.new("あいこ","あっち向いて","あっち向いて") puts result1.janken result2 = JankenAcchimuite.new("もう一度ジャンケンを行います","負けました","勝ちました") puts result2.acchimuite_hoi### 前提 以下のエラーを解決することができません。 今の状態ではメソッドが定義されていないということでしょうか? 調べて同じ形式でコードを書いたつもりでしたがエラーメッセージが出てしまい解決できませんでした。 宜しくお願いします。 エラーメッセージ ```/home/ec2-user/environment/game/game.rb:60:in `<main>': undefined method `acchimuite_hoi' for #<JankenAcchimuite:0x000000000124d988> (NoMethodError)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

melian

2022/06/26 15:25

end の位置がおかしい箇所があります。 while next_game next_game = janken end end # ここに end が必要 def acchimuite_hoi それと以下。 end end end # この end を削除 end result1 = JankenAcchimuite.new("あいこ","あっち向いて","あっち向いて") puts result1.janken
diego

2022/06/26 15:38

回答ありがとうございます! endの位置は盲点でした...一体何日無駄にしたのだろうか... 追加でお聞きしたいのですが、whileであいこの場合ジャンケンをループさせたいのでtrue,falseを返しているのですが、あいこの場合でもあっち向いてホイにつながってしまいます。 どこかおかしい場所はありますか?

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby

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