Pascal System Kolizji

0

Witam !!!!
Jestem w 2 klasie TI .Mamy projekt<ort> . </ort>Robię wraz z kumplami gre<ort> , </ort>która polega na Wymijaniu pojazdem przeszkód poruszjących się w dół planszy. Zrobiłem już sterowanie <ort>,</ort>przeszkody<ort> , </ort>no ale nie ort! zrobić by program zakańczał grę po tym<ort> </ort>jak wpadnie na Przeszkodę<ort> .</ort>Poniżej link do kodu z samymi przeszkodami
http://wklej.org/id/612837/

Proszę o szybką odp<ort> .</ort>

0
if x=0 then
begin
writeln(a,b,c);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=1 then
begin
writeln(a,c,b);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=2 then
begin
writeln(b,a,c);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=3 then
begin
writeln(b,c,a);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=4 then
begin
writeln(c,a,b);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=5 then
begin
writeln(c,b,a);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;


until keypressed;
end.
uses crt;
var
a,b,c:string;
x,i:integer;
klawisz:boolean;
z:char;


begin
a:='#####';
b:='*****';
c:='     ';
clrscr;
writeln(' ');
writeln(' ');
writeln(' ');
writeln(' ');

          repeat

randomize;
x:=random(5);

if x=0 then
begin
writeln(a,b,c);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=1 then
begin
writeln(a,c,b);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=2 then
begin
writeln(b,a,c);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=3 then
begin
writeln(b,c,a);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=4 then
begin
writeln(c,a,b);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

if x=5 then
begin
writeln(c,b,a);
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
delay(500);
writeln(' ');
end;

Boję się Ciebie...
http://en.wikipedia.org/wiki/Don't_repeat_yourself

0

Daj w łapę parę złotych i masz grę, nawet będę wspaniałomyślny i się nie podpiszę.

A tak wgl to nawet samemu takie coś w 15 min można zrobić.

0

Jeju jakie potworki : ) Może by tak case a nie dziwne twory z Ifami. Albo jak już było mówione podprogramy?

0

Wracając do twojego kodu, to można go skrócić np.tak:

//randomize; <-- randomize wywołujemy tylko RAZ! Na początku programU!
x:=random(5);

Case X Of
Begin
 0: writeln(a,b,c);
 1: writeln(a,c,b);
 2: writeln(b,a,c);
 3: writeln(b,c,a);
 4: writeln(c,a,b);
 5: writeln(c,b,a);
End;
For X := 0 To 4 Do
Begin
 delay(500);
 writeln(' ');
End;

Dlaczego początkujący zawsze muszą koniecznie napisać jakąś grę...

1 użytkowników online, w tym zalogowanych: 0, gości: 1