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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2009, 00:46   #51
Djels
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 36
По умолчанию

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

Цитата:
не пойму куда в программе поставить подсчет и с каким условием?
В процедуру down (если опускание блока произошло успешно).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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

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

Просто объявите глобальную переменную для количества ходов.
В начале игры присваивайте ей ноль.
Потом в процедуре down увеличивайте ее, если блок успешно положился (в случае неудачи у вас там Error выводится).

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

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

Вот для примера:
Код:
uses crt,dos;
var
D : datetime;
start,finish,rez : longint;
DOW,SS : word;

begin
clrscr;
getdate(D.Year,D.Month,D.Day,DOW); // читаем данные в начале
gettime(d.Hour,D.Min,D.Sec,SS);
PackTime(D,start);  // пакуем

// подождем секунд 5 и нажмем клавишу для выхода из цикла
while not keypressed do
 begin
 end;

getdate(D.Year,D.Month,D.Day,DOW);
gettime(D.Hour,D.Min,D.Sec,SS); // читаем данные в конце

PackTime(D,finish); // пакуем
rez := finish-start; // находим разность

writeln(rez);

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

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

Sazary, Помоги пожалуйста.. очень прошу!
1)Тут что-то не получается, куда не впихну - не считает ни время, ни счет ходов.
2)Ещё нужно чтобы во время игры вылезала подсказка(Procedure GameHelp) на управление курсором (я её наполовину сделал, то есть нажав на F1 подсказка вылазит, а как сделать, чтобы она стиралась на эту же кнопку, а потом опять появлялась, если нужно - не знаю как это реализовать).
3)И последнее - Как сделать, чтобы выбор количества дисков в начале игры был немного веселей что-ли. Короче, чтобы хотя бы количество выбираемых дисков было видно на экране.

Sazary, очень прошу помочь. Заранее благодарствую.

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

Вывод времени и ходов в процедуре победы.
Подсчет количества повесил на процедуру Down. Собственно, это самое примитивное, что можно было сделать. Если нужно, усложните.

Хэлп теперь убирается.
Цитата:
3)И последнее - Как сделать, чтобы выбор количества дисков в начале игры был немного веселей что-ли. Короче, чтобы хотя бы количество выбираемых дисков было видно на экране.
Ну это уже сами. По мне - и так нормально.
Вложения
Тип файла: rar XXXX.rar (3.0 Кб, 10 просмотров)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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

Sazary один вопрос, почему-то время считает некорректно.
В реале посчитал - 34 секунды, а пишет 19.
Djels вне форума Ответить с цитированием
Старый 01.06.2009, 20:57   #58
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Djels
один вопрос, почему-то время считает некорректно.
В реале посчитал - 34 секунды, а пишет 19.
Да, действительно. Видимо, нельзя просто так вычитать запакованные значения времени.
Тогда все сложнее. Вам нужно будет написать функцию, которая будет возвращать разность двух дат. То есть отдельно вычитать секунды, минуты...

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

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

Да вот, надо бы сделать общее потраченое время...
Djels вне форума Ответить с цитированием
Старый 01.06.2009, 21:15   #60
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
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