Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2014, 01:34   #1
fuzzyduzzy
 
Регистрация: 12.10.2012
Сообщений: 8
По умолчанию Ошибка в логике игры (Шашки)

Здравствуйте! Почти готовые шашки. Одна проблема - ошибка в логике(
Пока не нужно бить все хорошо, потом возникает такая проблема: при возможности побить две шашки нужно четко бить их.. если побил одну и случайно клацнул не втом месте(не побил вторую) то твой ход пропадает..CheckersDemo.rar
fuzzyduzzy вне форума Ответить с цитированием
Старый 14.03.2014, 09:25   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Ну, как бэ, проблема ещё раньше есть.
Когда рубим на втором ходу белой шашкой чёрную - за белыми остаётся ход, хотя рубящая шашка больше никуда сходить не может, а ход должен как раз передаваться, если рубящей некуда дальше рубить.
Эта штука решается вот так (найти место - поиском по return)
Код:
//isMove = false;
return;
Но тогда неодинарные рубления вообще невозможны. А правильно будет, когда для каждой шашки свой отдельный метод проверки доступных ходов (а общий метод, который сейчас для всех проверяет, должен по идее вызывать описываемый метод для всех шашек, т.е. надо общий метод разбить), и тогда
Код:
isMove = CheckAvailCellsOfSpecChecker(CheckerID, ...) != List.Empty
ну, фигурально (псевдокодно), и оставлять доступными только те ходы, которые разрешены текущей шашке (рубящей после первой рубки), и больше никаким другим.
И там дальше уже можно будет смотреть где как подрихтовать чтобы мисклик не сбивал хода.

P.S. И ещё, в настройках проекта поставьте OutputType - винформс аппликейшн, а не консоль как сейчас, а то консолька болтается при работе программы - некрасиво (хотя это мб неатуально, ибо это мб следствием даунгрейда до дотнет4.0, сейчас нет под рукой студии 2012).

Последний раз редактировалось phomm; 14.03.2014 в 09:32.
phomm вне форума Ответить с цитированием
Старый 14.03.2014, 22:51   #3
fuzzyduzzy
 
Регистрация: 12.10.2012
Сообщений: 8
По умолчанию

спс... Консольку я отключу)) я ее для теста использовал
fuzzyduzzy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка игры на Delphi - Шашки Maddas Помощь студентам 1 27.10.2010 20:18
доработка игры Шашки Maddas Фриланс 5 27.10.2010 15:16
шашки или тупик в логике? MDS Microsoft Office Excel 3 18.02.2010 11:13
ошибка в логике кода R@Ziel Помощь студентам 2 03.01.2010 16:10
Ошибка в логике? NSvirus PHP 8 12.10.2009 02:41