Míny
Míny
Pracujem na hre míny, mam do ako zadanie do skoly. Robim to v Borland® C++Builder® for Microsoft® Windows™ (2005). Hra funguje, len som sa zasekol na jednej veci: Pri tom ako kliknem na prazdne policko, kde okolo neho nie su ani cislice, tak v normalnych minach vam odhali velku cast ohraniceny cislicami, mne iba to jedno policko. Viete mi poradit ako to spravim?
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Míny
Mohol si ukazat kody
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Míny
backtrackingom, ktorý by schématicky mohol vyzerať takto:
Kód: Vybrať všetko
function pozri(kde){
skontroluj_okolie_policka(kde); //skontroluje okolie, a ak môže, tak ho odkryje
pozri(vpravo_od_kde);
pozri(vpravohore_od_kde);
pozri(hore_od_kde);
.
. //takisto ostatné okolité políčka
.
pozri(vpravodole_od_kde);
}
Re: Míny
Nad niecim takym som premyslal, ale ak bude tych policok pri sebe 20 tak to je dost pracne potom.audiotrack napísal:backtrackingom, ktorý by schématicky mohol vyzerať takto:Kód: Vybrať všetko
function pozri(kde){ skontroluj_okolie_policka(kde); //skontroluje okolie, a ak môže, tak ho odkryje pozri(vpravo_od_kde); pozri(vpravohore_od_kde); pozri(hore_od_kde); . . //takisto ostatné okolité políčka . pozri(vpravodole_od_kde); }
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Míny
čo je na tom prácne? Aj v tom najpomalšom jazyku keby to robíš (ku ktorým c++ rozhodne nepatrí) ti to nemôže zabrať viac ako rádovo milisekundy. Nie sú tam žiadne zložité operácie, a ani tých rekurzívnych vnorení tam nie je nijako extra veľa. Toto je úplne vzorové zadanie na backtracking, inak by si to robil len veľmi krkolomne a stavím sa že aj v tých mínach vo win je to riešene rovnako