|
0 / 0 / 0
Регистрация: 05.03.2023
Сообщений: 1
|
||||||
Оцените и посоветуйте как можно улучшить код Крестики-нолики05.03.2023, 19:56. Показов 17192. Ответов 284
Метки нет (Все метки)
Я учусь в 10 классе и для индивидуального проекта мне нужно чтобы вы оценили и как-то посоветовали улучшить код программы крестики нолики на C++. Вот сам код:
0
|
||||||
| 05.03.2023, 19:56 | |
|
Ответы с готовыми решениями:
284
Крестики-нолики, улучшить программу Как оптимизировать данный код игры крестики нолики? Оцените игру крестики нолики (Player vs Bot easy) |
|
Just Do It!
|
|||||||
| 18.03.2023, 21:45 | |||||||
|
не? считай это за псевдокод, лаконичный и понятный. на одну команду в интерфейсе больше или везде где возвращает будет блокировать? вот бот: содрал с работающего:
если коннектор работающий у него появится.
0
|
|||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||
| 19.03.2023, 18:45 | ||||
|
Асинхронный вызов, условно, может вернуть только место и время встречи, где забрать посылку, да еще может и опоздать на встречу. Что твой арбитр будет делать с этой информацией? Его логика на это не завязана. Я так понимаю, ты не хочешь асинхронность. Ок, дело твоё, пусть будет блокирующий, или может ты хочешь организовать асинхронность самостоятельно. В любом случае дай интерфесы и контракты на них, которые мне нужно реализовать. По картинке эти детали не ясны.
0
|
||||
|
Just Do It!
|
||||||
| 19.03.2023, 19:46 | ||||||
|
верно - абсолютно это не на твоей стороне... т.е. после каждой команды отдавать тебе управление. верно? не проблема. или это проблема времени. Кто хост, а кто ведомый. Может клиент должен управлять арбитром? ну, из практики, обычно клиенты шлют запросы серверу, а не наоборот... но асинхронность меня вполне устаивает, поэтому арбитра буду править. она может быть и растянута по времени, но с лимитом этого времени, по истечению которого ни передача ни приём считаются не состоявшимися. Сейчас, в точке старта мой контракт очень и очень простой, я хочу сделать запрос клиенту, а затем получить ответ, пустой или непустой(строку), но ответ. хорошо пусть это будут два вызова, или клиент должен сам будет постучаться? тут, хм, может терминов добавить? клиент это тупое соединение и не факт что он тот самый... запрос и ответ это текстовые строки - парсить я их буду сам. предлагаю щас сосредоточится на этом. тест организовать как угодно, но демонстрирующий этот простейший контракт. zayats80888, не знаю, возможно, желание запилить сервер в один присест и реализуемо на практике, но мен хотелось очень и очень простых в простейшей простоте тестов! короче, мне нужен РАБОТАЮЩИЙ ПРОСТЕЙШИЙ ТЕСТ, КАК ОНО БУДЕТ ВЫГЛЯДЕТЬ В РЕАЛЬНОМ КОДЕ, КОТОРЫЙ МОЖНО ЗАПУСТИТЬ и увидеть глазами как он работает. а так типа передали инфу в общий поток, кому передали куда передали зачем передали, инфа ушла и хсней) я не понимаю.
0
|
||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||||
| 19.03.2023, 19:57 | |||||
|
Управление передается планировщику(который не нужно реализовывать, он реализован в бусте). Пока коду, обслуживаещему конкретного клиента нечего делать, управление передается другому коду, обслуживающему другого клиента, которому есть что делать. Таким образом даже в однопоточной программе реализуется условный "параллелизм" выполнения задач. Вот и дай мне интерфейс клиента (класс с несколькими методами), которые я должен реализовать, прокоментировав каждый метод, что он должен делать и чего не должен делать. Это могут быть двоичные данные (заголовок с размером строки и собственно строка). Или это может быть текстовый протокол, где размер данных не записывается в отдельный заголовок, и его нужно парсить по мере поступления данных (типа http). Добавлено через 2 минуты
0
|
|||||
|
Just Do It!
|
||||
| 19.03.2023, 20:17 | ||||
|
колбек? не вопрос. если честно, мне не нравится что кто-то извне будет дёргать мои внутренности. хотя я думаю речь про то что каждый раз его передавать. это мне надо осмыслить и привыкнуть. может шифрование добавим? )) просто посмотреть как они заполняют матрицу, каждый свою. щас кафу попью и запилю. мош добавить чо?
0
|
||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 19.03.2023, 20:50 | ||
|
В моём понимании "тестовый стенд" выглядит так: Тестовая программа(эмулирует сервис) принимает команду на запуск ботов(например, имя бинарника, через аргументы командной строки). Запускает два процесса с пайпами, которые прячутся за абстрактынм каналом передачи данных. ассоциирует каждый канал с абстрактным парсером, за которым прячется механизм преобразования сообщений(message) в текст, принимаемый ботом, и обратно. Запускается сессия, которой передаются эти две пары <канал + парсер>. Сессия создаёт: 1. два объекта типа игрок, который будет обслуживать запросы арбитра через эту пару, 2. объект наблюдатель, реализующий интерфейс listener, точнее сама сессия может его реализовать. 3. объект арбитра, которому передает указатели на игроков и наблюдателя. И запускает игру, дергая метод start арбитра. По получении события от арбитра через интерфейс listener о завершении матча сессия (а затем и программа) завершается. Классы игрок, канал, парсер, сессия, я реализую. Тебя я просил реализовать логику арбитра и программы-бота, по шаблонам, которые я дал. Интерфейсы, с которыми придется взаимодействовать арбитру и объект-сообщение, которым он будет обмениваться, я тебе тоже дал (их не нужно реализовывать), но ты можешь подправить их котракты, или добавить методы, если нужно твоему арбитру, я реализую, главное - оставить асинхронный менханизм обмена сообщениями.
0
|
||
|
Just Do It!
|
|||||||
| 19.03.2023, 22:10 | |||||||
0
|
|||||||
| 19.03.2023, 22:10 | |
|
0
|
|
|
Just Do It!
|
||||||||
| 19.03.2023, 23:08 | ||||||||
буду вникать с пристрастием ... дедлайна нет. но хвастай малюсенькими тестами. Не по теме: у мя тут виндовые пайпы именованные, вот есть ещё такой таскборд - шоп задачи вешать: https://www.cyberforum.ru/post16774690.html но все боятся туда заходить, народ нынче пуганный пошёл, любого куста боится))
0
|
||||||||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 21.03.2023, 21:26 | ||
|
1
|
||
|
Just Do It!
|
||
| 21.03.2023, 21:55 | ||
|
я тут чуть- чуть покапал гуй, чуть-чуть пописа пайпы, полистал азио оффлайн, который 1400 страниц почитал отдельные страницы: мимо проходя наткнулся на занятный обзор сериализаторов: https://mikeloomisgg.github.io... n-library/ типа вот этот из бинарных самый лучший: https://github.com/msgpack/msg... er/spec.md ...
1
|
||
|
Just Do It!
|
||
| 21.03.2023, 22:11 | ||
|
буст из коробки, хоть на gcc, хоть на clang(msys2 же), хоть на vc++ для vc вот из коробки так: https://www.cyberforum.ru/post16762827.html
0
|
||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|||||||
| 21.03.2023, 23:33 | |||||||
|
1) убедись, что бинарник бота и бинарник теста лежат в одном каталоге или полный путь пропиши, я сейчас это захардходил(вроде, в cmake настроил, должны лежать в подкаталоге bin каталога сборки) 2) в файле src/service/tictactoe/service.cpp в реализации метода service::launch() в команде запуска процесса исправь имя екзешника (расширение exe, наверное, нужно добавить, я давно на винде не работал) :
1
|
|||||||
|
Just Do It!
|
|||
| 22.03.2023, 00:25 | |||
|
бинарник просто переименовать: у меня тут компиляторов сто штук и я в окружение ничего не пишу, шоп не путалось... а на vc симейк жалуется, буст ему надо показать где лежит... вообщем с симейком тоже гемор - без симейка быстрее получается) но ваще надо настроить его конеш.
1
|
|||
|
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||||
| 22.03.2023, 01:27 | ||||
1
|
||||
|
Just Do It!
|
||||||||||||
| 22.03.2023, 14:55 | ||||||||||||
|
Не по теме: когда я ходил в первый класс начальной школы то там мне учитель сказал, что запускаю симейк и генерю проект:
(...)
компиляция(ребилд): и тут же такое: Не по теме: меня точит вопрос, туда куда сборщик ссылается на ошибки таких директорий и файлов просто нет.
0
|
||||||||||||
| 22.03.2023, 14:55 | |
|
Посоветуйте как улучшить код Посоветуйте, как улучшить код?
Подскажите какую игру можно написать в Делфи, не сильно сложную, не такую, как змейка, крестики-нолики, пинг-понг и т.д? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни
1. Механизм отложенного высвобождения фосфора
Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ
Реализована разная скорость. . .
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|