Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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?
()
Newbie
Messaggi: Iscritto:
Postato alle 14:32
Domenica, 18/02/2007
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.