Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Organisation des Forumtreffens ::  Programmierwettbewerb - for fun... ?!?  
Gehen Sie zu Seite 1, 2, 3  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Lupo4u2
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.05.2002
Beiträge: 770
Beitrag Lupo4u2 Mitglied 11:13:51 23.03.2006   Titel:   Programmierwettbewerb - for fun... ?!?            Zitieren

Moin,

ich hatte gestern eine lustige Idee...
Wie wäre es wenn verschiedene Leute jeweils eine 'Spiel-Engine' programmieren, die dann bei dem Treffen gegeneinander antreten?!? (also die engines, nicht die Leute... :D)

Was die Spiele angeht, könnte man z.b. eines der folgenden nehmen:
- Tic tac toe (wohl das simpleste) - RB (=Rundenbasiert)
- Vier gewinnt - RB
- Schiffe versenken - RB
- Snake - EZ (=Echtzeit)
- Bomberman - EZ
- Schach (wohl das umfangreichste) - RB
- eigenes Spielprinzip - RB/EZ
- etc...

Wenn man sich für ein Spiel entschieden hat, kann ja jemand ein grafisches gerüst bauen, dann brauchen die anderen Teilnehmer wirklich nur die Engine bereitstellen und müssen sich nicht mit unnötigen dingen aufhalten. (Wobei natürlich ein paar Bedingungen gestellt werden, wie daten behandelt werden, etc...)

Bei RB Engines hätte man keinen so großen aufwand, verschiedene Engines miteinander zu kombinieren... notfalls kann man ja eine menschliche Komponente als 'Datenüberträger' nutzen, die dann halt immer die Daten von hier nach da übertragen ;)
Bei Spielen, die in echtzeit laufen bräuchte man allerdings noch eine 'Mutteranwendung' in die man dann die engines einbauen müsste...
Wie genau alles später funktionieren soll, muss man sowieso erstmal diskutieren... deshalb erstmal genug von mir. :)

Was haltet ihr von der Idee?!?

P.S. notfalls verschieben, wenn falsches Unterforum :o)

ndT Lupo

Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont.
Konrad Adenauer

_________________
“Day by day, nothing seems to change, but pretty soon, everything is different.”


Zuletzt bearbeitet von Lupo4u2 am 11:14:05 23.03.2006, insgesamt 1-mal bearbeitet
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
Beitrag Marc++us Administrator 11:28:53 23.03.2006   Titel:              Zitieren

Lustige Idee, aber es wäre geschickter, sowas "on site" zu hacken... denn Du kannst nicht sicherstellen, daß es genug Vorbereitung gibt, und dann hat jemand eine 100%-Lösung, einige 30%, viele gar nix, das ist doof.

Vom Aufwand her wäre sowas wie Tic Tac Toe sicherlich angemessen...

_________________
Viele Grüße
Marc++us
C++.de
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8326
Beitrag Jester Moderator 11:33:47 23.03.2006   Titel:              Zitieren

Tic Tac Toe ist meiner Meinung nach zu einfach. Die paar Möglichkeiten, die es für ein Spiel da überhaupt gibt kann man in ein paar Minuten von Hand kodieren. Eine Stufe mehr, zum Beispiel was ähnliches wie 4 gewinnt dürfte es schon sein. Sonst spielen alle Programme unentschieden.

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.
Lupo4u2
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.05.2002
Beiträge: 770
Beitrag Lupo4u2 Mitglied 13:27:20 23.03.2006   Titel:              Zitieren

Marc++us schrieb:
denn Du kannst nicht sicherstellen, daß es genug Vorbereitung gibt, und dann hat jemand eine 100%-Lösung, einige 30%, viele gar nix, das ist doof.

Sicher, das muss so gut wie möglich verhindert werden...
Deshalb würde ich einen geeigneten Zeitrahmen setzen, in dem die Projekte fertig sein müssen... (bis einen monat vorm Treffen, oder so)
Wenn zu diesem Zeitpunkt nicht genug Projekte eingereicht wurden (werden halt irgendwo gesammelt) dann kann man den Wettbewerb abblasen.
Wenn aber genug Engines eingegangen sind, kann man denjenigen die noch nicht fertig sind, trotzdem die möglichkeit geben bis zum Forentreff fertig zu werden.
So hätte man im schlimmsten Fall trotzdem genug Projekte, damit es ein interessanter Wettkampf wird :D

Das mit Tic Tac toe könnte man wirklich direkt beim treffen machen... da kann man ja alle stellungen errechnen/ notieren und am ende sollten in 99% der Fälle wirklich nur Unentschieden auftreten :p

Ich hatte ja auch hauptsächlich an Vier Gewinnt gedacht, aber mir ist gerade aufgefallen das es schon einiges dazu im Netz gibt...
Man bräuchte quasi ein neues, rundenbasiertes (weil einfach leichter zu entwickeln) Spielprinzip, damit alle den gleichen Wissensstand haben, wenn die Projekt-Entwicklungsphase anfängt.

Z.B. eine vereinfachte Schachvariante, mit weniger figuren (nur Turm, Läufer, Springer... keine bauern, dame, könig)
wo derjenige gewinnt, der seinen Gegner auslöscht.
auf einem kleiner Spielfeld, versteht sich...

Ich kann ja über WE mal über Spielprinzipien nachdenken... vielleicht habe ich ja eine Eingebung... :o)

ndT Lupo

Wer mir eine Bibel schenkt, verschenkt Papier.
unbekannt

_________________
“Day by day, nothing seems to change, but pretty soon, everything is different.”
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8326
Beitrag Jester Moderator 14:07:00 23.03.2006   Titel:              Zitieren

Lupo4u2 schrieb:

Man bräuchte quasi ein neues, rundenbasiertes (weil einfach leichter zu entwickeln) Spielprinzip, damit alle den gleichen Wissensstand haben, wenn die Projekt-Entwicklungsphase anfängt.


Der Nachteil dabei ist, daß man dann keine Erfahrung hat, wie sich das Spiel spielt. Man müßte also erstmal jemanden finden, der mal ein paar Runden mitspielt. Das ist manchmal garnicht so einfach. Beim wpc war mal sone Aufgabe dabei, da startetetn schwarz und weiß sogar in unterschiedlichen Ausgangssituationen und hatten afair auch unterschiedliche Ziele. Resultat war, daß keiner auch nur versucht hat dafür ne KI zu schreiben.

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
Beitrag Marc++us Administrator 14:11:22 23.03.2006   Titel:              Zitieren

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.

_________________
Viele Grüße
Marc++us
C++.de
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
Beitrag Marc++us Administrator 14:15:07 23.03.2006   Titel:              Zitieren

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.]

_________________
Viele Grüße
Marc++us
C++.de
Lupo4u2
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.05.2002
Beiträge: 770
Beitrag Lupo4u2 Mitglied 15:58:39 23.03.2006   Titel:              Zitieren

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

_________________
“Day by day, nothing seems to change, but pretty soon, everything is different.”
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 20:21:50 23.08.2006   Titel:              Zitieren

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.

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8326
Beitrag Jester Moderator 21:00:03 23.08.2006   Titel:              Zitieren

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.

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.
C/C++ Forum :: Organisation des Forumtreffens ::  Programmierwettbewerb - for fun... ?!?  
Gehen Sie zu Seite 1, 2, 3  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.