Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 27.10.2008, 12:21   #16
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Печаль Ответ: Помогите доделать игру!MidletPascal.

Сообщение от odd Посмотреть сообщение
Продолжаем разбор кода. Накой х проверять переменные q и u если они строкой раньше были изменены на 15 и 0? Переменная u со значением 0 никогда не будет одновременно <43 и >38. Так что ничего странного нет, что sledujushcajaprocedura НИКОГДА не вызовется.
Ну у меня такой принцип:некий мужик сверху кидаецо всякими хернями(ну типа ящики,бомбы и т.д.).Эти херни надо ловить некой платформой,а если поймал то надо вызвать процедуру,которая кидает другой предмет с другой координатой.


if (q>x) and (q<(x+19)) and (u<43) and (u>3 then bombarding; //если предмет попал на указанную плоскость(на платформу),значит вызываем процедуру;


Затем процедура bombarding:
procedure bombarding;
begin
q:=15;
u:=0;
if (q>x) and (q<(x+19)) and (u<43) and (u>3 then sledujushchajaprocedura; // т.е. если предмет опять попал на платформу,дальнейшей процедурой закидываем его на х*ен на другие координаты;
end;


Но я почемуто не врубаюсь,почему не вызываецо <sledujuschajaprocedura>.Подскажите если че не правильно сделал.
(Offline)
 
Ответить с цитированием
Старый 27.10.2008, 21:19   #17
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

тебе же odd объяснил, что условие
and (u>38)
никогда не выполниться, потому что строкой ранее ты
u:=0;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mark Castle (28.10.2008)
Старый 27.10.2008, 21:38   #18
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

Сообщение от pilgrim Посмотреть сообщение
тебе же odd объяснил, что условие
and (u>38)
никогда не выполниться, потому что строкой ранее ты
u:=0;
А что нада сделать?
(Offline)
 
Ответить с цитированием
Старый 27.10.2008, 22:18   #19
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

клево! у тя с переменной "u" баг какой-то, возьми другую к примеру "y" или "i" я видел с ними все работает у других.
__________________
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо dimanche13 за это полезное сообщение:
ABTOMAT (28.10.2008), Mark Castle (28.10.2008), Phantom (28.10.2008), Romanzes (28.10.2008)
Старый 28.10.2008, 14:24   #20
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

Все,исправил.Процедура вызываеца,а следующую вызвать не может,хотя там по логике вроде все правильно!
:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::
procedure aaaaaaa;
begin
Q:=70;
U:=0;
if (q>x) and (q<(x+19)) and (u<43) and (u<38 ) then
begin
halt;
end;
end;
procedure bombarding;
begin
q:=50;
u:=0;
if (q>x) and (q<(x+19)) and (u<43) and (u<38 ) then
begin
aaaaaaa;
end;
end;
Это пахать не хочет!Не вызывает процедуру aaaaaaa;!!!!!!!!!!!!!!!!В чем проблема?
(Offline)
 
Ответить с цитированием
Старый 28.10.2008, 14:43   #21
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

procedure aaaaaaa;
begin
Q:=70;
U:=0;
if (q<x) and (q>(x+19)) and (u<43) and (u<38 ) then
begin
halt;
end;
end;
Что неправильного в условии if (q<x) and (q>(x+19)) and (u<43) and (u<38 ) then
begin
halt;
end;
end;?????????????????????????????????????????????? ????????
(Offline)
 
Ответить с цитированием
Старый 28.10.2008, 16:12   #22
Cliffe Snake
Нуждающийся
 
Аватар для Cliffe Snake
 
Регистрация: 22.09.2008
Сообщений: 74
Написано 8 полезных сообщений
(для 12 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

2Mark Castle. Чувак, у тебя с логикой полный пипец.
Что неправильного в условии if (q<x) and (q>(x+19)) and (u<43) and (u<38 ) then
( u<43 ) and ( u<38 ) это равносильно ( u<38 )
Иди почитай теорию по связке логических выражений. Я думаю, вряд ли кто на форуме захочет учить тебя таким ЭЛЕМЕНТАРНЫМ вещам.
Ясный пень, что у тебя ничё не работает.
И кому интересно я говорил, что для вызова процедуры из других процедур нужно использовать FORWARD;?

После строки
procedure aaaaaaa
Вставь эту
Forward

Последний раз редактировалось Cliffe Snake, 28.10.2008 в 16:25.
(Offline)
 
Ответить с цитированием
Старый 28.10.2008, 16:34   #23
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

Сообщение от Cliffe Snake Посмотреть сообщение
2Mark Castle. Чувак, у тебя с логикой полный пипец.

( u<43 ) and ( u<38 ) это равносильно ( u<38 )
Иди почитай теорию по связке логических выражений. Я думаю, вряд ли кто на форуме захочет учить тебя таким ЭЛЕМЕНТАРНЫМ вещам.
Ясный пень, что у тебя ничё не работает.
И кому интересно я говорил, что для вызова процедуры из других процедур нужно использовать FORWARD;?

После строки
procedure aaaaaaa
Вставь эту
Forward
Тоесть:


procedure aaaaaaa;
forward;

begin
Q:=70;
U:=0;
if (q<x) and (q>(x+19)) and (u<38 ) then
halt;
end;

procedure bombarding;
begin
q:=50;
u:=0;
if (q>x) and (q<(x+19)) and (u<38 ) then

aaaaaaa;

end;

так?
(Offline)
 
Ответить с цитированием
Старый 28.10.2008, 17:04   #24
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 06.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: Помогите доделать игру!MidletPascal.

Чувак, еще раз.
По-моему, тебе все-таки нужно условие (q>x) and (q<x+19) and (u>38 ) and (u<43).
Делай так:
procedure bombarding;
begin
if (q>x) and (q<x+19) and (u>38 ) and (u<43) then
begin
q:=50;
u:=0;
aaaaaaa;
end;
end;
А то ты сначала присваиваешь u значение "0", а потом проверяешь, лежит ли u в интервале [38,43]. Это бессмысленно.
PS: Рискуешь попасть в мемы.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mark Castle (29.10.2008)
Старый 31.10.2008, 12:39   #25
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Сообщение Ответ: Помогите доделать игру!MidletPascal.

а приведите хто нибудь пример использования библиотеки Lib_sprite для столкновения с другим спрайтом.А то я шота не врубаюся...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактор карт mr.DIMAS FAQ 33 12.08.2009 14:17
Помогите сделать игру танчики !!! DannN MidletPascal 9 19.01.2009 15:45
Помогите с либой для MIDletPascal Jhonny JAVA Micro Edition 0 05.11.2007 13:00
Редактор 2D карт. Enemy Болтовня 8 05.01.2007 09:33
как мне назвать игру ? jimon Болтовня 22 05.02.2006 15:38


Часовой пояс GMT +4, время: 00:57.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com