Olisko vinkkia miten voisin toteuttaa seuraavanlaisen algoritmin?
pelaajalla on mahdollista menna kustakin huoneesta yhdesta kolmeen uuteen ilmansuuntaan(pohjoinen, etela, ita, lansi.) Kulkusuuntien maara ja ilmansuunnat arvotaan. Edelliseen huoneeseen ei voi palata.
Kulkusuuntien maaran viela osaan arpoa, mutta sitten kun pitaa arpoa maaran verran ilmansuuntia ja aina sulkea pois jo arvottu ilmansuunta... Apua!
Voisiko joku auttaa pulassa olevaa?
pelaajalla on mahdollista menna kustakin huoneesta yhdesta kolmeen uuteen ilmansuuntaan(pohjoinen, etela, ita, lansi.) Kulkusuuntien maara ja ilmansuunnat arvotaan. Edelliseen huoneeseen ei voi palata.
Kulkusuuntien maaran viela osaan arpoa, mutta sitten kun pitaa arpoa maaran verran ilmansuuntia ja aina sulkea pois jo arvottu ilmansuunta... Apua!
Voisiko joku auttaa pulassa olevaa?
Vastaukset 1
Vanhimmat
ArvoSuunnat(int tulosuunta, int suunnat[])
{
/*
silmukoidaan lapi kaikki suunnat
(huom: mahdollisia suuntia voi olla vaikka enemmän jos annat esim funktion argumenttinä suuntien lukumäärän)
*/
for(i=0 to 3)
{
/*
asetetaan jokainen suunta satunnaisesti mahdolliseksi tai ei mahdolliseksi
(0=suuntaa ei ole, 1=suunta on)
*/
suunnat[i] = random(2)
}
/*
tulosuunta ei mahdollinen
*/
suunnat[tulosuunta] = 0
}
Javasta en tiedä, voi olla toki mahdollista ettei tarvitse funktiolle antaa argumenttina kuin tulosuunta, jos paluuarvona voit kätevästi antaa funktion sisällä alustetun tietueen tms.