|
0 / 0 / 0
Регистрация: 05.03.2023
Сообщений: 1
|
||||||
Оцените и посоветуйте как можно улучшить код Крестики-нолики05.03.2023, 19:56. Показов 17264. Ответов 284
Метки нет (Все метки)
Я учусь в 10 классе и для индивидуального проекта мне нужно чтобы вы оценили и как-то посоветовали улучшить код программы крестики нолики на C++. Вот сам код:
0
|
||||||
| 05.03.2023, 19:56 | |
|
Ответы с готовыми решениями:
284
Крестики-нолики, улучшить программу Как оптимизировать данный код игры крестики нолики? Оцените игру крестики нолики (Player vs Bot easy) |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 13.03.2023, 21:38 | |||
|
Добавлено через 36 секунд
0
|
|||
|
Just Do It!
|
|
| 13.03.2023, 21:48 | |
|
SmallEvil,
в сишке же есть структуры. не хочешь С++, но сишные структуры то можно же использовать? кто или что запрещает??? и return в сишном стандарте тоже есть. Добавлено через 4 минуты
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 13.03.2023, 21:51 | ||||
|
Можно и структуру. Это не принципиально. Она же будет только в этом "интерфейсе" и использоваться. Так зачем что-то городить ? Добавлено через 1 минуту
0
|
||||
|
Just Do It!
|
|||
| 13.03.2023, 22:15 | |||
|
кого то от крестов воротит, а меня вот от сишкокода) Добавлено через 5 минут а также нагляднее - точка это точка - ОДНА переменная на входе. ну, может и по другому надо её назвать, например, как в виндозе COORD входные переменные это входные, а что возвращается видно - тоже видно за три версты. а так нужно ещё догадаться, для чего это использовать. не мною это придумано! уже 50 лет как все джедаи так прогают. я не беру тех свреходаренныз физиков с машкодами... чей код никто никогда не читает.
0
|
|||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|
| 13.03.2023, 22:48 | |
|
1. Освоить GUI и написать красивые крестики-нолики, комп может ходить хоть рэндомом.
2. Заменить рэндом на ИИ.
0
|
|
|
Just Do It!
|
||
| 13.03.2023, 23:15 | ||
|
осталось ИИ написать. Добавлено через 3 минуты Royal_X, SmallEvil, добавил твой стандарт: https://github.com/BDOTimer/cf... _SmallEvil чуть позже прикручу. там надо вот с нуля написать: void set_point(int x, int y, bool color){ где что брать.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||
| 13.03.2023, 23:27 | |||||
|
По дефолту Рендзю начинается с черной фишки в центре поля. Ход дается Игроку играющему белыми. Добавлено через 3 минуты От Royal вроде, бы и норм все, но плохо поддается модернизации. WinAPi колода еще та. Придется тест делать либо в консоли, либо таки на Qt запилю. Хотя консоль ближе. С виджетами опять, либо дешево и деревьяненько, либо долго и не интересно. Добавлено через 3 минуты То есть не освоит GUI, а лишь взять другую версию арбитра, и прицепить к нему GUI. Добавлено через 1 минуту
1
|
|||||
| 14.03.2023, 00:05 | ||
|
Не по теме:
https://ru.wikipedia.org/wiki/Рэндзю всего лишь крестонолики хотел сделать)) а там аш международка проходит ... студентом в го я играл, пока проигрывал все со мной охотно играли, а когда перестал проигрывать все забили на го)
0
|
||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
||
| 14.03.2023, 00:11 | ||
- первый игрок ставит 2 черных и 1 белый камешек - потом второй игрок решает, играть белыми или черными - когда цвета определились, белые ставят один белый камешек - черные ставят 2 черных камешка - белые убирают один из двух черных камешек, установленных во время предыдущего хода - белые ставят белый камешек И дальше игра идёт как обычно, каждая сторона по камню за ход. И таких странностей в рендзю очень много. Что я прилагаю? Облегчить жизнь! 1) Заранее выбрать один размер доски (например, 15х15, но не тривиальные 3х3) и количество камней для победы (например, 5, но ни в коем случае 3 для большой доски). Также предлагаю заранее выбрать максимальное время на ход (например, 5 с). 2) не усложнить игру лишними правилами. По сути, правила должны состоять в том, что игроки просто по очереди делают ходы, пока кто-то не победит или не будет ничья. Разумеется, что первый игрок имеет преимущество, но этот недостаток может решаться сменой цветов. Т.е. каждый движок играет с другим движком не менее 2 игр или любое четное количество игр. 3) Обоим движкам дать одинаковое количество оперативной памяти. Запрещать движку использовать ponder (предварительное обдумывание во время хода противника).
2
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 14.03.2023, 01:03 | |
|
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||
| 14.03.2023, 21:58 | ||||||
|
XLAT
Вообщем допилил сегодня свой интерфейс и своего тестировщика. Код, самый примитивный и безмозглый, который у меня тогда никак не пришился к твоему проекту, работает точно так как я ожидал. И никаких чудо-юдо телодвижений. Провел тест, поле 9*9 , 5 в ряд, сам с собой отыгривает на ничию, так как пока ходы выбираются без рандома, то партия уже стабильно устоявшаяся - НИЧЬЯ.
1
|
||||||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|
| 15.03.2023, 00:44 | |
|
SmallEvil, а я уже заменил Рандомича своим примитивным движком, который всё ещё нужно оптимизировать. Но мой движок вообще не готов к соревнованию, т.к. пишется не под проект XLAT, а под мой гуй. Думаю, несложно будет потом преобразовать движок для турнира, если я увижу, что это движок, с которым не стыдно соревноваться. Мне просто для тестирования удобно с гуем. Кстати, в ближайшее время приостановлю работу над движком и, наверное, займусь улучшением гуя. В планах реализовать многопоточность, чтобы интерфейс не зависал при работе движка.
Самое интересное, что осознал при написании движка это то, что тот же самый код можно использовать для шахматного движка или для другого движка для игры двух лиц с нулевой суммой) По сути, нужно только менять проверки и эвристическую функцию. Алгоритмы поиска и оптимизаций вообще не меняются.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 15.03.2023, 01:11 | |||
|
Можно сразу видеть как он ведет себя при определенных условиях. И эти условия сразу создавать. Сделаешь гуй приятный глазу, я бы своего запросто прикрутил бы. Раз уж я сам жалкое подобие арбитра уже написал для консоли. Держи красивые камушки ) https://www.kindpng.com/picc/b... le-png.png https://www.kindpng.com/picc/b... le-png.png Добавлено через 1 минуту
0
|
|||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|||
| 15.03.2023, 10:29 | |||
Да и ранее я уже говорил, как надо создавать нормальный гуй. Сперва нужно описать протокол взаимодействия движка и оболочки. Потом строго по этому протоколу создать оболочку и движок. Движок должен быть нормальным *.exe файлом, который загружается через приятный интерфейс. В таком случае, можно будет опубликовать оболочку и протокол, чтобы желающие разработали свои собственные движки. Что касается красоты, то XLAT вроде бы уже упоминал, что красивый гуй можно быстро сделать в любом игровом движке, которые к тому же кроссплатформенные. Но, если не ошибаюсь, цель вашей с ним затеи это устроить соревнование движков, а не сравнивать у кого в гуе графика ультра-реалистичная и оптимизированная.
1
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 15.03.2023, 11:07 | |||
![]() Но красивые ГУИ на пальцах считаются. Видно придется самому. Хотя особо желания нету. Добавлено через 1 минуту XLAT, и кстати, наследоваться от std::vector , это тоже бог велел ?
0
|
|||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
|
|
| 15.03.2023, 12:50 | |
|
Да что вы так боитесь этого Гуя? Вот, пжалста, пара десятков строчек кода. Для работы программы достаточно 2-х мерного массива, в котором будет находиться 0, 1 и 2 - пусто, синий и красный кружочек в таблице. Для хода человека кликаешь в таблицу. Для хода компа передаёшь массив в ИИ, он шевелит мозгами и делает гениальный ход:
1
|
|
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|
| 15.03.2023, 14:19 | |
|
alexu_007, нечто похожее я ещё давно создал и выложил в этой теме. Кстати, мой гуй более продвинутый, чем твой, и тоже был написан за очень короткое время.
Тут речь шла о полноценном и приятном на глаз гуе с кучей настроек, с возможностью подключать и отключать движки, проводить турнир движков и т.д. Вот, загугли Arena Chess GUI. Что-то в этом роде.
0
|
|
| 15.03.2023, 14:19 | |
|
Посоветуйте как улучшить код Посоветуйте, как улучшить код?
Подскажите какую игру можно написать в Делфи, не сильно сложную, не такую, как змейка, крестики-нолики, пинг-понг и т.д? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости.
Решение:
Создан документ со следующими. . .
|
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово.
Решение:
Создан документ с единственным. . .
|
Сумма и количество положительных элементов в чётных строках массива
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Вычислить сумму и количество положительных элементов массива, расположенных в четных строках.
Решение:
Создан документ с. . .
|
Поиск произведения положительных чётных чисел в последовательности
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Дана произвольная последовательность целых чисел. Найти произведение положительных четных чисел данной последовательности.
. . .
|
|
Обработка трёх чисел: утроение и возведение в степень
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Даны три действительных числа. Утроить те из них, значения которых неотрицательны, и возвести в четвертую степень отрицательные.
. . .
|
Расчёт стоимости яблок по весу
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Написать программу вычисления стоимости некоторого количества (по весу) яблок.
Решение:
Создан документ, с табличной частью. . .
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|