Neues TUT! (BITTE ANGUCKEN)
Verfasst: Mi Okt 09, 2002 4:28 pm
Code: Alles auswählen
++++++++++++++++++
| How to Nimm Spiel |
++++++++++++++++++
Vorwort
Dieses TUT zeigt nur WIE man ein NIMM-SPIEL machen könnte. Es gibt bestimmt noch
mehr wegen, aber so geht es auch.
Kapitel 1 -> Das Spielprinzip
Bei einem Nimm-Spiel handelt es sich meistens um, einen Haufen Münzen, man darf nur mit einen Zug bestimmt viele nehmen, aber mindestens 1. Und wenn es nur noch eine Münze gibt und einer dieser nehmen muss, der hat verloren.
Kapitel 2 -> An was muss man beim Programmieren denken !
Es ist wichtig zuversuchen alles sicher zu machen. Damit meine ich z.B. , das der Spieler nicht eingeben kann, das er Null nehmen will! In C++ würde man das so verhindern :
...
...
loop: //Bis hier hin wird gesprungen, falls man nicht zwischen 1-4 etwas wählt
cin>>eingabe; //Eingabeaufforderung
if (eingabe < 1 || eingabe > 4) //Test
{
cout<<"Bitte eine Zahl zwischen 1-4 Eingeben"<<endl; //Textausgabe
goto loop; //gehe zu loop
}
So kann man die Fehler abfangen.
Kapitel 3 -> Die KI
Wenn z.B. am Anfang 20 Münzen dort liegen und man 4 nimmt, liegen dort nur noch 16 (!). Wenn der Gegner nun dran ist, wie soll er entscheiden wieviel er nimmt ?. Es ist ehrlich gesagt ganz einfach!
16 = Haufen
16/4 = 4
Wenn wir jetzt 16 Minus 4 Rechnen kommt 12 (!) raus. Und so könnte es immer weiter gehen..ABER, was ist wenn der Haufen nur noch 1 Münze ist ??
1/4 = 1/4
Weil wir int benutzen, runden der Compiler automatisch ab. Einviertel wird aber Abgerundet...dannn würde der Computer keine Münze nehmen, sprich du würdest trotzdem verlieren! Aber, es gibt eine Lösung!!
haufen = anzahl der münzen //ist ein int darf kein Float sein!!
temp = zwischen speicher!!
eingabe = eingabe integer!!
//Wie die KI Funktioniert!!
temp = haufen/4; //Die Geteilt Rechnung, wir nehmen an das Haufen 0 ist, deswegen ist temp auch 0!!
if (temp <1) //Test, ob temp 0 ist!!
{
temp = 1; //Wenn ja temp auf 1 stellen!!
}
haufen = haufen - temp; //temp von haufen abziehen!!
Schlußwort
Ich hoffe ihr habt nun ein bisschen gelernt...;-)
Falls es Rechtschreib - Source Fehler gibt bitte mailen!
Falls Fragen, Kritik(NEIN, DANKE) oder Lob ... E-Mail!!
Viel Spaß beim Coden!!!
See Ya
Camal