Dobrý den, prosím o radu. Jde o jednoduchou hru bludiste kde ovšem nechapu část kódu. Byl bych velmi rád kdyby mě mohl někdo poradit. Přiložil jsem níže proceduru PlayGame kde je řešen pohyb, procedura není celá, jen část aby bylo videt jak to má vlastně fungovat. Jinak bludiště je řešeno přez dvourozměrné pole array[1..Max1,1..Max2]of char;
procedure Tbludiste.PlayGame;
var x,y:integer;
begin
writeln('Hra prave zacina ! Stiskem krávesy ENTER prejdes ke hre. Klavesou ESC ukoncis hru ');
writeln ('hodne stesti !!!');
if readkey=chr(13) then
dtStart:=Now();
repeat
clrscr;
writeln;
for x := 1 to Max1 do
for y := 1 to Max2 do
begin
write(pole[x,y]);
if pole[x,y]='*' then
begin
a:=x; Z jakého důvodu jsou souřadnice z pole v proměnné a a b?. Jaký to má význam popř zda by to šlo bez nich?
b:=y;
end;
end;
Klavesa:=readkey;
if Klavesa='P' then
begin
if pole[a+1,b]='$' then
Win:=true
else if pole[a+1,b]='0' then
Konec:=true;
pole[a,b]:=' ';
pole[a+1,b]:='*';
end;
Zrovna jsem ti to málem poslal mailem :-).
Vezmu to popořadě:
1) Nechápu, proč se všichni pokoušíte cpát to do objektu. Zaprvé se tím program zbytečně komplikuje a zadruhé stejně používáte tolik globálních proměnných, že objektovost ztrácí smysl. Ale vyloženě chyba to není, fungovalo by to i tak.
2) Už jsi někdy něco naprogramoval? A máš o programování zájem, nebo se jenom snažíš získat zápočet a pak všechno zapomeneš? Já jenom jestli má cenu snažit se o vysvětlování, nebo jestli prostě sháníš někoho, kdo to za tebe napíše ;-).
3) Dobrá, teď k původní otázce. Zadání říká, že hvězdička je panáček, dolar je cíl, mezera je prázdno a všechno ostatní jsou zdi. Autor si tedy uložil souřadnice panáčka do proměnných a,b. Udělal to proto, aby mohl o kousek dál po vyhodnocení stisknutých kláves vypočítat jeho novou polohu.
4) V tomhle kódu je tolik chyb, že by stejně nefungoval. Radši ho zahoď, ať tě neplete, a začni od začátku.
Nahlásit jako SPAM
IP: 212.118.224.–
Chceš-li lepší odpověď, polož lepší otázku. Moje stránka.
Jinak k té objektovosti: Takto to máme zadané ve škole, že to má takto být. Jinak samozřejmě bych byl rád i za podrobnější vysvětlení. Ve škole jsme dostali za úkol všichni lidé i kteří nikdy neprogramovali naučit se za 3 měsíce naprogramovat takovouto hru. A tak jelikož se to tepřive učím tak mě nění dost věcí jasných, konkrétně problém na který jsem se ptal. Tuto část mě poradil jeden muj znamej avšak je v současné chvíli mimo čr .. a ja potřebuju to totiž vědet co nejdřive tak jsem se obrátil na tuhle diskuzi., Tak jsem se jeste chtel zeptat da by to šlo i bez proměnných a a b? myslím tim dát tam x a y a nedávat do do a a b. já sám když jsem to zkoušel mě to nešlo, ale jinak od spoluzáku vím že by to asi jít mělo .. děkuji l.
Jinak ten zdroják mě funguje, bludiste běhá jak má
#1Pascalx
"Z jakého důvodu jsou souřadnice z pole v proměnné a a b?. Jaký to má význam popř zda by to šlo bez nich?"
Co ti brání to bez nich zkusit? Prostě je smaž a uvidíš, jestli to ještě bude fungovat.
Ale kdyby ses nejdřív podíval, na co se ty proměnné a,b, používají, tak bys zjistil, že se do nich uloží pozice hvězdičky, aby se po stisku klávesy P mohlo zkoumat, jestli o políčko dál není náhodou znak $ nebo co. Proměnné x a y by na to autor použít nemohl, protože do nich program postupně nastavuje pomocí cyklu všechny souřadnice, takže po skončení je v nich souřadnice pravého dolního rohu!