#4 gna
neviem prečo Vám to nejde, možno odstránením 1:3 by to išlo, lebo ako som povedal v knihe s príkladom, to generuje celé čísla, tie desatinné som pridal ja ako taký môj príspevok, lebo v knihe je program čisto na vygenerovanie iba jedného náhodného čísla, no a mňa napadlo, že ak viem napísať program na generovanie iba jedného desatinného čísla, tak by mala byť aj možnosť generovať viac náhodných desatinných čísel, ale program ktorý som tu hodil je iba výsek upravenej jednej časti celého programu, preto došlo i v chybe pri prepise 30 - stavka3, tá stavka3 je syntaxovo chybná, malo tam byť iba stavka, ale možno tu by pomohlo prepis kompletného môjho pôvodného kódu, ten však ako som spomenul na začiatku negeneruje desatinné čísla a v tretej časti programu pri súhrnom výpise tipov a vylosovaných čísel dáva iba 0, alebo až 10 typov. Tu je môj originálny program, ktorý okrem týchto dvoch chýb ide, ale musím vopred upozorniť, že je dosť dlhý, keďže v podstate sú tu až 4 programy:
Program Herna1;
var vylosovane1,vylosovane2,vylosovane3,vylosovane4:array[1..10] of integer;
var tip1,tip2,tip3,tip4:array[1..10] of integer;
var hotovost1,hotovost2,hotovost3,hotovost4,stavka1,stavka2,stavka3,stavka4,vyhra1,vyhra2,vyhra4:integer;
var cislo1,cislo2,cislo3,cislo4,uspech1,uspech2,uspech3,uspech4:integer;
var koniec1,koniec2,koniec3,koniec4:string;
begin
writeln('Tu si vytvoríme imaginárnú hernu');
writeln('Budeme tu mat az 4 stoly');
writeln('Hrác zacne na prvom a v prípade, ze ho hra uz nebude bavit, presunie sa oznamom koniec k druhej hre');
writeln('Takto pokracuje k poslednej hre, kde ho uz caká iba vychod z herne');
writeln('Tak podme do herne a nezabúdat stlácat enter po zadaní císla');
writeln('Pre pokracovanie programu stlacte enter');
readln();
writeln('PRVA HRA');
writeln('Dobry vecer');
writeln('Vasou úlohov je typnut si správne 10 císel, od jedna do desat');
writeln('Kolko penazí chcete vymenit za peniaze (min. 20), po zadaní stalcte enter: ');
readln(hotovost1);
if hotovost1 < 20 then
writeln('Bohuzial minimum je 20. Opuste prosim hernu.')
else
repeat
begin
Randomize;
writeln('Ak ste pripraveny, stavte zetóny a stlacte enter.');
writeln('Minimálna stávka je 20 zetónov');
writeln('Zadajte stávku a stlacte enter: ');
readln(stavka1);
while (stavka1 < 20) or (stavka1 > hotovost1) do
begin
while stavka1 < 20 do
begin
writeln('Mali by ste prihodit aspon ', 20 - stavka1);
writeln('Zadajte kolko pridáte a stlacte enter: ');
readln(cislo1);
stavka1:=stavka1 + cislo1;
end;
while stavka1 > hotovost1 do
begin
writeln('Tolko nemáte, znizte prosim svoju stávku.');
writeln('Vasa zetóny: ', hotovost1);
writeln('Zadajte Vasu stávku a stlacte enter (min. 20): ');
read(stavka1);
end;
end;
writeln('Stávka ', stavka1,' je v poriadku.');
hotovost1:=hotovost1 - stavka1;
writeln('Zostali Vám zetóny:', hotovost1);
for cislo1:=1 to 10 do
begin
writeln('Tipnite si ', cislo1 ,'. císlo (0-10) a stlacte enter: ');
readln(tip1[cislo1]);
end;
writeln('Vase tipy: ');
for cislo1:=1 to 10 do
writeln(tip1[cislo1], ' ');
writeln('Pre zaciatok losovania stlacte enter: ');
readln();
uspech1:=0;
for cislo1:=1 to 10 do
begin
vylosovane1[cislo1]:=random(10);
writeln(cislo1, '. císlo: ', vylosovane1[cislo1]);
if vylosovane1[cislo1]=tip1[cislo1] then begin
uspech1:=uspech1 + 1;
writeln(' ANO! -> Uspesnost = ',uspech1,'. Stlacte enter.');
end
else
writeln(' Nic. Uspesnost = ',uspech1,'. Stlacte enter.');
readln();
end;
writeln('Vase tipy : ');
for cislo1:=1 to 10 do
writeln(tip1[cislo1], ' ');
writeln('Vylosované: ');
for cislo1:=1 to 10 do
writeln(vylosovane1[cislo1], ' ');
writeln('Uspesnost: ', uspech1);
case uspech1 of
10:
begin
hotovost1:=hotovost1 + (stavka1*5);
writeln('Vyhrávate pätnásobok stávky = ', stavka1*5);
end;
9:
begin
hotovost1:=hotovost1 + (stavka1*4);
writeln('Vyhrávate stvornásobok stávky = ', stavka1*4);
end;
8:
begin
hotovost1:=hotovost1 + (stavka1*3);
writeln('Vyhrávate trojnásobok stávky = ', stavka1*3);
end;
7:
begin
hotovost1:=hotovost1 + (stavka1*2);
writeln('Vyhrávate dvojnásobok stávky = ', stavka1*2);
end;
6:
begin
hotovost1:=hotovost1 + stavka1;
writeln('Vyhrávate spät svoju stávku = ', stavka1);
end;
5:
begin
vyhra1 := stavka1 - (stavka1 div 4);
hotovost1:=hotovost1 + vyhra1;
writeln('Vyhrávate 3/4 zo svojej stávky = ', vyhra1);
end;
4:
begin
vyhra1 := stavka1 - (stavka1 div 3);
hotovost1:=hotovost1 + vyhra1;
writeln('Vyhrávate 2/3 zo svojej stávky = ', vyhra1);
end;
3:
begin
hotovost1:=hotovost1 + (stavka1 div 2);
writeln('Vyhrávate polovicu zo svojej stavky = ', stavka1 div 2);
end;
2:
begin
hotovost1:=hotovost1 + (stavka1 div 3);
writeln('Vyhrávate tretinu zo svojej stávky = ', stavka1 div 3);
end
else
writeln('Ztrácate celu stávku = ', -stavka1);
end;
writeln('Vase zetóny: ', hotovost1);
if hotovost1 < 20 then
begin
writeln('Vase zetóny nie sú vo vyske stávkového minima.');
writeln('Prosím, opuste hru.');
end
else
writeln('Ak chcete skoncit hru, napíste koniec a stlacte enter.');
writeln('Pre pokracovanie stlacte iba samotny enter. ');
readln();
read(koniec1);
end;
until (koniec1 = 'koniec') or (hotovost1 < 20);
writeln('Pre pokracovanie programu stlacte enter');
readln();
writeln('Teraz si zvysime sancu na vyhru tym,ze budeme typovat iba medzi 0 a 2');
writeln('DRUHA HRA');
writeln('Dobry vecer');
writeln();
writeln('Kolko penazí chcete vymenit za zetóny (min. 10) a stlacte enter: ');
readln(hotovost2);
hotovost2:=hotovost2 + hotovost1;
writeln(hotovost2);
if hotovost2 < 10 then
writeln('Bohuzial, minimum je 10. Opuste prosím hernu.')
else
repeat
begin
Randomize;
writeln('Vase zetóny sú');
writeln(hotovost2);
writeln('Ak ste pripraveny k hre, dajte stávku.');
writeln('Minimálna stávka je 10 zetónov');
writeln('Zadajte stávku a stlacte enter: ');
readln(stavka2);
while (stavka2 < 10) or (stavka2 > hotovost2) do
begin
while stavka2 < 10 do
begin
writeln('Mali by ste prihodit aspon ', 10 - stavka2);
writeln('Kolko pridáte: ');
readln(cislo2);
stavka2:=stavka2 + cislo2;
end;
while stavka2 > hotovost2 do
begin
writeln('Tolko nemáte, znizte stávku.');
writeln('Vase zetóny: ', hotovost2);
writeln('Vasa stavka (min. 10) a stlacte enter: ');
readln(stavka2);
end;
end;
writeln('Stávka ', stavka2,' je OK.');
hotovost2:=hotovost2 - stavka2;
writeln('Teraz máte u seba zetónov:', hotovost2);
for cislo2:=1 to 10 do
begin
writeln('Tipnite si ', cislo2 ,'. císlo (0-2) a stlacte enter: ');
readln(tip2[cislo2]);
end;
writeln('Vase tipy: ');
for cislo2:=1 to 10 do
writeln(tip2[cislo2], ' ');
writeln();
writeln('Pre zaciatok losovania stlacte enter: ');
readln();
uspech2:=0;
for cislo2:=1 to 10 do
begin
vylosovane2[cislo2]:=random(2);
writeln(cislo2, '. cislo: ', vylosovane2[cislo2]);
if vylosovane2[cislo2]=tip2[cislo2] then begin
uspech2:=uspech2 + 1;
writeln(' ANO! -> Uspesnost = ',uspech2,'. Stlacte enter.');
end
else
writeln(' Nic. Uspesnost = ',uspech2,'. Stlacte enter.');
readln();
end;
writeln('Vase tipy : ');
for cislo2:=1 to 10 do
writeln(tip2[cislo2], ' ');
writeln();
writeln('Vylosované: ');
for cislo2:=1 to 10 do
writeln(vylosovane2[cislo2], ' ');
writeln();
writeln('Uspesnost: ', uspech2);
case uspech2 of
10:
begin
hotovost2:=hotovost2 + (stavka2*5);
writeln('Vyhravate pätnásobok stávky = ', stavka2*5);
end;
9:
begin
hotovost2:=hotovost2 + (stavka2*4);
writeln('Vyhravate stvornásobok stávky = ', stavka2*4);
end;
8:
begin
hotovost2:=hotovost2 + (stavka2*3);
writeln('Vyhrávate trojnásobok stávky = ', stavka2*3);
end;
7:
begin
hotovost2:=hotovost2 + (stavka2*2);
writeln('Vyhrávate dvojnásobok stávky = ', stavka2*2);
end;
6:
begin
hotovost2:=hotovost2 + stavka2;
writeln('Vyhrávate spät svoju stávku = ', stavka2);
end;
5:
begin
vyhra2 := stavka2 - (stavka2 div 4);
hotovost2:=hotovost2 + vyhra2;
writeln('Vyhrávate 3/4 zo svojej stávky = ', vyhra2);
end;
4:
begin
vyhra2 := stavka2 - (stavka2 div 3);
hotovost2:=hotovost2 + vyhra2;
writeln('Vyhrávate 2/3 zo svojej stávky = ', vyhra2);
end;
3:
begin
hotovost2:=hotovost2 + (stavka2 div 2);
writeln('Vyhrávate polovicu zo svojej stávky = ', stavka2 div 2);
end;
2:
begin
hotovost2:=hotovost2 + (stavka2 div 3);
writeln('Vyhrávate tretinu zo svojej stávky = ', stavka2 div 3);
end
else
writeln('Ztrácate celu svoju stavku = ', -stavka2);
end;
writeln('Vase zetóny: ', hotovost2);
if hotovost2 < 10 then
begin
writeln('Vase zetóny bohuzial nedosahujú stávkového minima.');
writeln('Prosím, opuste hru.');
end
else
begin
writeln('Chcete skoncit hru, napiste koniec a stlacte enter.');
writeln('Pro pokracovanie v hre stlacte iba enter.');
readln();
read(koniec2);
end;
end;
until (koniec2 = 'koniec') or (hotovost2 < 10);
writeln('Pre pokracovanie programu stlacte enter');
readln();
writeln('V tretej hre stavime 30 a budeme mat iba 5 tipov, pri com typujeme desatinne cisla s tromi desatinnymi miestami');
writeln('TRETIA HRA');
writeln('Dobry vecer');
writeln();
writeln('Kolko penazí chcete vymenit za zetóny (min. 30) a stlacte enter: ');
readln(hotovost3);
hotovost3:= hotovost3 + hotovost2;
writeln(hotovost3);
if hotovost3 < 30 then
writeln('Bohuzial, minimum je 30. Opuste prosím hernu.')
else
repeat
begin
Randomize;
writeln('Vase zetóny sú');
writeln(hotovost3);
writeln('Ak ste pripraveny k hre, dajte stávku.');
writeln('Minimálna stávka je 30 zetónov');
writeln('Zadajte stávku a stlacte enter: ');
readln(stavka3);
while (stavka3 < 30) or (stavka3 > hotovost3) do
begin
while stavka3 < 30 do
begin
writeln('Mali by ste prihodit aspon ', 30 - stavka3);
writeln('Kolko pridáte: ');
readln(cislo3);
stavka3:=stavka3 + cislo3;
end;
while stavka3 > hotovost3 do
begin
writeln('Tolko nemáte, znizte stávku.');
writeln('Vase zetóny: ', hotovost3);
write('Vasa stavka (min. 30) a stlacte enter: ');
readln(stavka3);
end;
end;
writeln('Stávka ', stavka3,' je OK.');
hotovost3:=hotovost3 - stavka3;
writeln('Teraz máte u seba zetónov:', hotovost3);
for cislo3:=1 to 5 do
begin
writeln('Tipnite si ', cislo3 ,'. císlo (0-10) a stlacte enter: ');
readln(tip3[cislo3]);
end;
write('Vase tipy: ');
for cislo3:=1 to 10 do
write(tip3[cislo3], ' ');
writeln();
writeln('Pre zaciatok losovania stlacte enter: ');
readln();
uspech3:=0;
for cislo3:=1 to 5 do
begin
vylosovane3[cislo3]:=random(10);
write(cislo3, '. cislo: ', vylosovane3[cislo3]);
if vylosovane3[cislo3]=tip3[cislo3] then begin
uspech3:=uspech3 + 1;
writeln(' ANO! -> Uspesnost = ',uspech3,'. Stlacte enter.');
end
else
writeln(' Nic. Uspesnost = ',uspech3,'. Stlacte enter.');
readln();
end;
write('Vase tipy : ');
for cislo3:=1 to 5 do
write(tip3[cislo3], ' ');
writeln();
write('Vylosované: ');
for cislo3:=1 to 5 do
write(vylosovane3[cislo3], ' ');
writeln();
writeln('Uspesnost: ', uspech3);
case uspech3 of
5:
begin
hotovost3:=hotovost3 + (stavka3*6);
writeln('Vyhravate sestnásobok stávky = ', stavka3*5);
end;
4:
begin
hotovost3:=hotovost3 + (stavka3*5);
writeln('Vyhravate pätnásobok stávky = ', stavka3*5);
end;
3:
begin
hotovost3:=hotovost3 + (stavka3 div 2);
writeln('Vyhrávate polovicu zo svojej stávky = ', stavka3 div 2);
end;
2:
begin
hotovost3:=hotovost3 + (stavka3 div 3);
writeln('Vyhrávate tretinu zo svojej stávky = ', stavka3 div 3);
end
else
writeln('Ztrácate celu svoju stavku = ', -stavka3);
end;
writeln('Vase zetóny: ', hotovost3);
if hotovost3 < 30 then
begin
writeln('Vase zetóny bohuzial nedosahujú stávkového minima.');
writeln('Prosím, opuste hru.');
end
else
begin
writeln('Chcete skoncit hru, napiste koniec a stlacte enter.');
writeln('Pro pokracovanie v hre stlacte iba enter.');
readln();
read(koniec3);
end;
end;
until (koniec3 = 'koniec') or (hotovost3 < 30);
writeln('Pre pokracovanie programu stlacte enter');
readln();
writeln('V poslednej hre stavime 50 a budeme mat iba jeden tip');
writeln('STVRTA HRA');
writeln('Dobry vecer');
writeln();
writeln('Kolko penazí chcete vymenit za zetóny (min. 50) a stlacte enter: ');
readln(hotovost4);
hotovost4:= hotovost4 + hotovost3;
writeln(hotovost4);
if hotovost4 < 50 then
writeln('Bohuzial, minimum je 50. Opuste prosím hernu.')
else
repeat
begin
Randomize;
writeln('Vase zetóny sú');
writeln(hotovost4);
writeln('Ak ste pripraveny k hre, dajte stávku.');
writeln('Minimálna stávka je 50 zetónov');
writeln('Zadajte stávku a stlacte enter: ');
readln(stavka4);
while (stavka4 < 50) or (stavka4 > hotovost4) do
begin
while stavka4 < 50 do
begin
writeln('Mali by ste prihodit aspon ', 50 - stavka4);
writeln('Kolko pridáte: ');
readln(cislo4);
stavka4:=stavka4 + cislo4;
end;
while stavka4 > hotovost4 do
begin
writeln('Tolko nemáte, znizte stávku.');
writeln('Vase zetóny: ', hotovost4);
write('Vasa stavka (min. 30) a stlacte enter: ');
readln(stavka4);
end;
end;
writeln('Stávka ', stavka4,' je OK.');
hotovost4:=hotovost4 - stavka4;
writeln('Teraz máte u seba zetónov:', hotovost4);
for cislo4:=1 to 1 do
begin
writeln('Tipnite si ', cislo4 ,'. císlo (0-10) a stlacte enter: ');
readln(tip4[cislo4]);
end;
write('Vas tip: ');
for cislo4:=1 to 1 do
write(tip4[cislo4], ' ');
writeln();
writeln('Pre zaciatok losovania stlacte enter: ');
readln();
uspech4:=0;
for cislo4:=1 to 1 do
begin
vylosovane4[cislo4]:=random(10);
write(cislo4, '. cislo: ', vylosovane4[cislo4]);
if vylosovane4[cislo4]=tip4[cislo4] then begin
uspech4:=uspech4 + 1;
writeln(' ANO! -> Uspesnost = ',uspech4,'. Stlacte enter.');
end
else
writeln(' Nic. Uspesnost = ',uspech4,'. Stlacte enter.');
readln();
end;
write('Vase tipy : ');
for cislo4:=1 to 1 do
write(tip4[cislo4], ' ');
writeln();
write('Vylosované: ');
for cislo4:=1 to 1 do
write(vylosovane4[cislo4], ' ');
writeln();
writeln('Uspesnost: ', uspech4);
case uspech4 of
1:
begin
hotovost4:=hotovost4 + (stavka4*10);
writeln('Vyhravate desatnásobok stávky = ', stavka4*10);
end
else
writeln('Ztrácate celu svoju stavku = ', -stavka4);
end;
writeln('Vase zetóny: ', hotovost4);
if hotovost4 < 50 then
begin
writeln('Vase zetóny bohuzial nedosahujú stávkového minima.');
writeln('Prosím, opuste hru.');
end
else
begin
writeln('Chcete skoncit hru, napiste koniec a stlacte enter.');
writeln('Pro pokracovanie v hre stlacte iba enter.');
readln();
read(koniec4);
end;
end;
until (koniec4 = 'koniec') or (hotovost4 < 50);
writeln('Vasa vyhra je dnes');
writeln(hotovost4);
writeln('Pre skoncenie programu stlacte enter');
readln();
end.