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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 00:26   #41
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот в этом куске:
Код:
if key=#13 then
  begin
     settextjustify(0,0);
        case punkt of
          1 : NewGame;
          2 : Help;
          end;
if  punkt = 3 then break;
  end;
выделенное должно быть здесь.

---------
Далее. Скажу на словах, но исправлять будете сами, т.к. там нужно искать по всему коду места.
У вас разные процедуры (print_menu, help и другие) меняют под себя стиль текста, заливки и прочего. При этом что-то они меняют, а что-то нет. И предполагается, что другие процедуры эти вещи не трогают.
Пример:
В процедуре Help вы меняете стиль текста с помощью settextstyle. Но в процедуре print_menu используется другой стиль. И эта процедура и не подозревает, что кто-то другой его изменил.

В общем, вам нужно пройтись по коду и найти эти места, где меняются стили разных элементов. В каждой процедуре устанавливайте стили заново.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.05.2009, 00:37   #42
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

То есть, в абсолютно каждой процедуре нужно прописывать свой стиль, чтобы один из стилей не применился к процедуре без стиля? я правильно Вас понял?
А вот ещё , почему то на Exit не выходит из игры(( только после того как второй раз нажмешь на него. В Help'e в меню не выходит тоже. Можете на словах сказать, если хотите.
Djels вне форума Ответить с цитированием
Старый 28.05.2009, 00:41   #43
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
То есть, в абсолютно каждой процедуре нужно прописывать свой стиль, чтобы один из стилей не применился к процедуре без стиля? я правильно Вас понял?
Просто одна процедура сбивает стили другой. Как было с settextjustify.
Процедуры у вас не смотрят, кто что использует.

Цитата:
А вот ещё , почему то на Exit не выходит из игры((
Удалите readln перед closegraph

В процедуре Help в конце добавьте readln;. Иначе сразу оттуда выходит.
После вызова Help'а меню уже не будет видно как раз по той причине - из-за стилей. Вам нужно их "восстановить" в процедуре print_menu.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.05.2009, 01:12   #44
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

Sazary - посмотрите пожалуйста. почти всё работает, кроме выхода из Help. Подскажите пожалуйста как исправить.

Game_hanou.rar
Djels вне форума Ответить с цитированием
Старый 28.05.2009, 01:36   #45
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Уберите в процедуре Help readln в начале.
Еще в теле программы замените условие выхода из цикла:
Код:
 until(ORD(KEY)=27);
Или еще на что-нибудь. Иначе у вас после выбора любого пункта программа будет выходить.

И я бы не сказал, что все работает как надо. После вызова Help'а стили сбиваются.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 28.05.2009, 01:56   #46
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

Sazary, Спасибо Вам огромнейшее! Много познал за сегодня!) Завтра буду доделывать. ещё раз Вам большое человеческое спасибо!))
Djels вне форума Ответить с цитированием
Старый 28.05.2009, 23:32   #47
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

Sazary. Здравствуйте снова! Подскажите пожалуйста как можно реализовать в моей игре подсчет ходов? И таймер? И потом это где-нибудь вывести. (Напр. в procedure theend) Подскажите пожалуйста.
Djels вне форума Ответить с цитированием
Старый 28.05.2009, 23:41   #48
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Подскажите пожалуйста как можно реализовать в моей игре подсчет ходов?
Когда блок опускается, увеличиваете количество ходов. Если же блок опускается туда же, откуда был взят, то не увеличиваем.
Переменную можно сделать глобальной.
Цитата:
И таймер?
А вот с этим сложнее. В паскале это дело муторное. Можете посмотреть вот эту тему:
http://programmersforum.ru/showthread.php?t=37945
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 29.05.2009, 00:03   #49
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

нет, мне не нужно ограничение времени, а наоборот увеличение, а потом вывод на экран потраченного времени за одну игру.
Djels вне форума Ответить с цитированием
Старый 29.05.2009, 00:22   #50
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Djels
нет, мне не нужно ограничение времени, а наоборот увеличение, а потом вывод на экран потраченного времени за одну игру.
Принцип тот же. Нужно использовать gettime.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню Dem6 Паскаль, Turbo Pascal, PascalABC.NET 3 10.04.2009 16:43
Для доступа к пунктам главного меню клавиши ALT + подчеркнутая буква меню в офис 2007? Окоча Юра Microsoft Office Word 1 24.02.2009 12:29
Меню с Items в виде набора Bitmap (как меню редактирования в Word'е) chandrasecar Мультимедиа в Delphi 7 14.01.2009 09:20
Меню Witaliy Общие вопросы Delphi 4 27.04.2008 22:45
МЕНЮ Delpher HTML и CSS 4 25.12.2007 15:37