Programmierwettbewerb - for fun... ?!?



  • Lupo4u2 schrieb:

    Deshalb würde ich einen geeigneten Zeitrahmen setzen, in dem die Projekte fertig sein müssen...

    Das Wort "müssen" passt sicherlich nicht zum Rahmen dieser Treffen.



  • Ich hatte vor vielen Jahren mal so eine KI-Aufgabe auf dem CPC464 in einer Computerzeitschrift, mit einem Programm namens "Minischach".

    Feldgröße 4x4

    Jeder Spieler hat 4 Bauern. Gezogen wird 1 Feld nach Vorne. Geschlagen wird schräg 1 Feld.

    Wenn man einen Bauern in die letzte Reihe des Gegners bringt, wandelt sich dieser in eine Dame um. Die Dame schlägt diagonal/längs, beliebig weit.

    Die Komplexität der Züge und der Varianten ist relativ überschaubar.

    [Die Aufgabe damals war, den Computergegner lernfähig zu machen, d.h. er konnte gar nix, aber er speicherte sich erfolgreiche und erfolglose Stellungen/Züge. Mit jedem Spiel wurde er besser. War sehr interessant, das Programm war nicht ganz schuldlos an meinen schlechten Lateinnoten.]



  • Jester schrieb:

    Der Nachteil dabei ist, daß man dann keine Erfahrung hat, wie sich das Spiel spielt.

    Richtig. da kommen ja dann die individuellen Vorstellungen/ Erfahrungen zum vorschein, die jeder selbst entdeckt/ entwickelt.
    Das ist, wie wenn du einem Freund ein Schachbrett gibt, der vorher noch nie schach gespielt hat.
    Du sagst ihm was die einzelnen Figuren können und was das Ziel des spiels ist.
    Danach wird er die ersten Spiele spielen. Vermutlich immer gegen dich verlieren, aber bei jedem Spiel etwas neues lernen.
    Irgendwann hat er eine Strategie entwickelt, mit der gut spielen kann und er dich jetzt immer öfter besiegt.
    Aber irgendwann spielt er gegen jemand anderen und verliert haushoch, weil sein Gegner eine komplett andere Strategie verfolgte wie du und dein Kumpel muss wieder was dazu lernen um auch mal gegen den anderen zu gewinnen.

    So, viel text... Was ich damit sagen wollte ist, das natürlich jeder erstmal ein neues Spielprinzip austesten muss...
    Man kann nicht gleich mit der Programmierung anfangen sondern muss erstmal herausfinden, wie das Prinzip funktioniert, welche Möglichkeiten es gibt, und so weiter...
    Und dadurch, glaube ich zumindest, würden mehr unterschiede bei den einzelnen KIs deutlich werden.
    Je nachdem wie jemand eine Strategie verfolgt oder seine Taktik aufbaut.

    Marc++us schrieb:

    Das Wort "müssen" passt sicherlich nicht zum Rahmen dieser Treffen.

    Du hast recht.
    falsche Wortwahl, aber die Aussage sollte dennoch verständlich sein, weil sonst würde halt das eintreffen was du schon erwähnt hast. Das manch einer nur teilweise fertig ist, ein anderer gar nicht, etc...

    ndT Lupo

    *Kein Mensch kann ein reiner Spezialist sein, ohne im buchstäblichen Sinn ein Idiot zu sein.
    *
    ^George Bernard Shaw^



  • wenn interesse besteht, könnte ich ein spiel zusammenkloppen zusammen mit nen framework für tourniere und nem spieler, von dem ihr dann erben könnt, um mitzumachen.



  • Interesse hätte ich. Allerdings habe ich keine Lust da alleine rumzuprogrammieren. Wenn zur Lösung aber kleine Teams (2-3 Mann) zugelassen sind, könnte ich mir das gut vorstellen.



  • Jester schrieb:

    Interesse hätte ich. Allerdings habe ich keine Lust da alleine rumzuprogrammieren. Wenn zur Lösung aber kleine Teams (2-3 Mann) zugelassen sind, könnte ich mir das gut vorstellen.

    natürlich sind teams zugelassen. du kannst auch am freitag in einem team mitmachen und am samstag in nem anderen. der spaß dran ist ja nur das team-programmieren, jedenfalls hat mir das bei den letzten beiden malen viel spaß gemacht.
    edit: ich stelle nur das framework, das als ausgabe eine highscoreliste mit den eingespeisten klassen ist und definiere die spielregeln im rechner. über außenweltdinge, wann abgabe ist, ob man code auch gelegentlich veröffentlichen muss, ob man teams wechslen darf, da kann sich die gruppe schon einigen.



  • Klingt super!

    edit: moment mal, Freitag auch schon? Ich denke Du kommst erst am Samstag?



  • Jester schrieb:

    Klingt super!
    edit: moment mal, Freitag auch schon? Ich denke Du kommst erst am Samstag?

    ich habe meine termine am samstag bis auf einen absagen können und den letzten dürfte ich auch noch wegkriegen.
    ich fürchte, am freitag aber erst gegen 21:15h da zu sein.



  • volkard schrieb:

    Jester schrieb:

    Klingt super!
    edit: moment mal, Freitag auch schon? Ich denke Du kommst erst am Samstag?

    ich habe meine termine am samstag bis auf einen absagen können und den letzten dürfte ich auch noch wegkriegen.
    ich fürchte, am freitag aber erst gegen 21:15h da zu sein.

    Zum essen könntest es dann noch schaffen :p

    Ich komme erst gegen 18:40 am Bahnhof an, bis ich dann da bin und das essen dann fertig ist wird sicherlich so spät 🙂

    Und jo ich hätte auch interesse an dem Wettbewerb. Mit anderen zusammen bringts das ganz bestimmt 🙂

    BR
    Vinzenz



  • hab den samstag freiräumen können. und das framework ist soweit fertig und stabil. wenn ich heute früh noch dazu komme (ca. 3h) , baue ich noch ne wichtige bescheleunigung ein, wenn nicht, muss halt ein schneller prozessor benutzt werden.



  • Was ist mit den Ergebnissen? Hat sich am Sonntag noch etwas wesentlich verändert?



  • TactX schrieb:

    Was ist mit den Ergebnissen? Hat sich am Sonntag noch etwas wesentlich verändert?

    nein. das sind die letzten elo-punkte:

    UnnamedPlayer IV
    MIM
    1947.77

    Vorausschauer
    Felix/Christoph
    1771.73

    marlow1
    r0nny
    1724.58

    marlow2
    r0nny
    1702.91

    Speicherer
    Felix/Christoph
    1583.64

    3142
    4Muskeltiere
    1452.91

    Stoerer4
    Volkard
    1193.86

    LDOD
    Volkard
    1117.06

    Zuf4
    Volkard
    1070.25

    Zuf
    Volkard
    990.234

    Nachm
    Volkard
    765.49



  • ich hab nun im forum ein bisschen gestöbert und bin nun draufgekommen, dass es hier wirklich leute gibt, die wirklich eine ahnung haben von c#.
    ich kann mich leider nicht dazuzählen.
    in meinem informatik studium hab ich dieses semester c# dazubekommen, und habe vorher aber noch nicht wirklich viel damit programmiert.
    nun bekommen wir jede woche recht umfangreiche hausübungen, die jeweils immer positiv sein müssen. und bis jetzt habe ich alle so mehr oder weniger geschafft!
    diese woche lautet die aufgabe: 4 GEWINNT!
    und ich stehe im moment voll an. 😕
    keine ahnung, wie ich anfangen soll, wie der spieler wechsel funktioniert, etc.
    die hü is bis montag!
    ich weiß, dass man alle seine programme wirklich immer selber schreiben sollte, aber jetzt weiß ich echt nicht mehr weiter und die zeit is auch verdammt knapp.

    vielleicht gibt es ja jemanden, der mir in diesem einen fall wirklich aus der patsche helfen könnte.



  • ich hab meinen letzten stand mal gepackt und als http://www.volkard.de/4g.3.7z gespeichert.



  • VIELEN DANK fürs erste!
    blöde frage nur: in c# hast du die programmierung nicht, oder?
    wenn ja: könnte ich NUR die spiel programmierung ?? ohne spielerstände etc...



  • käfer06 schrieb:

    blöde frage nur: in c# hast du die programmierung nicht, oder?

    Nein, das ist kein C#-, sondern C++-Code. Aber das Prinzip des Spielablaufs sollte erkennbar sein, auch für einen C#-Programmierer.

    Wenn du etwas präzisiere Fragen hast, wird dir hier (also nicht hier, sondern im rudpf) bestimmt geholfen. Du darfst aber nicht erwarten, dass jemand deine Hausaufgabe für dich löst. Schau dir dazu am besten vorher http://www.lugbz.org/documents/smart-questions_de.html an.



  • ich weiß!

    trotzdem VIELEN DANK



  • schau dir in der Tournier.cpp die funktion

    int spiele(Spieler* spieler1,Spieler* spieler2,bool show);
    

    an und denk dir die zeitmessung weg.
    von da aus nimmste dann nur die sachen dazu, die du brauchst, um einen Mensch gegen einen Random spielen zu lassen.
    das, was dich am meisten interessieren sollte, ist die Stellung.cpp.



  • vielen DANKE für die ganze hilfe....


Anmelden zum Antworten