Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/152: Рейтинг темы: голосов - 152, средняя оценка - 4.87
25 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 94

Написать игру "Быки и коровы"

07.04.2012, 21:11. Показов 31025. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать игру "Быки и коровы" в форме С#. Это моя курсовая работа, судя потому как нам преподают программирование я не напишу ее, а нужно срочно. Через месяц надо сдать. Помогите пожалуйста!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2012, 21:11
Ответы с готовыми решениями:

Быки и коровы
Здраствуйте, делаю курсовую работу, нужно создать игру быки и коровы! программа работает, но препод задал сделать так, что бы количиство...

Игра в «Быки и коровы»
программа на С# Вот условие:Составить программу, позволяющую играть в «Быки и коровы»: а) игроку с компьютером*; б) двум игрокам. ...

Сравнение чисел по цифрам - Игра в «Быки и коровы»
Здравствуйте, необходимо написать программу, которая рандомно генерирует 4-ехзначное число с неповторяющимися цифрами, потом пользователь...

47
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.09.2012, 17:26
Студворк — интернет-сервис помощи студентам
DemonZverskii, интерфейс нет смысла делать, если от него надо наследовать единственный класс.. Да и тут делать нечего: уже готовый класс надо сделать только GUI.
в форме только ввод вывод?
Конечно. Нужно сделать как в консольке, только на винформе

Добавлено через 8 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication8
{
    internal class Game
    {
        private readonly string _secretNumber;
        private readonly int _length;
 
        public Game() : this(4) //В конструкторе по-умолчанию вызываем конструктор с int параметром, куда передаем 4
        {
        }
 
        public Game(int length)
        {
            _length = length;
            var r = new Random();
            var sb = new StringBuilder();
            var set = new HashSet<int>();
            while (sb.Length != length)
            {
                int x = r.Next()%10; //Генерируем число и берем остаток от деления по 10. То есть получаем цифру 0-9
                if (set.Contains(x)) continue; //Если мы это число уже генерировали, то генерируем заново
                sb.Append(x); //Иначе добавляем в строку
                set.Add(x);   //И в список использованных цифр
            }
            _secretNumber = sb.ToString();
        }
 
        public bool Try(string inputedNumber, out string result)
        {
            result = "";
            if (inputedNumber == _secretNumber) //Если число угадано, то возвращаем true
                return true;
            result = GetCowsAndTaurs(_secretNumber, inputedNumber, _length); //Иначе считаем количество угаданного
            return false; //И возвращаем, что число, в целом, не угадано
        }
 
        private static string GetCowsAndTaurs(string secretNumber, string inputedNumber, int length)
        {
            int cows = 0, taurs = 0;
            for (int i = 0; i < length; i++)
                if (secretNumber[i] == inputedNumber[i]) //Если число в точности стоит на том же месте, увеличиваем кол-во быков
                    taurs++;
                else if (secretNumber.Contains(inputedNumber[i])) //Иначе если число в принципе есть в загаданном слове, то увеличиваем коров
                    cows++;
            return string.Format("Быков : {0}\nКоров : {1} ", taurs, cows);
        }
    }
 
    internal class Program
    {
        private static void Main()
        {
            int length;
            do
            {
                Console.WriteLine("Введите длину загаданного слова");
            } while (!int.TryParse(Console.ReadLine(), out length));
            var game = new Game(length);
            while (true)
            {
                int x; //Нужен просто для проверки, является ли числом
                string inputedNumber;
                do
                {
                    Console.WriteLine("Введите предполагаемое число");
                    inputedNumber = Console.ReadLine();
                } while (!int.TryParse(inputedNumber, out x) ||
                         (!string.IsNullOrEmpty(inputedNumber) && inputedNumber.Length != length));
                /* Цикл, пока введенное число не является непустой строкой,
                 * которое можно преобразовать в число, 
                 * и длина которого соответствует длине нашего слова 
                 */
                string outString;
                if (!game.Try(inputedNumber, out outString))
                    Console.WriteLine(outString);
                else break;
            }
            Console.WriteLine("Вы угадали!!");
            Console.ReadKey();
        }
    }
}
1
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 74
02.09.2012, 19:14
Спасибо за правильные комментарии к коду. счас будем прикручивать
Долго еще онлайн будете?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.09.2012, 19:19
DemonZverskii, ну, думаю да, до конца этого дня почти точно
0
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 74
02.09.2012, 22:41
Чего то слабо понимаю следующее
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  internal class Program
    {
        private static void Main()
        {
            int length;
            do
            {
                Console.WriteLine("Введите длину загаданного слова");
            } while (!int.TryParse(Console.ReadLine(), out length)); // все в скобках хм в коде MrLong'a текст бокс был как например private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            var game = new Game(length);
            while (true)
            {
                int x;
                string inputedNumber;
                do
                {
                    Console.WriteLine("Введите предполагаемое число");
                    inputedNumber = Console.ReadLine();// здесь текст бокс второй по идее но все в цикле и не понимаю как тут к в форме это сделать
                } while (!int.TryParse(inputedNumber, out x) ||
                         (!string.IsNullOrEmpty(inputedNumber) && inputedNumber.Length != length));
               
                string outString;
                if (!game.Try(inputedNumber, out outString))
                    Console.WriteLine(outString);
                else break;
            }
            Console.WriteLine("Вы угадали!!");
            Console.ReadKey();
        }
    }
}
Пока проблема с этими текст боксами
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.09.2012, 23:33
Ну что с вами делать
Проект ниже. Экзешник запустить сможете, код открыть тоже (в крайнем случае, в блокнотике, если у вас не 11 студия)
Вложения
Тип файла: rar TaursAndCows.rar (53.0 Кб, 76 просмотров)
1
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 74
02.09.2012, 23:51
о) огроменное спасибо) хоть это готовый вариант программы) буду вовсем разбираться по тихоньку, возможно попробую чем то дополнить.

P.S. что посоветуете почитать по C# человеку владеющим этим всем на очень нубском уровне?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.09.2012, 00:00
DemonZverskii, Шилдт. Вот кстати исправленный вариант (там прокрутки нету в том, что выше, ну и всякие мелкие исправления). В общем, усовершенствовать дальше сами сможете. Удачи
Вложения
Тип файла: rar TaursAndCows.rar (55.1 Кб, 137 просмотров)
2
Почетный модератор
 Аватар для Памирыч
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
03.09.2012, 06:52
Раз вопрос решен, темку прикроем. А то я чувствую, жить ей ох как долго (сезон открывается)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.09.2012, 06:52

Игра "Быки и Коровы" Не могу посчитать быков и коров)
int k, z, x, y; int k1, z1, x1, y1; int a,bol,cow; int n; n = 1; //Счёчик...

Алгоритм игры "Быки и коровы"
Здравствуйте! Суть проблемы - плохо реализован алгоритм...вы загадываете 4х значное число без повторений, а компьютер должен его угадать. В...

Игра "Быки и коровы"
Помогите, пожалуйста, написать программу реализующую игру &quot;Быки и коровы&quot; методом решета. Программа должна позволять играть человеку...

Сделать игру быки и коровы в приложении WPF
С рандомной изначальной комбинацией из 4 цифр (Со скриншотами кода и самого окошка)

Regex: Сравнение чисел по цифрам (Игра в «Быки и коровы»)
Продолжение темы https://www.cyberforum.ru/csharp-beginners/thread3018265.html#post16436701 Есть 2 строки с числами: string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Закрытая тема Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru