Mi a probléma és hogy kezdjem el?
A feladatom egy hullámvasút kprogramozása a pascalban
Odáig hogy a pályát megrajzoltam eljutottam viszont a pályán a kocsit végigvinni vagy egyátalán elhelezni nem sikerült és még hibát is ír ki
program hullamvasut;
uses crt;
var x,y:byte;
begin
gotoxy(2,22);
write('----------');
gotoxy(12,22);
write('/');
gotoxy(13,21);
write('/');
gotoxy(14,20);
write('/');
gotoxy(15,19);
write('/');
gotoxy(16,18);
write('/');
gotoxy(17,17);
write('/');
gotoxy(18,16);
write('/');
gotoxy(19,15);
write('/');
gotoxy(20,14);
write('/');
gotoxy(21,13);
write('/');
gotoxy(22,12);
write('_____________');
gotoxy(35,13);
write(chr(92));
gotoxy(36,14);
write(chr(92));
gotoxy(37,15);
write(chr(92));
gotoxy(38,16);
write(chr(92));
gotoxy(39,17);
write(chr(92));
gotoxy(39,17);
write('______');
gotoxy(45,17);
write('/');
gotoxy(46,16);
write('/');
gotoxy(47,15);
write('/');
gotoxy(48,14);
write('/');
gotoxy(49,13);
write('/');
gotoxy(49,13);
write('___________');
gotoxy(60,14);
write(chr(92));
gotoxy(61,15);
write(chr(92));
gotoxy(62,16);
write(chr(92));
gotoxy(63,17);
write(chr(92));
gotoxy(62,17);
write('_________');
gotoxy(2,22);
write(chr(223));
for x:=1 to 80 do
begin
case x of
1..8:y:=23;
9: y:=22;
10: Y:=21;
11: Y:=20;
12: Y:=19;
13: Y:=18;
14: Y:=17;
15: y:=16;
gotoxy(x,y);
write('j');
end;//case
end;//for
end;
readln;
end.
//Változat:
program hullamvasut_2;
uses crt;
const
szunet = 1000; lepesIdo = 100; vHossz = 7; pHossz = 80; hanyszor = 3;
var
x, v, h :byte;
vonat : string[vHossz + 1] = #32#116#97#98#97#107#105#32;
palya : string[pHossz] = '---------//////////-------'#92#92#92#92#92+
'------////////------'#92#92#92#92'---------'#92#92#92#92#92#92#92#92+
'--------';
y : array[1..80] of byte;
procedure vonatRajz;
begin
for v := 0 to vHossz do
begin GotoXY(x + v, y[x + v]); Write(vonat[v + 1]) end;
Delay(lepesIdo);
end;
procedure jobbra;
begin Delay(szunet); for x := 1 to pHossz - vHossz do vonatRajz end;
procedure balra;
begin Delay(szunet); for x := pHossz - vHossz downto 1 do vonatRajz end;
begin
CursorOff; TextAttr := 11; y[1] := 21; GotoXY(1, 22); Write(palya[1]);
for x := 2 to pHossz do
begin
y[x] := y[x - 1];
case palya[x] of
#92: Inc(y[x]);
'/': Dec(y[x]);
else
begin
if palya[x - 1] = '/' then Dec(y[x])
else if palya[x - 1] = #92 then Inc(y[x]);
end;
end;
GotoXY(x, y[x] + 1); Write(palya[x]);
end;
TextAttr := 12; y[1] := 21; GotoXY(1, y[1]); Write(vonat);
for h := 1 to hanyszor do begin jobbra; balra end;
TextAttr := 15; GotoXY(10,5); Write('Ennyi!'); ReadLn; ClrScr; CursorOn;
end.
Na. Ez már működik Windowsban is, legalábbis nálam:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!