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

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

新規登録して質問してみよう
ただいま回答率
86.12%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

解決済

C#のジャンケンゲームの作成について

saito_666
saito_666

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

1回答

0グッド

0クリップ

305閲覧

投稿2022/12/05 03:34

前提

ここに質問の内容を詳しく書いてください。
現在C# で5回勝負のじゃんけんゲームの作成に取り組んでいるのですが、作ったコードに対して実行をしてもユーザー名の入力の箇所で止まってしまい、じゃんけんにまで進めない状況です。
理由が分からず、どなたか教えて頂けないでしょうか?

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • ▲▲機能を動作するようにする

発生している問題・エラーメッセージ

ユーザー名の入力の後が実行されない。

### 該当のソースコード ```C# ソースコード

using System;

namespace Ensyuu007
{
static class Program
{
static int CntWin = 0; //勝利回数
static int CntLose = 0; //敗北回数
static int CntDraw = 0; //引分回数
//ユーザー名の入力
static void Main(string[] args)
{
string EnterName = Console.ReadLine();
Console.WriteLine("ユーザ名を入力してください: {0}", EnterName);

Console.ReadLine(); } //じゃんけんを開始するメソッド。 static void Start() { for (int GameCnt = 0; GameCnt <= 5; GameCnt++) { Console.WriteLine("手を入力してください(グー1、チョキ2、パー3):"); //自分の出す手を入力します。 string Myhand = Console.ReadLine(); //正しく入力されたかチェックします。 Check(ref Myhand); //コンピューターとじゃんけんさせます。 Janken(ref Myhand); } } //正しく入力されたかチェックを行うメソッド。 static string Check(ref string Myhand) { Console.WriteLine("手を入力してください(グー1、チョキ2、パー3):{0}", Myhand); //正しく入力されたかチェックします。 Check(ref Myhand); //0,1,2が入力された場合 if (Myhand.Equals("1") || Myhand.Equals("2") || Myhand.Equals("3")) { //入力した数字をそのまま返します。 return Myhand; } //1,2,3以外が入力された場合 else { Console.WriteLine("LOSE(反則負け)"); CntLose++; //敗北回数に加算 return Myhand; } } //コンピュータと自分の入力した手を判別するメソッド static void Janken(ref string Myhand) { // Random クラスの新しいインスタンスを生成する Random ran = new System.Random(); //コンピュータの出す手を1以上3以下に設定する。 string[] com = new string[] { "1", "2", "3" }; string con = ran.Next(3).ToString(); //配列型、変数teに出す名前を設定 string[] te = { "グー", "チョキ", "パー" }; //コンピュータが勝利した場合 if (((Myhand == "1") && (con == "3")) || ((Myhand == "2") && (con == "1")) || ((Myhand == "3") && (con == "0"))) { Console.WriteLine("あなた:" + te.GetValue(int.Parse(Myhand))); Console.WriteLine("コンピュータ:" + te.GetValue(int.Parse(con))); Console.WriteLine("LOSE"); CntLose++; //敗北回数に加算 } //自分が勝利した場合 else if (((Myhand == "1") && (con == "2")) || ((Myhand == "2") && (con == "3")) || ((Myhand == "3") && (con == "1"))) { Console.WriteLine("あなた:" + te.GetValue(int.Parse(Myhand))); Console.WriteLine("コンピュータ:" + te.GetValue(int.Parse(con))); Console.WriteLine("WIN"); CntWin++; //勝利回数に加算 } //あいこだった場合 else { Console.WriteLine("あなた:" + te.GetValue(int.Parse(Myhand))); Console.WriteLine("コンピュータ:" + te.GetValue(int.Parse(con))); Console.WriteLine("DRAW"); CntDraw++; //引分回数に加算 } } static void Resurut() { if (CntWin > CntLose) { Console.WriteLine("総合勝利です"); } else if (CntLose < CntWin) { Console.WriteLine("CPUの総合勝利です"); } else if (CntWin == CntLose) { Console.WriteLine("引き分けです"); } } }

}

以下のような質問にはグッドを送りましょう

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

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

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/12/05 13:10

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

kikukiku

2022/12/05 04:49

どこまで自身の思い通りに動作しているか? どこから思い通りにならないのか? 上記を明確にするために、デバックをしましょう。 明確になったら自身で解決できるかもしれませんし、 自身で解決できなかったら、そこで初めて質問すれば 回答が付くと思います。
fana

2022/12/05 05:17

とりあえず,質問のコード表示がぐちゃぐちゃになっていたら直すくらいはして欲しいな. あえてわざわざそういう状態の投稿をしているのでもないだろうから,それを見る側からしたら「これは,意図せず{何かが消えてる,前後している,etc}状態なのかもしれない」と思うわけで.
y_waiwai

2022/12/05 06:17

このままではコードが読みづらいので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください

回答1

0

ベストアンサー

じゃんけんにまで進めない状況です。理由が分からず、どなたか教えて頂けないでしょうか?

現時点で質問文内で示されているコードをそのまま信じるとすれば,Mainメソッドの中身は以下となる.
この場合,プログラムの動作としてはこの3行分の処理を実施して終わるだけとなるのだから,「じゃんけん」なるものが勝手に動き始めるハズがない.

static void Main(string[] args) { string EnterName = Console.ReadLine(); Console.WriteLine("ユーザ名を入力してください: {0}", EnterName); Console.ReadLine(); }

投稿2022/12/06 02:05

fana

総合スコア10641

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。