Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
16/02/07 16:49
program grafica;
uses crt,graph;
var grdriver,grmode,x,y:integer;
procedure assegnagrafica;
begin
grdriver:=detect;
initgraph(grdriver,grmode,'C:\tp\bgi');
end;
procedure disegnaomino(x,y,colore:integer);
begin
setcolor(colore);
circle(x,y,10);
rectangle(x-10,y+10,x+10,y+40);
line(x-10,y+20,x-15,y+20+15);
line(x+10,y+20,x+15,y+20+15);
line(x-5,y+40,x-10,y+40+20);
line(x+5,y+40,x+10,y+40+20);
end;
begin
assegnagrafica;
setbkcolor(black);
x:=20;y:=200;
disegnaomino(x,y,white);
repeat until keypressed;
repeat
delay(500);
disegnaomino(x,y,black);
x:=x+20;
disegnaomino(x,y,white)
until (x>getmaxx-50);
setcolor(yellow);
outtextxy(10,400,'Premi un tasto');
repeat until keypressed
end.



L'omino che si muove, lo visualizza, ma alla fine non mi visualizza la scritta "Premi un tasto". Cosa ho sbagliato?
18/02/07 13:32
Ho notato che se levo il primo "repeat until keypressed;", il secondo poi viene letto, ferma il programma, e quindi visualizzo il messaggio "Premi un tasto". Ma perchè deve esserci per forza un solo "repeat until keypressed"? Non riesco proprio a spiegarmelo. :-?:-?:-?
28/08/07 17:11
siddy
Repeat until keypressed sta a significare:
Ripeti finché la funzione keypressed assume il valore di true.

La seconda volta che il codice legge il keypressed, lo dà per true perché non è stato riportato a false nel codice.

Per farlo ti basta scrivere subito dopo la prima delle due istruzioni "readkey;"; poi ti dovrebbe funzionare...
aaa
05/11/07 22:50
gamsah
quoto :)
aaa
06/11/07 13:29
WARRIOR
Se hai qualche problema, apri un nuovo topic, non ne richiami uno vecchio per dire "quoto".

Topic locked.
aaa