Member 12686896 Ответов: 1

Как мне подсчитать и отобразить результаты игры для этого приложения камень, ножницы, бумага


Когда я запускаю это приложение, оно просто отображает "Пожалуйста, выберите камень, бумагу или ножницы" столько раз, сколько пользователь вводит для numPlays. Мне также нужно сохранить результаты в массиве и отобразить все результаты в конце. Кто-нибудь может указать мне правильное направление?

Что я уже пробовал:

основной класс:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Game rps = new Game();
            rps.start();
            rps.gameStart();
        }
    }
}




Игровой Класс:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Game
    {
        string name;
        int numPlays;
        int game;

        public void start()
        {
            Console.WriteLine("Welcome to rock, paper, scissors");
            this.userSettings();
        }

        public void userSettings()
        {
            Console.WriteLine("What is your name: ");
            name = Console.ReadLine();

            Console.WriteLine("How many games would you like to play?: ");
            Int32.TryParse(Console.ReadLine(), out numPlays);
            if (numPlays < 10)
            {
                while (numPlays % 2 == 0)
                {
                    Console.WriteLine("\nNumber is not odd try again.");
                    Console.WriteLine("How many games would you like to play?: ");
                    Int32.TryParse(Console.ReadLine(), out numPlays);
                }

                Console.ReadLine();
            }

            else
            {
                Console.WriteLine("Please insert number less than or equal to 9");
                this.userSettings();
            }


        }

        public void gameStart()
        {

        for(game = 1; game <= numPlays; game++)

            Console.WriteLine("Please choose Rock, Paper, or Scissors");
            string userSelection = Console.ReadLine();

            Random r = new Random();
            int computerSelection = r.Next(4);

            if (computerSelection == 1)
            {
                if (userSelection == "rock")
                {
                    Console.WriteLine("Computer Choice: Rock\n");
                    Console.WriteLine("This round is a tie");
                }
                else if (userSelection == "paper")
                {
                    Console.WriteLine("Computer Choice: Paper\n");
                    Console.WriteLine("This round is a tie");
                }
                else if (userSelection == "scissors")
                {
                    Console.WriteLine("Computer Choice: Scissors\n");
                    Console.WriteLine("This round is a tie");
                }
                else
                {
                    Console.WriteLine("You must choose either rock, paper or scissors");
                }
                Console.ReadLine();
            }

            else if (computerSelection == 2)
            {
                if (userSelection == "rock")
                {
                    Console.WriteLine("Computer Choice: Paper\n");
                    Console.WriteLine("You lose this round");

                }
                else if (userSelection == "paper")
                {
                    Console.WriteLine("Computer Choice: Scissors\n");
                    Console.WriteLine("You lose this round");

                }
                else if (userSelection == "scissors")
                {
                    Console.WriteLine("Computer Choice: Rock\n");
                    Console.WriteLine("You lose this round");
                }
                else
                {
                    Console.WriteLine("You must choose either rock, paper or scissors");
                }
                Console.ReadLine();
            }
            

            else if (computerSelection == 3)
            {
                if (userSelection == "rock")
                {
                    Console.WriteLine("The computer chose scissors");
                    Console.WriteLine("You win this round, rock beats scissors");

                }
                else if (userSelection == "paper")
                {
                    Console.WriteLine("The computer chose rock");
                    Console.WriteLine("You win this round,paper beats rock");

                }
                else if (userSelection == "scissors")
                {
                    Console.WriteLine("The computer chose paper");
                    Console.WriteLine("You win this round, scissors beats paper!");

                }
                else
                {
                    Console.WriteLine("You must choose either rock, paper or scissors");

                }
                Console.ReadLine();
            }
        }
    }
}

George Swan

Я бы предложил использовать таблицы поиска как для поиска, так и для хранения результатов.
https://en.wikipedia.org/wiki/Lookup_table

Perić Željko

Что бы произошло, если бы компьютер выбрал число ноль?

1 Ответов

Рейтинг:
1

Patrice T

Обучение программированию подобно обучению вождению автомобиля. Когда вы учитесь водить машину, вы должны изучить все дорожные знаки, прежде чем положить руки на руль, несмотря ни на что. То же самое и с программированием, есть набор техник, которые вам нужно изучить, прежде чем начинать свои собственные проекты.

мой Совет:
- Забудь пока об этом проекте.

- Изучайте язык, читая документацию.

- Следуйте туто, чтобы ознакомиться с общими техниками и концепциями.

- Изучите отладчик как можно скорее, это отличный инструмент, чтобы узнать, как ведет себя ваш код.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

- Изучите некоторые методы анализа/техники, , Метод Дейкстры сверху вниз это хорошее начало.
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[^]
https://en.wikipedia.org/wiki/Structured_programming[^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[^]

Помните, что упражнения и маленькие проекты tutos здесь не для того, чтобы сделать что-то полезное, они здесь для того, чтобы научить вас программированию.

Совет: добавьте отображение выбора компьютера, и вы увидите, что ваша программа полностью неверна.

Random r = new Random();
int computerSelection = r.Next(4);
Console.WriteLine(computerSelection);
Console.WriteLine("\n");