Mi a baja ennek a forráskódnak?
Program KockaJatek;
Uses Crt;
Var
dobas,nyert,vesztett : integer;
mp : char;
Procedure EredmenyKiir;
Begin
GotoXY(50,1);
Write('eddig nyert‚l ',nyert,' j tszm t');
GotoXY(50,2);
Write('‚s vesztett‚l ',vesztett,' j tszm t');
End;
Procedure Menupontok;
Begin
ClrScr;
EredmenyKiir;
GotoXY(20,9);
Writeln('1. Dob sok sz m nak be llˇt sa');
GotoXY(20,11);
Writeln('2. J t‚k (dob sok sz ma: ',dobas,')');
GotoXY(20,13);
Writeln('3. Kil‚p‚s');
GotoXY(20,16);
Write('Melyiket v lasztod? (1,2,3)');
End;
Procedure Varakozas;
Var
c : char;
Begin
GotoXY(1,25);
Write('Nyomj egy billentyűt, ‚s visszat‚rhetsz a menh”z');
c:=ReadKey;
End;
Procedure DobasSzam;
Var
ujdobas : char;
kod : integer;
Begin
ClrScr;
Writeln('A dob sok aktu lis sz ma: ',dobas);
Write('H ny dob s legyen egy j t‚kban? (1,3,5)');
Repeat
ujdobas:=ReadKey;
If not (ujdobas in ['1','3','5']
then begin
Sound(880);
Delay(100);
Nosound;
end;
Until ujdobas in ['1','3','5'];
Val(ujdobas,dobas,kod);
Writeln;
Writeln('A dob sok Łj sz ma: ',dobas);
Varakozas;
End;
Procedure Jatek;
Var
i,gd,jd,gny,jny : integer;
c : char;
Begin
Randomize;
ClrScr;
gny:=0;
jny:=0;
For i:=1 to dobas do begin
c:=#0;
gd:=Random(6)+1;
GotoXY(1,i*2);
Write(i,'. dob som: ',gd);
GotoXY(20,i*2);
Write(i,'. dob sod:');
Repeat
jd:=Random(6)+1;
GotoXY(33,i*2);
Write(jd);
If KeyPressed then c:=ReadKey;
Delay(50);
Until c=' ';
GotoXY(40,i*2);
If gd>=jd
then begin
Writeln('A g‚p nyert!');
Inc(gny);
end
else begin
Writeln('Te nyert‚l');
Inc(jny);
end;
end;
GotoXY(1,15);
If gny>jny
then begin
Write('Ezt a j t‚kot sajnos ');
Write(gny,':',jny);
Writeln(' ar nyban a g‚p nyerte');
Inc(vesztett);
end
else begin
Write(Gratul lok! Ezt a j t‚kot ');
Write(jny,':',gny);
Writeln(' ar nyban Te nyerted');
Inc(nyert);
end;
Varakozas;
End;
BEGIN
dobas:=3;
nyert:=0;
vesztett:=0;
Repeat
Menupontok;
Repeat
mp:=ReadKey
Until mp in ['1'..'3'];
Case mp of
'1' : DobasSzam;
'2' : Jatek;
end;
Until mp='3'
END.
Ezt a kódot nem te írtad, fogadni mernék. Ha pedig igen, akkor bizonyosan ki tudod javítani, mivel te vagy a könyv szerzője. :D
Amúgy meg próbáld meg megcsinálni a programot magadtól. Egyébként ez így, ahogy ide be van másolva, nem fog fordulni, mert szintaktikailag hibás, pontosvesszők, zárójelek hiányoznak.
Program KockaJatek;
Uses Crt;
Var
dobas,nyert,vesztett : integer;
mp : char;
Procedure EredmenyKiir;
Begin
GotoXY(50,1);
Write('eddig nyert‚l ',nyert,' j tszm t');
GotoXY(50,2);
Write('‚s vesztett‚l ',vesztett,' j tszm t');
End;
Procedure Menupontok;
Begin
ClrScr;
EredmenyKiir;
GotoXY(20,9);
Writeln('1. Dob sok sz m nak be llˇt sa');
GotoXY(20,11);
Writeln('2. J t‚k (dob sok sz ma: ',dobas,')');
GotoXY(20,13);
Writeln('3. Kil‚p‚s');
GotoXY(20,16);
Write('Melyiket v lasztod? (1,2,3)');
End;
Procedure Varakozas;
Var
c : char;
Begin
GotoXY(1,25);
Write('Nyomj egy billentyűt, ‚s visszat‚rhetsz a men?”z');
c:=ReadKey;
End;
Procedure DobasSzam;
Var
ujdobas : char;
kod : integer;
Begin
ClrScr;
Writeln('A dob sok aktu lis sz ma: ',dobas);
Write('H ny dob s legyen egy j t‚kban? (1,3,5)');
Repeat
ujdobas:=ReadKey;
If not (ujdobas in ['1','3','5'])
then begin
Sound(880);
Delay(100);
Nosound;
end;
Until ujdobas in ['1','3','5'];
Val(ujdobas,dobas,kod);
Writeln;
Writeln('A dob sok Łj sz ma: ',dobas);
Varakozas;
End;
Procedure Jatek;
Var
i,gd,jd,gny,jny : integer;
c : char;
Begin
Randomize;
ClrScr;
gny:=0;
jny:=0;
For i:=1 to dobas do begin
c:=#0;
gd:=Random(6)+1;
GotoXY(1,i*2);
Write(i,'. dob som: ',gd);
GotoXY(20,i*2);
Write(i,'. dob sod:');
Repeat
jd:=Random(6)+1;
GotoXY(33,i*2);
Write(jd);
If KeyPressed then c:=ReadKey;
Delay(50);
Until c=' ';
GotoXY(40,i*2);
If gd>=jd
then begin
Writeln('A g‚p nyert!');
Inc(gny);
end
else begin
Writeln('Te nyert‚l');
Inc(jny);
end;
end;
GotoXY(1,15);
If gny>jny
then begin
Write('Ezt a j t‚kot sajnos ');
Write(gny,':',jny);
Writeln(' ar nyban a g‚p nyerte');
Inc(vesztett);
end
else begin
Write('Gratulalok! Ezt a jatekot ');
Write(jny,':',gny);
Writeln(' aranyban Te nyerted');
Inc(nyert);
end;
Varakozas;
End;
BEGIN
dobas:=3;
nyert:=0;
vesztett:=0;
Repeat
Menupontok;
Repeat
mp:=ReadKey
Until mp in ['1'..'3'];
Case mp of
'1' : DobasSzam;
'2' : Jatek;
end;
Until mp='3'
END.
Próbáld így, de elárulom hogy csak 2 elírás volt benne és ha követed a fordító utasításait (kiírja a hibás sort és a hibát) akkor elég hamar kijavíthattad volna. És az ékezetes betűk elromlanak a kódban, de ezt te is észrevetted gondolom.
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!