![]() |
![]() ![]() |
![]() |
Denc2005 |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте Уважаемые Форумчани!
Я делаю курсовую «Шашки». У меня возникла одна проблема: ход белыми совершается по всем правилам, а вот черные совсем не ходят (функция не разрешает ходить, а все вроде сделано, так же как и для белых). Я отметил место, в коде, где возникает ошибка, помогите исправить ![]() Прикрепленные файлы ![]() |
Lapp |
![]()
Сообщение
#2
|
|||
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Denc2005, ну ты там наворотил..
![]() Если сам сделал - уважаю твое усердие, но только так программировать не надо. Зачем делать два набора практически одинаковых процедур? Зачем доску делать в два раза больше?.. Как ты сам там не путаешься - ума не приложу.. Теперь по делу. В отмеченной тобой строке ты вызываешь MoveFrom2 с параметром Player, и это правильно. Но дальше во всех процедурах по цепочке ты почему-то передаешь Player2 (непонятно, зачем он вообще нужен). Я исправил все вызовы и смог поиграть даже (интерфейс красивый, респект! ![]() Вот исправленный код, на всяк случай. Форматирование в нем не ахти, но спасибо, что хоть такое есть, иначе бы я вообще утоп.. ![]() Успехов тебе! ps а почему называется "крестики"? ![]() ![]()
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
|||
Denc2005 |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Репутация: ![]() ![]() ![]() |
Lapp, Спасибо тебе большое, даже огромное!
![]() ![]() С практически одинаковыми процедурами сделать было быстрее…А вы советуете сделать в одной процедуре или функции две? Так же как сделаны Analise и Play?(опять же это простое копирование кода с небольшими поправками)! На счет поля: Оно не в два раза больше, а просто 10х10, у меня такое условие. А вот форматировать текст я не умею, вы не могли бы подсказать правила форматирования? А какие переменные надо сделать локальными ? Еще раз спасибо! ![]() PS Кодовое имя "крестики"! Сначала я хотел сделать их ![]() Сообщение отредактировано: Denc2005 - 5.05.2007 11:06 |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
> Как я мог этого не заметить, глупая ошибка
> (из-за которой я перерыл пол программы), А ты дебаггером пользушься? С ним такие вещи отлавливаются легко. > С практически одинаковыми процедурами сделать было быстрее… Сначала - быстрее, а потом - запутаешься, и получится медленнее.. > А вы советуете сделать в одной процедуре или функции две? Нет, ну процедуры для разных игроков отличаются знаком по y. Передавай множитель (1 или -1) в параметрах - вот и все! > На счет поля: Оно не в два раза больше, а просто 10х10, у меня такое условие. Шашки стоклеточные, это понятно. А зачем тебе края? у тебя же массив от -3 до 14. Я не вдавался, зачем это нужно, но уверен, что этого можно избежать, одновременно упростив программу.. > А вот форматировать текст я не умею, > вы не могли бы подсказать правила форматирования? Как-нить в следующий раз ![]() > А какие переменные надо сделать локальными ? У тебя счетчики циклов for в процедурах являются полями записей, объявленных в головной программе.. Это совершенно ненормально. Для этих целей нужно объявлять обычные целые переменные в самой процедуре. Успехов! ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Виталик |
![]()
Сообщение
#5
|
Гость ![]() |
чувак просто перебил чей-то курсач, там еще была игра против компьютера, вот оттуда и вылез player2
![]() |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 9:42 |