Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871

Шашки

21.04.2013, 11:57. Показов 4261. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уже долго вынашиваю идею по написанию игры - шашки. И вот банальный вопрос: с чего начать?
Видел много подобных тем по этому поводу и все же как-то не дошло.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2013, 11:57
Ответы с готовыми решениями:

Игра шашки: Исправить копирование шашки заместо переставления
Почти написал шашки на с++, но есть одна проблема,При захвате шашки оно ейо не перставляет а копирует,вот код: //...

Шашки
Хочу написать шашки на C++, но хочу написать с применением ООП посоветуйте на какие классы можно разбить программу.

шашки C++
О великие гуру,я взываю вашей помощи. Хочу написать шашки на C++,но пока не особо представляю,что к чему. А именно: как сделать...

10
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
21.04.2013, 12:14
Начать надо с постановки задачи. Зачем писать игру в шашки? "Чтобы была" - отпадает, шашки на компьютере уже есть. "Чтобы она играла лучше других" - тоже отпадает, потому что шашки решённая игра (т.е. имеется возможность осуществить полный перебор ходов и выбрать наилучший вариант). На мой беглый взгляд остаются 3 варианта: приобрести опыт написания программ, сделать особенно красивую и визуально привлекательную игру, или реализовать какой-то новаторский подход к обучению игроков. Возможно, я что-то и упустил. Исходя из цели, надо сформулировать основные требования в общих чертах: что и как должна делать программа. Потом уже, исходя из этого, можно сориентироваться в том, какие средства и какие знания понадобятся для выполнения работы.
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
21.04.2013, 12:21  [ТС]
Цитата Сообщение от Nick Alte Посмотреть сообщение
приобрести опыт написания программ
Не говоря уже о красивом интерфейсе. Для начала просто шахматная доска и шашки.
Я просто не имею представления как это реализовать.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
21.04.2013, 14:33
Цитата Сообщение от Ryuk Посмотреть сообщение
с чего начать?
Как всегда - с проектирования
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
21.04.2013, 15:00  [ТС]
Croessmah, вы имеете ввиду составить что-то вроде диаграммы. Что выполняется при нажатии такой-то, такой-то клавиши, что выводится и т.д.?
Или я не правильно понимаю?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
21.04.2013, 15:18
Я имею ввиду определение какие объекты будут использоваться, их интерфейсы, отношения между ними и т.д. После этого останется только написать код по уже существующему плану, что гораздо легче, чем на каждом этапе переделывать по пол программы только по тому, что понадобилась какая-то переменная.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
21.04.2013, 15:59
Проектировать интерфейсы без опыта разработки - это всё равно, что заниматься китайской каллиграфией, зная о языке только "конфу" и "джекичан". Тем не менее, планировать определённо нужно, начиная от общего уровня и затем углубляясь в детали. В случае с шашками получается, что от программы требуется следующее:
а) уметь рисовать шашечное поле с шашками в минималистичном виде;
б) взаимодействовать с пользователем, позволяя ему в том или ином виде указывать необходимые действия
в) собственно играть с пользователем, выбирая наилучший ход в сложившейся на доске ситуации.
Вот с этим списочком уже можно начинать работать глубже. С пунктом а) составляем проект того, как будет выглядеть то самое поле - клетки, подписи к клеткам, сами шашки. Можно для упрощения выбрать текстовый режим, или обратиться всё же к графике: рисовать кружочки-квадратики вполне посильное дело даже для начинающего.
По пункту б) надо выбрать способы взаимодействия (клавиатура с буквенным вводом ходов, мышь или какое-то сочетание), определиться с доступными пользователю действиями (сама игра, выход, настройки, отмена хода и мало ли что ещё) и способом их выбора.
По пункту в) сформулировать идеи для алгоритма выбора наилучшего хода. Самое простое - полный перебор, как вариант - с ограничением по глубине. Сформулировать критерии, по которым оценивается ситуация на доске (так, например, надо исходить из того, что игрок не будет совершать заведомо дурацкие, проигрышные ходы).

Добавлено через 6 минут
Таким образом, пункты раскрываются на независимые подпункты, каждый из которых можно воспринимать как отдельную задачу и точно также углубляться и раскрывать далее, пока всё не сведётся к элементарным действиям.
А для практики хорошо будет попробовать свои силы сначала на гораздо более простых задачах близкой тематики, решение которых кажется вполне очевидным. Или идти по лесенке постепенного усложнения. Сначала написать просто программу, которая поддерживает состояние шашечной доски и изменяет его согласно введённым командам, в текстовом режиме. Добавить туда проверку простейших правил, потом - более сложных, с дамками и прочим. Добавить простейшего игрока, который ходит по правилам, но наугад, не думая. И так идти по шажку от простого к сложному, улучшать и усовершенствовать.
1
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
22.04.2013, 07:08  [ТС]
Croessmah,
Nick Alte, я конечно понимаю, что это выбор каждого, но в какой ide вы бы посоветовали работать borland или vs?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
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
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
26.04.2013, 19:19  [ТС]
Nick Alte,
Цитата Сообщение от Nick Alte Посмотреть сообщение
со свежим MinGW.
допустим я его установил, но как с ним работать я не понял)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.04.2013, 19:19
Помогаю со студенческими работами здесь

Шашки
Помогите люди!!!!Цель курсовой-создание игры "Шашки".Вот код: //figures.h- Интерфейс модуля графических фигур #ifndef figures_h ...

Шашки
Задали написать консольную игру шашки если у кого есть листинг скиньте плз В инете искал там только с графикой, а надо просто обычную...

Шашки в консоли
Можно ли как-нибудь реализовать шашки в консоли, используя структуры?

Ошибка перестановки шашки
Когда хочу переставить шашку, то она не переставляется, а их просто стает двое. Чтобы курсором выбрать шашку, нужно нажать 1. Управлять...

Китайские шашки. Перебор
Суть китайских шашек такова: есть поле(см. рисунок) и можно перепрыгивать через фишку, если поле за ней свободно. При этом фишка, через...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru