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... ?!?     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.
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 21:05:40 23.08.2006   Titel:              Zitieren

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.

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


Zuletzt bearbeitet von volkard am 21:11:01 23.08.2006, insgesamt 1-mal bearbeitet
Jester
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2001
Beiträge: 8326
Beitrag Jester Moderator 21:19:06 23.08.2006   Titel:              Zitieren

Klingt super!

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

_________________
Mod im Mathe-Forum

Die dümmsten Programmierer schreiben die dicksten Programme.


Zuletzt bearbeitet von Jester am 21:19:37 23.08.2006, insgesamt 1-mal bearbeitet
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 21:23:44 23.08.2006   Titel:              Zitieren

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.

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
evilissimo
Chefkoch

Benutzerprofil
Anmeldungsdatum: 12.11.2003
Beiträge: 2283
Beitrag evilissimo Chefkoch 21:57:20 23.08.2006   Titel:              Zitieren

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

_________________
evilissimo - R.I.P. dmr
< Moderator im C++/CLI Forum und im C++ Forum >
About Singletons: "Anyway, if our experts can make this mistake, you have made it and you don't even know about it."
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 01:08:46 25.08.2006   Titel:              Zitieren

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.

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


Zuletzt bearbeitet von volkard am 01:09:21 25.08.2006, insgesamt 1-mal bearbeitet
Tim
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.11.2004
Beiträge: 6850
Beitrag Tim Mitglied 14:16:17 28.08.2006   Titel:              Zitieren

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

_________________
Vorsicht, dieser Benutzer ist manisch-depressiv oder schizoid!
Professionell diagnostiziert durch Internet-Hobby-Psychologen
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 14:35:12 28.08.2006   Titel:              Zitieren

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

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
käfer06
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.03.2007
Beiträge: 4
Beitrag käfer06 Mitglied 21:26:57 23.03.2007   Titel:   HILFE            Zitieren

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. :confused:
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.
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 21:39:12 23.03.2007   Titel:   Re: HILFE            Zitieren

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

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
käfer06
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.03.2007
Beiträge: 4
Beitrag käfer06 Mitglied 18:11:32 24.03.2007   Titel:              Zitieren

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...
Christoph
Moderator

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 5704
Beitrag Christoph Moderator 18:23:29 24.03.2007   Titel:              Zitieren

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 Rund um die Programmierung Forum) 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.

_________________
Wenn Word für Längeres geeignet wäre, würde es nicht Word, sondern Sentence, Page oder Article heißen.
käfer06
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.03.2007
Beiträge: 4
Beitrag käfer06 Mitglied 18:43:13 24.03.2007   Titel:              Zitieren

ich weiß!

trotzdem VIELEN DANK
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 22:48:42 24.03.2007   Titel:              Zitieren

schau dir in der Tournier.cpp die funktion
C/C++ Code:
int spiele(Spieler* spieler1,Spieler* spieler2,bool show);
C/C++ Code:
int spiele(Spieler* spieler1,Spieler* spieler2,bool show);
C/C++ Code:
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.

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
käfer06
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.03.2007
Beiträge: 4
Beitrag käfer06 Mitglied 19:12:43 25.03.2007   Titel:              Zitieren

vielen DANKE für die ganze hilfe....
C/C++ Forum :: Organisation des Forumtreffens ::  Programmierwettbewerb - for fun... ?!?   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.