forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Помогите с boolean!!! (http://forum.boolean.name/showthread.php?t=12506)

Rock2roll 14.05.2010 23:52

Ответ: Помогите с boolean!!!
 
а почему procedure p_paint;?

_Nox_ 14.05.2010 23:58

Ответ: Помогите с boolean!!!
 
ну просто есть переменная с названием intro и paint, потом сложно будет в этом разбираться, путаться будешь, или вообще не скомпилится

ViNT 15.05.2010 00:01

Ответ: Помогите с boolean!!!
 
Что-то не могу понять, что значит
Код:

Procedure data;
begin
intro:=true;//--------------?
paint:=false;//-------------?
end;

Что делают выделенные конструкции?
Да еще и при том, что переменная и процедура имеют одинаковые имена.

Rock2roll 15.05.2010 00:47

Ответ: Помогите с boolean!!!
 
я не знаю...помогли бы лучше...я вообще в булеанах не понимаю...может кто обьяснит толком? Прошу! Мне оч надо!

ViNT 15.05.2010 00:59

Ответ: Помогите с boolean!!!
 
Так я вот и спрашиваю - что нужно получить в итоге?

_Nox_ 15.05.2010 00:59

Ответ: Помогите с boolean!!!
 
В общем Boolean - логический тип данных который может принимать два значения true или false (да или нет). Используется много где. например если я хочу чтобы чтобы после какого-то действия чтото или не выполнялось или выполнялось

var
p:boolean;
a,b,i:integer;

p:=false;
for i:=1 to 100 do
begin
a:=a+i;
if a>150 then p:=true;
if p<> true then b:=b+a;
end;

Rock2roll 15.05.2010 08:22

Ответ: Помогите с boolean!!!
 
впринцыпе чуть понял, если что то ещё спрошу. Не закрывайтепока тему

Rock2roll 15.05.2010 08:51

Ответ: Помогите с boolean!!!
 
Что не так:

Program LaFull;
Var int:image;
bulLogin:boolean;

Procedure login;
begin
drawImage(int,0,0);

repaint;
delay(-1);
end;

Procedure data;
begin
bulLogin:=true;

if (bulLogin=true) then login;

int:=LoadImage('/int.png');
end;

begin
data;
end.

?????
Всё компилит, а экран белый!

Bruteo 15.05.2010 11:16

Ответ: Помогите с boolean!!!
 
Код:

if (bulLogin=true) then login;

int:=LoadImage('/int.png');

Местами поменять

Rock2roll 15.05.2010 11:33

Ответ: Помогите с boolean!!!
 
Bruteo!!!! Огромнейшее спасибо тебе!!!! Я так мучался из-за этого! Ты меня прямо спас!!! Я тебе очень благодарен! Огромнейшее спасибо!!!

Rock2roll 15.05.2010 12:46

Ответ: Помогите с boolean!!!
 
Program LaFull;
Var int,log,mouse,tab,ping:image;
w,h,key,x,y:integer;
bulLogin,bulMouse,bulPing:boolean;

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

Procedure mouseX;
begin
Key:=KeyToAction(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);
repaint;
end;

Procedure login;
begin
repeat
drawImage(int,0,0);
drawImage(log,w-98,h-31);
drawImage(tab,getwidth-118,getheight-86);

repaint;
if (x>45) and (y>185) and (x<115) and (y<200) and (KeyToAction(getKeyPressed)=GA_FIRE) then
bulPing:=true;
until (x>-100) and (y>-100) and (x<-50) and (y<-50) and (KeyToAction(getKeyPressed)=GA_FIRE);
end;

Procedure data;
begin
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 (bulMouse=true) then mouseX;
if (bulLogin=true) then login;
if (bulPing=true) then Pings;

end;

begin
data;
end.

Почему не двигается мышь?, та которая mouse? И как задержать процедуру без делай норм?

demon112 15.05.2010 19:24

Ответ: Помогите с boolean!!!
 
чёт я вообще недоганяю... зачем тебе там эти всякие булеаны? а чем тебе delay(100) не устраивает? можно ещё так:
var ms:integer;
begin
ms:=GetRelativeTimeMs;
...
код
...
while GetRelativeTimeMs-ms<100 do // задержка
begin
end;
end.

тут задержка будет ровно 100мс, т.к. тут считается время выполнения цикла.

Rock2roll 15.05.2010 20:57

Ответ: Помогите с boolean!!!
 
Нет, мне нужны именно булеаны. Как сделать чтобы перемещался курсор?? ПОМОГИТЕ!! Прошу

im_zorg 16.05.2010 11:10

Ответ: Помогите с boolean!!!
 
вот код:
Код:

Program NewProject1;
var
key,cursorx,cursory,a,ScrW,ScrH:integer;
cursor:image;
domause:boolean;

procedure cls;
begin
setColor(255,255,255);
fillRect(0,0,getWidth,getHeight);
end;

        procedure mause;
        begin
        cursorx:=5;
        cursory:=5;
        repeat
        key:=getkeyclicked;
        if key=KE_KEY4 then cursorx:=cursorx-11;
        if key=KE_KEY6 then cursorx:=cursorx+11;
        if key=KE_KEY2 then cursory:=cursory-11;
        if key=KE_KEY8 then cursory:=cursory+11;
        if cursorx>scrW then cursorx:=scrw;
        if cursory>scrH then cursory:=scrh;
        if cursorx<0 then cursorx:=0;
        if cursory<0 then cursory:=0;
        drawimage(cursor,cursorx,cursory);
        repaint;
        delay(50);
        cls;
        until false;
        end;
       
procedure data;
begin
repeat
a:=a+1;
drawtext(''+a,0,0);
repaint;
delay(100);
cls;
setcolor(0,0,0);
until a>=50;
domause:=true;
end;

Begin
        cursor:=loadimage('/icon.png');
        ScrW:= GetWidth;
        ScrH:= GetHeight;       
        data;
        if domause then mause;
End.

сначала идет процедура дата которая прибовляет к "а" по одному, когдп "а" будет равна 50 то идёт процедура mause

Rock2roll 16.05.2010 11:31

Ответ: Помогите с boolean!!!
 
Спасибо огромное


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot