PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tic-tac-toe mit atmega32



Che Guevara
09.06.2008, 21:20
hallo leude,

habe (mal wieder) ein problem:

als ich mid meinem freind tic-tac-toe spielte (natürlich ohne geldeinsatz ;-) ) überkam mich die idee, dieses spiel mit einem atmega32, 4 tastern für die richtungen (x,y) und 9 red-green leds zu bauen.

soweit der plan, allerdings scheitere ich schon bei der programmierung (hardware wird das kleinere problem, werde jede led einzeln ansteuern, sind ja genügend ports vorhandn :-) ).
anfangs möchte ich nur mal versuchen, einen "punkt" (also immer eine led an) bewegen zu können!! hier mal mein code, welcher allerdings nach 3 stunden und 5 tassen kaffe noch immer noch nicht funzt:



gruß
chris

izaseba
10.06.2008, 16:10
Hallo,
An sich keine schlechte Idee.
Ich würde aber damit anfangen die KI zu programmieren, das dürfte das schwieriegste sein.

Hast Du schon eine Idee, wie Du das machen willst ?

Gruß Sebastian

Che Guevara
10.06.2008, 19:17
hallo sebastian,

danke für deine antwort!
aber.......... was bitte ist ki?? (künstliche intelligenz??)

das problem mit dem bewegen eines punktes habe ich übrigens schon gelöst, code folgt.
jetzt möchte ich mich daran wagen, bei einem tastendruck die gerade leuchtende led immer leuchten zu lassen (im restlichen verlauf des spiels).
allerdings habe ich da so meine probleme 8-[
vielleicht könntet ihr mir ja tipps/anregungen geben, wie ich das am besten anpacken sollte?!?!?!

wäre wirklich sehr dankbar!!

gruß
chris

izaseba
10.06.2008, 19:25
aber.......... was bitte ist ki?? (künstliche intelligenz??)

Ja genau,
Du mußt ja dem µC tic-tac-toe Regeln beibringen ;-)

Oder soll hier zwischen 2 Menschen gespielt werden :-k

Gruß Sebastian

Che Guevara
10.06.2008, 19:41
tut mir leid, hatte ich nicht erklärt!
ja, es soll zwischen zwei menschen gespielt werden!!

gruß
chris

zerush
10.06.2008, 22:21
Falls es dich dennoch interessiert:
"KI" für TicTacToe is sehr simpel. Du brauchst hier nur eine Alpha-Beta-Suche (google, wikipedia) der suchtiefe 9 zu implementieren. Schon hast du eine KI, die beim TicTacToe nicht mehr verliert und sogar gewinnt, wenn du zu schlecht spielst ;-)

Mal generell:
Du solltest dir als erstes Gedanken über die Implementierung des Spielfeldes machen. Bei 3x3 = 9 Feldern mit je 3 Zuständen genügt ja ein long als Spielfeld, in dem jeweils 2 Bit ein Feld repräsentieren.
Das gewählte Feld belegst du dann einfach mit dem Wert, der gerade an der Reihe ist...

Che Guevara
11.06.2008, 19:39
@zerush,

danke für deine antwort, aber ich verstehe leider nur bahnhof *schäm*
was ist den ein long??

gruß
chris

zerush
12.06.2008, 11:52
Ein long ist ein datentyp (in C) ich weiß leider nicht ob das in basic auch so heißt. Auf jeden Fall hat er 32 Bit.

wenn du dann sagst 00 ist leer, 01 ist nen X und 10 ist nen O, dann passt da ja das ganze Feld rein...

0 | X | 0
| |
X | |

wird dann zum beispiel zu:
00 00 10 00 00 00 01 10 01

mit einfachen Bitoperationen kannst du dann belibig X und O setzen...

Che Guevara
13.06.2008, 18:13
hallo zerush,

jetzt verstehe ich dich :cheesy: ;-)
allerdings weiß ich nicht, wie ich das umsetzen soll... könntest du mir freundlicherweise ein kurzes beispiel zeigen??


gruß
chris