Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 26

Нужно создать "Крестики-нолики" (MFC)

26.05.2011, 18:33. Показов 2516. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно создать игру крестики-нолики с ИИ. Должен быть графический интерфейс. Я начал делать так:
создал 9 кнопок(button) и каждой добавил переменную элемента управления id1,id2..id9. Пока сделано вот что: нажимаем на одну кнопку на ней появляется "Х и она блокируется, при следующем нажатии на одну из оставшихся восьми кнопок появиться "0" и т.д. Для этого мне пришлось 9 раз писать вот этот кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void CouthsandcrossesDlg::OnBnClickedButton1()
{
    // TODO: добавьте свой код обработчика уведомлений
    if(flag==0)
    {
        CString cross_zero;
        cross_zero="X";
        id1.SetWindowTextW((LPCTSTR)cross_zero);
        flag=1;
        GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
    }
    else
    {
        if(flag==1)
        {
        CString cross_zero;
        cross_zero="O";
        id1.SetWindowTextW((LPCTSTR)cross_zero);
        flag=0;
        GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
        }
    }
}
Думаю что для обработки результата, ну для определения победителя, id понадобятся и удобно обрабатывать их циклом, но я не знаю как делать цикл для переменных управления. Как делать цикл для таких переменных? И если не сложно намекните как делать искусственный интеллект (ну или что-то на него похожее, ИИ это слишком сильно сказано=) )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2011, 18:33
Ответы с готовыми решениями:

крестики нолики
разбираю игру крестики нолики) хотелось бы сделать, чтобы можно было пользователю выбирать цвет карандаша, допустим из 3х цветов, синий,...

Крестики-нолики
у кого-то есть программа "Крестики-нолики", написана в среде программирования в Visual C++

Нужно создать игру крестики-нолики с неограниченным полем, что выбрать для работы с графикой и окнами?
Нужно создать игру крестики-нолики с неограниченным полем, что выбрать для работы с графикой и окнами (консоль неприемлема). Как я понял...

3
Заблокирован
27.05.2011, 02:41
Цитата Сообщение от Feodarron Посмотреть сообщение
создал 9 кнопок(button) и каждой добавил переменную элемента управления id1,id2..id9.
Неправильно. Создай массив кнопок.
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 26
27.05.2011, 09:23  [ТС]
вот как создать массив КНОПОК? у меня с этим проблемы.
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 26
30.05.2011, 22:19  [ТС]
Помогите плиз написать крестики нолики в MFC у меня есть 9 кнопок для каждой такой вот код, ну только id разные
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
void CouthsandcrossesDlg::OnBnClickedButton1()
{
    // TODO: добавьте свой код обработчика уведомлений
    //flag=rand()%2; 
    
    if(flag==0)
    {
        CString cross_zero;
        cross_zero="X";
        id1.SetWindowTextW((LPCTSTR)cross_zero);// idi
        flag=1;
        GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
        int a;
        a=flag;
        filling inp(a);
        }
    else
    {
        if(flag==1)
        {
        CString cross_zero;
        cross_zero="O";
        id1.SetWindowTextW((LPCTSTR)cross_zero);
        flag=0;
        GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
        }
    }
}
есть хедер файл где я хочу заполнить двусторонюю очередь(мне нужно использовать контейнеры), вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include"stdafx.h"
#include<deque>
#include<stdlib.h>
using namespace std;
class filling{
public:
    int id_button;
    deque <int> map();
    filling(int flagg);
};
filling::filling(int flagg)
{
    filling.insert(iterator (2), flagg);
};
тут есть попытки передать флаг в функцию класса но что то тут не выходит... подскажите пожалуйста как реализовать таким способом заполнение очереди. Объяснялось мне это все крайне плохо практически это вынесено на самообучение. По моему MFC не та вещь которую легко изучить самому...
Очень рассчитываю на вашу помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2011, 22:19
Помогаю со студенческими работами здесь

Крестики нолики, нужно немного дописать
Помогите пожалуйста. Нужно дописать код что бы пользователь не смог вводить уже введенное(выбранное). Если выбрали нолик, то туда уже...

Нужно разобраться в коде. Крестики нолики
В общем нужно разобраться в коде и детально понять как что работает. Помогите пожалуйста:) #include &lt;iostream&gt; #include...

Создать игру крестики нолики на бесконечном поле
создать игру крестики нолики на бесконечном поле с++ а)с компьютером б)двум игрокам Добавлено через 2 минуты прошу помогите...

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

Как создать логическую игру “Крестики-нолики” на консоли функцию winner не могу до делать c++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;iomanip&gt; using namespace std; int polya; class o; class x { ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru