Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/48: Рейтинг темы: голосов - 48, средняя оценка - 4.54
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141

Крестики-нолики. Не могу написать код проверки выигрыша

07.04.2010, 18:08. Показов 9778. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача состояла в том, чтобы написать игру крестики-нолики с использованием массивов. Написала все. Застряла на функции проверки выигрыша. Не могу описать ее с помощью массива. Кто может помогите. Заранее благодарна!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2010, 18:08
Ответы с готовыми решениями:

Крестики-нолики. Не могу написать.
Доброе время суток! У меня вот такая проблемка: пишу курсовик, игру крестики нолики 5\5 на C#. времени в обрез, сижу над алгаритмом очень...

Крестики-нолики, написать условие выигрыша
uses GraphABC,Events; var i,j:integer; a:arrayof integer; ok,k:integer; yes:boolean; procedure Init; begin ...

Крестики нолики, нужно написать процедуру для вывода условий выигрыша
uses GraphABC,Events; var i,j:integer; a:arrayof integer; ok,k:integer; yes:boolean; procedure Init; begin ...

6
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
07.04.2010, 18:24
покажите код и поможем.
0
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
07.04.2010, 18:34  [ТС]
Вот мой код.

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
public partial class Form1 : Form
    {
        string[,] GameBoardArr;        
        string Turn = "X";
        int ActiveButtons;
 
        public Form1()
        {
            InitializeComponent();
            ActiveButtons = 9;
            GameBoardArr = new string [3, 3];
        }
 
        private void Button_Click(object sender, EventArgs e)
        {
            ActiveButtons--;
            Button btn = (Button)sender;
            btn.Text = Turn;            
            int BtnNum = int.Parse(btn.Tag.ToString());
            int i = (BtnNum - 1) / 3;
            int j = (BtnNum - 1) % 3;
            
            GameBoardArr[i, j] = Turn;
            btn.Enabled = false;
            
            CheckWin();
            if (ActiveButtons == 0)
            {
                MessageBox.Show("No Winner");
            }
        }
 
        // Need help with it
        private void CheckWin()
        {
            
        }
 
 
        private void switchTurns()
        {
            if (Turn == "X")
                Turn = "O";
            else
                Turn = "X";
        }
1
85 / 84 / 8
Регистрация: 03.11.2009
Сообщений: 723
07.04.2010, 22:37
не совсем что у тебя за массив, вот в этой теме, я выкладывал свою игру и там были небольшие обсуждения https://www.cyberforum.ru/dotn... page4.html
0
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
07.04.2010, 22:50
Вот посмотрите проверьте этот код на правильность
параметр symbol есть "X" или "0"
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
 bool CheckIsWin(string symbol)
        { 
            //Проверяем горизонталь и вертикаль
            int win = 0;
            int mdig, supdig, hor, ver;
 
            for (int i = 0; i < 3; i++)
            {
                hor = 0; ver = 0;
                for (int j = 0; j < 3; j++)
                {
                    if (GameBoardArr[i, j] == symbol)
                    {
                        hor++;
                    }
                    if (GameBoardArr[j, i] == symbol)
                    {
                        ver++;
                    }
                }
                if (hor == 3 || ver == 3)
                {
                    return true;
                }               
               
            }
            
            mdig = 0; supdig = 0;
            //Диагонали
            for (int i = 0; i < 3; i++)
            {
                if (GameBoardArr[i, i] == symbol)
                {
                    mdig++;
                }
                if (GameBoardArr[i,2 - i] == symbol )
                {
                    supdig++;
                }
            }
            if (mdig == 3 || supdig == 3)
            {
                return true;
            }
             
        }
2
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
08.04.2010, 15:13  [ТС]
Спасибо большое за помощь! Сейчас буду проверять код у себя... Но свою ошибку я уже поняла. Надо было мне самой догадаться использовать счетчики в loop. ) Ничего, в следующий раз.. ))
0
4 / 4 / 0
Регистрация: 21.03.2010
Сообщений: 64
15.11.2010, 11:48
А если размер 10 на 10 поле и выигрыш пять, как можно? Подскажите пожалуйста

можно даже на С++ или Паскале привести, если есть исходник
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2010, 11:48
Помогаю со студенческими работами здесь

Крестики нолики - установить факт выигрыша
ребят,помогите пожалуйста,пишу крестики нолики на с++,почти все сделал не знаю как реализовать функцию победы,т.е надо проверить когда тот...

Проверка выигрыша в игре крестики-нолики на увеличенном квадратном поле
Напишите программу, которая определяет, кто выиграл в крестики-нолики на увеличенном квадратном поле, выстроив подряд по горизонтали или по...

никак не могу написать крестики-нолики (5 в ряд)
прописал только таблицу как написать игру с компом ? помогите ..

Крестики-нолики: как написать код для того, чтобы программа могла объявить победителя?
И да, поле 5 на 5. Сам код: #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;Windows.h&gt; using namespace std; void...

Программа для проверки победы в игре крестики нолики
Текст задачи на одном из обучающих курсов: &quot;Методу GetGameResult передается поле, представленное массивом 3х3 из enum Markers. Вам надо...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru