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

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

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

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

Ответ
 
Опции темы
Старый 16.05.2010, 12:04   #31
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Помогите с boolean!!!

Незачто.
(Offline)
 
Ответить с цитированием
Старый 16.05.2010, 13:12   #32
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Помогите с boolean!!!

Вот! Новая проблема...Мышь не работает...Вот код:

Program LaFull;
Var int,log,mouse,tab,ping:image;
w,h,key,x,y:integer;
bulLogin,bulMouse,bulPing:boolean;

Procedure Pings;
begin
repeat
drawImage(int,0,0);
drawImage(ping,w-85,h-69);
repaint;
until false;
end;

Procedure mouseX;
begin
repeat
Key:=getKeyPressed;
if (Key=GA_LEFT) then X:=X-2;
if (Key=GA_RIGHT) then X:=X+2;
if (Key=GA_UP) then Y:=Y-2;
if (Key=GA_DOWN) then Y:=Y+2;
if x<0 then x:=0;
if y<0 then y:=0;
if y>getheight-5 then y:=getheight-5;
if x>getwidth-5 then x:=getwidth-5;
until false;
end;

Procedure login;
begin
repeat
drawImage(int,0,0);
drawImage(log,w-98,h-31);
drawImage(tab,getwidth-118,getheight-86);
drawImage(mouse,x,y);
repaint;
if (x>45) and (y>185) and (x<115) and (y<200) and (KeyToAction(getKeyPressed)=GA_FIRE) then bulPing:=true;
until false;
end;

Procedure data;
begin
repeat
x:=getwidth/2; y:=getheight/2;
w:=getwidth/2; h:=getheight/2;
bulMouse:=true;
bulLogin:=true;
bulPing:=false;

int:=LoadImage('/int.png');
log:=loadimage('/log.png');
mouse:=loadimage('/mouse.png');
tab:=loadimage('/tab.png');
ping:=LoadImage('/ping.png');

if (bulPing=true) then bulLogin:=false;
if (bulLogin=true) then login;
if (bulPing=true) then Pings;
if (bulMouse=true) then MouseX;

until false;
end;

begin
repeat
data;
until false;
end.



Обьясню: При запуске сразу должно отображаться всё из Login, мышь должна бегать из MouseX, при нажатии на координаты Login закрывается, Мышь (MouseX) работает дальше, а Pings запускается...Тоесть мышь работает всё время! Как это зделать, на основе этого кода желательно. Кто поможет, буду очень благодарен!
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 16.05.2010, 18:01   #33
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Помогите с boolean!!!

Мышь не работает, потому что после нажатия на координаты Login закрывается, прога доходит до
if (bulPing=true) then Pings;
где и остается в бесконечном цикле.
можно изменить на
Procedure Pings;
begin
repeat
drawImage(int,0,0);
drawImage(ping,w-85,h-69);
mouseX;
drawImage(mouse,x,y);
repaint;
until false;
end;

Procedure mouseX;
begin
Key:=getKeyPressed;
if (Key=GA_LEFT) then X:=X-2;
if (Key=GA_RIGHT) then X:=X+2;
if (Key=GA_UP) then Y:=Y-2;
if (Key=GA_DOWN) then Y:=Y+2;
if x<0 then x:=0;
if y<0 then y:=0;
if y>getheight-5 then y:=getheight-5;
if x>getwidth-5 then x:=getwidth-5;
end;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (16.05.2010)
Старый 16.05.2010, 18:18   #34
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Помогите с boolean!!!

И ещё:
Procedure login;
begin
repeat
drawImage(int,0,0);
drawImage(log,w-98,h-31);
drawImage(tab,getwidth-118,getheight-86);
MouseX;
drawImage(mouse,x,y);
repaint;
if (x>45) and (y>185) and (x<115) and (y<200) and (KeyToAction(getKeyPressed)=GA_FIRE) then bulPing:=true;
until bulping=true;
end;

Вроде должна заработать.

А вообще, прога очень коряво написана.
Использование
repeat
...
until false;
приводит к бесконечному циклу без возможности выйти из него (единственный способ - halt, но это выход из программы), а у тебя таких циклов целых четыре!
Или например: процедура data каждый виток цикла загружает изображения заново,а смысл?!
В общем, еще учиться, учиться и учиться!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (16.05.2010)
Старый 16.05.2010, 18:54   #35
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Помогите с boolean!!!

Спасибо и на этом)) а ты не мог бы зделать чуть лучше код? Я просто как не смотрю, никак не делается =(
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 17.05.2010, 18:11   #36
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Помогите с boolean!!!

В само вычисление не вдавался, просто исправил недочеты с использованием функций.

Procedure data;
begin
x:=getwidth/2; y:=getheight/2;
w:=getwidth/2; h:=getheight/2;
bulPing:=false;

int:=LoadImage('/int.png');
log:=loadimage('/log.png');
mouse:=loadimage('/mouse.png');
tab:=loadimage('/tab.png');
ping:=LoadImage('/ping.png');

login;
Pings;

end;
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (17.05.2010)
Старый 17.05.2010, 20:09   #37
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Помогите с boolean!!!

Нет, не работает всёровно =((

Нет, не работает всёровно =(( блина помогите
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 17.05.2010, 20:19   #38
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Помогите с boolean!!!

Как. Что именно не работает?
В смысле, что работает?

Выложи сам проект, а то у меня нет ни картинок ни возможности проверить.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (17.05.2010)
Старый 17.05.2010, 22:46   #39
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Стрелка Ответ: Помогите с boolean!!!

процедура mouseX должна быть указана выше процедуры pings, потому что внутри pings есть вызов процедуры mouseX;
Держи трофей

Program LaFull;
Var int,log,mouse,tab,ping:image;
w,h,key,x,y:integer;
bulPing:boolean;

Procedure mouseX;
begin
Key:=getKeyPressed;
if (Key=GA_LEFT) then X:=X-2;
if (Key=GA_RIGHT) then X:=X+2;
if (Key=GA_UP) then Y:=Y-2;
if (Key=GA_DOWN) then Y:=Y+2;
if x<0 then x:=0;
if y<0 then y:=0;
if y>getheight-5 then y:=getheight-5;
if x>getwidth-5 then x:=getwidth-5;
drawimage(mouse,x,y);
end;

Procedure Pings;
begin
repeat
drawImage(int,0,0);
drawImage(ping,w-85,h-69);
mouseX;
repaint;
until false;
end;


Procedure login;
begin
repeat
drawImage(int,0,0);
drawImage(log,w-98,h-31);
drawImage(tab,getwidth-118,getheight-86);
MouseX;
repaint;
if (x>45) and (y>185) and (x<115) and (y<200) and (KeyToAction(getKeyPressed)=GA_FIRE) then bulPing:=true;
until bulping=true;
end;


Procedure data;
begin
x:=getwidth/2; y:=getheight/2;
w:=getwidth/2; h:=getheight/2;
bulPing:=false;

int:=LoadImage('/int.png');
log:=loadimage('/log.png');
mouse:=loadimage('/mouse.png');
tab:=loadimage('/tab.png');
ping:=LoadImage('/ping.png');

login;
Pings;

end;

begin
data;
end.


Если не будет работать, то ошибка в названиях изображений. (их у меня нет, проверит не могу)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (17.05.2010)
Старый 21.05.2010, 23:16   #40
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Помогите с boolean!!!

Исправил
Вложения
Тип файла: rar LaFull1.1.rar (216.4 Кб, 447 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (22.05.2010)
Ответ


Опции темы

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

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


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


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