|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
Шашки21.04.2013, 11:57. Показов 4188. Ответов 10
Метки нет (Все метки)
Уже долго вынашиваю идею по написанию игры - шашки. И вот банальный вопрос: с чего начать?
Видел много подобных тем по этому поводу и все же как-то не дошло.
0
|
|
| 21.04.2013, 11:57 | |
|
Ответы с готовыми решениями:
10
Шашки шашки C++ |
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 21.04.2013, 12:14 | |
|
Начать надо с постановки задачи. Зачем писать игру в шашки? "Чтобы была" - отпадает, шашки на компьютере уже есть. "Чтобы она играла лучше других" - тоже отпадает, потому что шашки решённая игра (т.е. имеется возможность осуществить полный перебор ходов и выбрать наилучший вариант). На мой беглый взгляд остаются 3 варианта: приобрести опыт написания программ, сделать особенно красивую и визуально привлекательную игру, или реализовать какой-то новаторский подход к обучению игроков. Возможно, я что-то и упустил. Исходя из цели, надо сформулировать основные требования в общих чертах: что и как должна делать программа. Потом уже, исходя из этого, можно сориентироваться в том, какие средства и какие знания понадобятся для выполнения работы.
0
|
|
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
||
| 21.04.2013, 12:21 [ТС] | ||
|
Я просто не имею представления как это реализовать.
0
|
||
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
| 21.04.2013, 15:00 [ТС] | |
|
Croessmah, вы имеете ввиду составить что-то вроде диаграммы. Что выполняется при нажатии такой-то, такой-то клавиши, что выводится и т.д.?
Или я не правильно понимаю?
0
|
|
|
Неэпический
|
|
| 21.04.2013, 15:18 | |
|
Я имею ввиду определение какие объекты будут использоваться, их интерфейсы, отношения между ними и т.д. После этого останется только написать код по уже существующему плану, что гораздо легче, чем на каждом этапе переделывать по пол программы только по тому, что понадобилась какая-то переменная.
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 21.04.2013, 15:59 | |
|
Проектировать интерфейсы без опыта разработки - это всё равно, что заниматься китайской каллиграфией, зная о языке только "конфу" и "джекичан". Тем не менее, планировать определённо нужно, начиная от общего уровня и затем углубляясь в детали. В случае с шашками получается, что от программы требуется следующее:
а) уметь рисовать шашечное поле с шашками в минималистичном виде; б) взаимодействовать с пользователем, позволяя ему в том или ином виде указывать необходимые действия в) собственно играть с пользователем, выбирая наилучший ход в сложившейся на доске ситуации. Вот с этим списочком уже можно начинать работать глубже. С пунктом а) составляем проект того, как будет выглядеть то самое поле - клетки, подписи к клеткам, сами шашки. Можно для упрощения выбрать текстовый режим, или обратиться всё же к графике: рисовать кружочки-квадратики вполне посильное дело даже для начинающего. По пункту б) надо выбрать способы взаимодействия (клавиатура с буквенным вводом ходов, мышь или какое-то сочетание), определиться с доступными пользователю действиями (сама игра, выход, настройки, отмена хода и мало ли что ещё) и способом их выбора. По пункту в) сформулировать идеи для алгоритма выбора наилучшего хода. Самое простое - полный перебор, как вариант - с ограничением по глубине. Сформулировать критерии, по которым оценивается ситуация на доске (так, например, надо исходить из того, что игрок не будет совершать заведомо дурацкие, проигрышные ходы). Добавлено через 6 минут Таким образом, пункты раскрываются на независимые подпункты, каждый из которых можно воспринимать как отдельную задачу и точно также углубляться и раскрывать далее, пока всё не сведётся к элементарным действиям. А для практики хорошо будет попробовать свои силы сначала на гораздо более простых задачах близкой тематики, решение которых кажется вполне очевидным. Или идти по лесенке постепенного усложнения. Сначала написать просто программу, которая поддерживает состояние шашечной доски и изменяет его согласно введённым командам, в текстовом режиме. Добавить туда проверку простейших правил, потом - более сложных, с дамками и прочим. Добавить простейшего игрока, который ходит по правилам, но наугад, не думая. И так идти по шажку от простого к сложному, улучшать и усовершенствовать.
1
|
|
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
| 22.04.2013, 07:08 [ТС] | |
|
Croessmah,
Nick Alte, я конечно понимаю, что это выбор каждого, но в какой ide вы бы посоветовали работать borland или vs?
0
|
|
|
Неэпический
|
|
| 22.04.2013, 07:34 | |
|
Зависит от того, что больше нравится. Лично я пишу и отлаживаю программы исключительно в студии, так как мне нравится эта IDE, но компилирую конечный вариант, как правило, компилятором MinGW.
0
|
|
|
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
| 23.04.2013, 20:13 | |
|
Ryuk, я бы посоветовал VS или Code::Blocks со свежим MinGW. У борланда во-первых компилятор некачественный, а во-вторых, слишком сильно навязываются их собственные библиотеки, а ведь это как наркотик - привыкнув, так и будешь зависеть от борланда и слезть с иглы и переучиваться на более общие вещи будет трудно.
0
|
|
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
| 26.04.2013, 19:19 [ТС] | |
|
0
|
|
| 26.04.2013, 19:19 | |
|
Помогаю со студенческими работами здесь
11
Шашки Шашки Шашки в консоли Ошибка перестановки шашки Китайские шашки. Перебор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|