Хочу создать игру в консоли на С# - C#

Узнай цену своей работы

Формулировка задачи:

[/CSHARP]Игра камень ножницы бумага.Суть игры Компилятор рандомно компилирует числа и со постовляет с твоими.К примеру Камень - 0;Ножницы-1;Бумага-2.При вода твоего числа он наугад ставит свое.

Решение задачи: «Хочу создать игру в консоли на С#»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace RPC
{
    class Program
    {
        public enum SCPType { Stone = 1, Scissors = 2, Paper = 3 }  // Перечисляемый тип: камень, ножницы, бумага
 
        /// <summary>
        /// Получение текстового наименования хода по его значению
        /// </summary>
        /// <param name="scpType">ход</param>
        /// <returns>текстовое наименование хода</returns>
        private static string GetTypeName(SCPType scpType)
        {
            string res = String.Empty;
 
            switch (scpType)
            {
                case SCPType.Stone:
                    {
                        res = "Камень";
                        break;
                    }
 
                case SCPType.Scissors:
                    {
                        res = "Ножницы";
                        break;
                    }
 
                case SCPType.Paper:
                    {
                        res = "Бумага";
                        break;
                    }
            }
 
            return res;
        }
 
        /// <summary>
        /// Сгенерировать ход компьютера
        /// </summary>
        /// <returns>возвращает выбранный компьютером ход</returns>
        private static SCPType GenerateCPUStep()
        {
            Random r = new Random();
            return (SCPType)(r.Next(1, 4));
        }
 
        /// <summary>
        /// Проверка на победу пользователя над компьютером
        /// </summary>
        /// <param name="user">ход пользователя</param>
        /// <param name="cpu">ход компьютера</param>        
        /// <returns>возвращает признак победы пользователя над компьютером</returns>
        private static bool Victory(SCPType user, SCPType cpu)
        {
            bool res = false;
 
            res = (
                    (user == SCPType.Scissors && cpu == SCPType.Paper) ||
                    (user == SCPType.Stone && cpu == SCPType.Scissors) ||
                    (user == SCPType.Paper && cpu == SCPType.Stone)
                  );
 
            return res;
        }
 
        static void Main(string[] args)
        {
            SCPType cpu = GenerateCPUStep();  // компьютер выбирает ход
            Console.WriteLine(String.Format("Выберите своё значение: {0} Камень: 1 {0} Ножницы: 2  {0} Бумага: 3 {0} И нажмите Enter", Environment.NewLine));
            
            int intUser = 0;  // ход юзера
            while(intUser < 1)
            {
                string strUserValue = Console.ReadLine();           
                int.TryParse(strUserValue, out intUser);
                if (intUser < 0 || !(intUser > 0 && intUser < 4))
                    Console.WriteLine("Необходимо ввести числовое значение от 1 до 3");
            }
 
            SCPType user = (SCPType)intUser;
            if (cpu == user)
                Console.WriteLine(String.Format("Ничья. Вы вместе с компьютером выбрали {0}", GetTypeName(cpu)));
            else if (Victory(user, cpu))
                Console.WriteLine(String.Format("Вы победили. Вы выбрали {0}, а компьютер {1}", GetTypeName(user), GetTypeName(cpu)));
            else
                Console.WriteLine(String.Format("Вы проиграли. Вы выбрали {0}, а компьютер {1}", GetTypeName(user), GetTypeName(cpu)));
 
            Console.WriteLine("Нажмите ввод, чтобы выйти");
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5
Похожие ответы