Aihepiiri: pelit
Kolmiopalapeli
Toteuta kolmiopalapeli, jossa kolmion muotoiset palat on sijoiteltava kuusikulmion muotoiselle alueelle niin, että kahden kolmion yhteisellä laidalla on aina toisiaan vastaavat symbolit.
Esimerkki ratkaistusta kolmiopalapelistä. Esimerkissä symboliparit ovat: A-a, B-b, C-c ja D-d.
____________________
/\ A /\ B /\
/ \ / \ / \
/D a\A A/a d\D C/c c\
/ \ / \ / \
/____C___\/____B___\/___d____\
/\ c /\ b /\ D /\
/ \ / \ / \ / \
/d B\b D/d A\a a/A B\b b/B D\
/ \ / \ / \ / \
/____A___\/___c____\/___d____\/___D____\
\ a /\ C /\ D /\ d /
\ / \ / \ / \ /
\A C/c D\d B/b a\A C/c D\d a/
\ / \ / \ / \ /
\/____D___\/___A____\/____A___\/
\ d /\ a /\ a /
\ / \ / \ /
\d d/D b\B c/C a\A b/
\ / \ / \ /
\/___B____\/___A____\/
Vaatimukset
Helppo
- merkkipohjainen käyttöliittymä. Ohjelma arpoo aluksi ratkaisun. Ratkaisussa ei saa olla kahta samanlaista kolmiota. (ota huomioon, että kolmioita voidaan pyörittää) Kelpaavan ratkaisun löydyttyä ohjelma purkaa kolmiot pinoon ja sekoittaa niiden järjestyksen ja suunnan.
- Pinoa voi selata.
- Kolmioita voi sekä sijoittaa laudalle että poistaa siltä. Keksi itse, miten koordinaatit annetaan kätevästi.
- Kolmioita tulee voida pyörittää. (Laudalla saa ratkaisuvaiheessa olla ristiriitaisia sijoituksia)
- Ohjelman tulee havaita automaattisesti onnistunut ratkaisu.
- pelin tallennus.
Keskivaikea
Muuten kuin helppo, mutta graafinen käyttöliittymä.
Ehdotus: Kirjainparit voi korvata graafisessa ratkaisussa esim. värillisillä nuolilla, Nuolen kärki ja varren loppupää ovat tällöin eri kolmioissa.
Vaikea
- Kaikki edelliset vaatimukset.
- Näennäisen älykäs algoritmi, jolla tietokone voi (ilman esitietoja) yrittää pelata pelin loppuun pelaajan näin halutessa. Täydellisesti ongelman ratkaiseva tekoäly on kurssin puitteissa mahdoton.