Die Universitaet Waterloo organisiert zur Zeit einen von Google gesponserten AI Wettbewerb. Aufgabe ist es einen Tron-Bot zu chreiben der sich in 1on1 Spielen auf verschiedenen Karten gegen die Bots der anderen teilnehmer behaupten muss. Die Regeln sind einfach: jeder Bot hat 1 Sekunde Zeit um seinen naechsten Schritt dem ‘Spielserver’ mitzuteilen. Wer dabei zuerst in eine Wand oder die TronWand des Gegners laeuft verliert das Match. Die Kommunikation mit dem ‘Spielserver’ laeuft dabei ueber stdin/stdout, so dass man seinen Bot in nahezu jeder Programmiersprache schreiben kann. Meine Wahl: perl. Einsendeschluss ist der 26.02.2010. Ich hoffe das ich bis zum Wochenende meine erste Version fertig und submitted habe.
Archive for the ‘programming’ Category
Google AI Challenge
Tuesday, February 16th, 2010CComboBox zeigt keine Items… oder doch?
Sunday, February 7th, 2010Mein erster Kontakt mit der MFC-Klasse CComboBox war etwas frustrierend. Ich wollte eine ComboBox in einem Dialogfeld mit Werten aus einem CRecordSet fuellen. Habe also eine Controlvariable zur Dialogklasse hinzugefuegt und wollte diese dann in der OnInitDialog()-Funktion des Dialoges mit Werten fuellen. Etwas vereinfacht sah das etwa so aus:
Der Compiliervorgang brachte keinen Fehler. Der Dialog wurde angezeigt, die comboBox ebenso doch sie war leer. Klickt man auf den Pfeil wo eigentlich die Liste mit eben hinzugefuegten Werten aufklappen sollte passiert nichts. Ich habe mich also weiter durch die Dokumentation gefressen aber nach allem rumprobieren musste AddString einfach die richtige Funktion zum hinzufuegen sein und OnInitDialog() auch die richtige Stelle dafuer.
Loesung:
Das problem war, dass die Hoehe der Aufklappliste nach Erzeugen einer ComboBox auf 0 gesetzt ist. *facepalm* Warum? – Keine Ahnung… Warum das nirgends Dokumentiert ist? – Keine Ahnung… Abhilfe schafft ein kurzer Besuch im DialogEditor. Zunaechst die ComboBox auswaehlen…
… und anschliessend auf den DropDown-Pfeil klicken. Die Markierung der ComboBox aendert sich und man kann nun am unteren, mittleren Quadrat die Hoehe der AufklappListe einstellen…

… und siehe da das Hinzufuegen der Items hat geklappt, man hat sie nur nicht gesehen da die Hoehe der Aufklappliste 0 war.


