• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[Diskussion] Programmierwettbewerb-Talk

MingsPing

NGBler

Registriert
15 Juli 2013
Beiträge
346
Hallo,

aus gegebenem Anlass wollte ich die Möglichkeit eines weiteren Programmierwettbewerbs einbringen.

Wir hatten vor ein paar Jahren schon erfolgreich den Wettbewerb 1: Ampelschaltung und Wettbewerb 2: Snake und die Programmieraufgabe 3: Bao-Spiel durchgeführt und fände es toll, einen weiteren zu starten.

Schön fand ich damals, dass viel diskutiert, Zwischenergebnisse gezeigt und abschließend ein Resümee gezogen wurde.

Dies soll ein Thread sein zur generellen Diskussion zu einem etwaigen dritten Wettbewerb.
Bspw. gerne in Form von Bekundungen ob man denn teilnehmen würde. Aber auch Vorschläge, wie er durchgeführt wird (vielleicht erklären sich ja einige bereit, später Jury zu sein), welchen Modus, welches Problem überhaupt... .


Hier nun meine persönlichen Ideen:
Mir würde eine Art Spiel gefallen, welches rundenbasiert funktioniert. Schön wäre es, wenn es am Schluss des Wettbewerbs dann ein Turnier gäbe, an welchem alle unsere Lösungen gegeneinander antreten könnten.

An der Uni haben wir diesen Turniermodus mal durchgeführt und den ICFP-Wettbewerb "Lambda - The Gathering" nachgemacht, hat erstaunlich gut geklappt und am Turniertag gabs sogar ein Visualisierungstool, das anzeigt wer gerade gegen wen spielt und welche Züge ausgeführt werden!
Das Spiel war an das Kartenspiel "Magic" angelehnt, man hatte verschieden "Karten", die man pro Runde ausspielen konnte, die verschiedene Effekte auf den Spieler oder den Gegner hatten (Gegner angreifen, eigenen "Slot" heilen, usw, siehe Link oben).

Es war echt sehr cool. Einige der Karten sind an funktionale Programmierung (-Denkweisen) gebunden, und deshalb für hier vielleicht nicht so geeignet (Z.B. die Karte "K x y" : Card "K" is a function that takes an argument x and returns another function, which (when applied) will take another (unused) argument y and return x. [Remark: The first function is called the K combinator and written λx.λy.x in lambda-calculus.]). Aber so als generelle Idee schon mal.


Unabhängig von der Problemstellung würde ich vorschlagen wollen, dass es keine Programmiersprachenbeschränkung gibt.


Happy discussing! :-)

Edit
Programmieraufgabe 3 hinzugefügt.
 
Zuletzt bearbeitet:

CPU

Neu angemeldet

Registriert
16 Feb. 2015
Beiträge
238
Re: [Diskussion] Programmierwettbewerb Nr 3 ???

Definitiv JavaScript :)
Also ich wäre als Teilnehmer dabei, wenn es die Zeit zulässt. Wobei ich eher gerne ein Problem lösen würde, also kein Spiel.

z.B. 10 Aufgaben (verschiedene Kategorien) mit unterschiedlichen Problemen, die man in quasi jeder Programmiersprache lösen könnte. Oder es sind bereits Codes gegeben und man muss den Code so verändern, dass das Programm das tut was in der Aufgabenstellung steht.
 
Zuletzt bearbeitet:

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.504
Re: [Diskussion] Programmierwettbewerb Nr 3 ???

Ich persönlich hätte durchaus Bock auf ein Game und würde mit Ruby on Rails eine Web-Applikation dazu bauen.
Andererseits ist was ohne GUI evtl. ansprechender für viele, die zwar Bock hätten, aber nicht eingearbeitet sind in ein entsprechendes Window-Framework wie Qt.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Re: [Diskussion] Programmierwettbewerb Nr 4?

Mal die Frage in den Raum geworfen, wie wäre es, wenn wir die letze IT-Talents Code Competition gemeinsam erarbeiten?
Es ging dabei um maschinelles Lernen, Plotten, Datenauswertung und man hat schon Rohdaten die noch bearbeitet/korrigiert bzw. normalisiert werden sollen.

Ist aber nur eine fixe Idee. :)

Nur, sind wir jetzt ohne Zwang da die Challenge bereits gelaufen ist.

Man könnte natürlich auch eine andere bereits zurückliegende Challenge machen, mit flexiblen Sprachen und freien Frameworks und Tools einen Überblick gibt es im Thread, hier im "hilfreiche Beiträge", wie auch auf IT-Talents.de .
 
Zuletzt bearbeitet:

MingsPing

NGBler

Registriert
15 Juli 2013
Beiträge
346
  • Thread Starter Thread Starter
  • #5
Re: [Diskussion] Programmierwettbewerb Nr 4?

Wie wäre der dynamische Dungeon?
Wir könnten die Aufgabe natürlich beliebig für uns abändern, aber so grundsätzlich? Dann zwei Programmteile: Programmteil 1, Erstellung eines Dungeons, Programmteil 2, KI die aus dem Dungeon kommt (mit Score-Funktion, also "wie gut" kommt die KI raus, möglichst wenig Schritte oä).

Für Grafikmuffel könnte man das ja ASCII-mäßig repräsentieren, "X" = Wand, "Space" = Leer, "@" = KI, "G" = Gegner/Monster.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Re: [Diskussion] Programmierwettbewerb Nr 4?

@MingsPing: Grundsätzlich finde ich die Idee schon ganz gut den Dungeon zu generieren und aus selbigen zu entfliehen als zweite Aufgabe.

Nur stellt sich mir die Frage, in wie weit ist bei einem Labyrinth das Potential gibt "schlauer" zu reagieren? (Fokus KI)

Wenn man einen Tunnel sieht, also eine lange Gerade mit Sichweite; also Sichtweite, 4-5 Felder in Blickrichtung bzw. bis eine Ecke kommt - gibt es etwas Spielraum, ansonsten weiß ich nicht in wie weit man dahingend eine KI verbessern kann beziehungsweise wie viel Potential nach oben ist, "schneller" als andere aus dem Dungeon zu kommen außer die gleichen Wege nicht mehrfach auszuloten.

Und wenn es Gegner gibt, was ist der Vorteil zu kämpfen/fliehen/umkehren?

@KaPiTN:

Was für Aufgaben gibt es bei deinem Thema "Shuffleboard" ? Geht es hierbei um grafische Programmierung wie auch Mathematik (Antrieb,, Masse, Kraft/Bewegung) - und als Spiel für menschliche Spieler oder auch eine Art von künstlicher Intelligenz die auslotet/lernt, wie man werfen/schieben muß?
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Re: [Diskussion] Programmierwettbewerb Nr 4?

@theSplit:

Ich denke, Du hast alles angesprochen, was möglich ist.
Auch hier müßte es keine echte graphische Umsetzung sein, sofern keine Bewegung sondern nur Ergebnisse gezeigt werden.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Re: [Diskussion] Programmierwettbewerb Nr 4?

Also wäre die Idee beim Shuffleboard, man schreibt eine Anwendung zur Verifikation, die im Grunde die Parameter "Winkel, Kraft" entgegenimmt und dann ausrechnet, wie viele Punkte der Wurf gebracht hat bzw. ob über das Ziel hinausgeschossen?

Ich kenne jetzt nicht alle Regeln von Shuffleboard (außer das man 4 Spielscheiben hat/was auf Wikipedia steht) - daher die Frage was die Aufgaben sein würden bzw. wie und ob man das umsetzen könnte.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Re: [Diskussion] Programmierwettbewerb Nr 4?

Solche Fragen gehören, meiner Meinung nach, bereits zur Umsetzung, nicht zur Aufgabenstellung.
Du erinnerst Dich an den Punkt "Features" bei den IT-Talents?

Das spannende, kreative und vor allem komparative ist doch die Planung, nicht die Umsetzung in Code, insbesondere, wenn verschieden Sprachen verwendet werden.

Ebenso, wie es viele Variationen von echtem Shuffleboard gibt, kann es das ja auch bei der Umsetzung in ein Programm geben.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Re: [Diskussion] Programmierwettbewerb Nr 4?

Solche Fragen gehören, meiner Meinung nach, bereits zur Umsetzung, nicht zur Aufgabenstellung.

Ich finde die Beschreibung von MingsPing nicht verkehrt. Er gibt etwas vor, lässt aber Luft für Spielraum - also wie die (möglichen) Programmteile aufgebaut sind. Ich hätte jetzt gedacht und /gehofft du könntest ebenfalls einen, kurzen aber dienlichen, Überblick für dein Thema geben. Respektiv, was du dir wünschst für das Thema und was auf jeden Fall sein soll, bzw. welche Schwerpunkte es geben könnte.
 
Zuletzt bearbeitet:

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Re: [Diskussion] Programmierwettbewerb Nr 4?

Es soll runde Scheiben (Disks) auf die gegenüberliegende Seite eines rechteckigen Spielfeldes beschleunigt werden, um dort auf markierten, möglichst hohen Punktefeldern liegenzubleiben.
Das ganze für 2 Spieler, wobei 1 Spieler der PC sein kann. 4 Disks /Spieler.

Disks (auch des Gegners) dürfen, wie beim Curling oder Eisstockschießen, mit einer eigenen Disk aus dem Dreieck herausgeschossen oder in andere Punktefelder verschoben werden.
Erreicht eine Disk nicht die sog. Dead Line (zu kurz gespielt), wird sie unverzüglich entfernt.
Es werden nur die Disks gewertet, die keine der die Punktefelder begrenzenden Linien berühren.

Bei einer nicht graphischen Lösung sollte der "Schuß" als Vektor eingegeben werden und das Durchgangsergebnis als Koordinaten und als ASCII-mäßige Darstellung.

Einschränkungen der individuellen Gestaltung ließen sich noch festlegen, falls man sich auf eine Aufgabe "Shuffleboard" einigen sollte.
 

electric.larry

\''; DROP TABLE user; --
Teammitglied

Registriert
13 Dez. 2014
Beiträge
4.549
Ort
Raum 43
Re: [Diskussion] Programmierwettbewerb Nr 4?

Ein anderer Vorschlag, was haltet ihr davon?

Wir haben einige Addons hier im Board, die wir auf die neue Boardsoftware portieren müssen. Wie wäre es, anstelle eines Coding-Contests als Gemeinschaftsprojekt diese Addons zu portieren? Es gäbe da einige Teile, die sich auch unabhängig von der Forensoftware entwickeln lassen würden und auch nicht zwingend an eine Sprache gebunden sind. Andere Teile wären PHP- und JS-lastig.

Wenn es prinzipielles Interesse gibt, würde ich mir mal genauer anschauen, was man aufteilen könnte und eine Übersicht posten.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.728
Ort
in der Zukunft
Re: [Diskussion] Programmierwettbewerb Nr 4?

ganz davon abgesehen das jemand der mit Entwickeln möchte gerne an Addons mit machen könnte - würde ich als Contest vorschlagen etwas eher simples zu nehmen. Die Beteiligung dürfte dann größer sein.
Wir haben es ja schon mal so gemacht das die Aufgabe sehr leicht ist - es aber dann z.B. 3 Stufen gibt wie z.B. bei der Ampelschaltung.

Es gibt ja genug die mal was Grafisches machen wollen - aber auch welche die mehr auf Logik-Probleme stehen.
meiner Meinung nach sollte auch ein Anfänger mitmachen können.

Man könnte z.B. eine Kinoticket-Buchung mit Bestplatzwahl machen + Extras...
Bis hin zu einer Statistik die einem nach einigen simulierten Buchungen ausgibt wie hoch Fr. Abend normal die Auslastung ist ;)
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
Re: [Diskussion] Programmierwettbewerb Nr 4?

Also ich denke, sobald man sich für ein Problem entschieden hat, sollten wir uns über eine gemeinsame Api Gedanken machen. Immerhin wollen wir bei einem Spiel gegeneinander antreten können. Da wäre es dann gut, wenn das Spielfeld in einer einheitlichen Form sowie die Spielzüge einheitlich übertragen werden können. Zudem wäre es sinnig, wenn es um Aufgaben geht, die mit Physik zutun haben, diese Daten ebenfalls vorzugeben. Sonst geht mein Algorithmus zum Beispiel von anderen Gewichten aus als der von theSplit und schon divergieren die Ergebnisse.

Generell würde ich gerne mitmachen, allerdings bin ich viel beschäftigt. Kommt also ein wenig auf das Problem und die Zeitlichen Dimensionen an, in wie weit ich mitmachen könnte.

Das mit dem Dungeon finde ich schon gar nicht so schlecht. Alternativ habe ich noch einen Vorschlag:
Wir programmieren etwas wie Slay nach. Das Spiel ist nicht soo komplex, doch es gibt ausreichend Möglichkeiten für einen Karten-Generator sowie für eine KI, die handeln kann.
 

BurnerR

Bot #0384479

Registriert
20 Juli 2013
Beiträge
5.504
Re: [Diskussion] Programmierwettbewerb Nr 4?

Sehe ich zwar ein, aber ist die Festlegung der API nicht eigentlich ein ganz wesentlicher Teil der Fragestellung?
Ich würde eher bei etwas partizipieren, dass jetzt nicht eine soo komplexe Regellogik hat. Slay (the Spire?) scheint schon relativ komplex zu sein.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Re: [Diskussion] Programmierwettbewerb Nr 4?

Eine OS-übergreifende API könnte schwieriger sein, als die dann eigentliche Aufgabe, oder?
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
Re: [Diskussion] Programmierwettbewerb Nr 4?

Gibt es hier inzwischen weitere Vorschläge oder dergleichen?

Sonst werfe ich mal sowas in der Richtung wie Tetris in den Raum.

  1. Erst ein Programm, welches die normale Logik von Tetris hat. Also es gibt verschiedene Blöcke und diese fallen langsam nach unten. Man kann nach links und rechts und "schnell fallen" lassen. Wenn eine Zeile voll ist, wird die gelöscht und man bekommt x Punkte.
  2. Als möglicher zweiter Schritt wäre eine KI, die Tetris selber spielt. Damit könnten wir in vorgefertigten Leveln zum Beispiel gegeneinander antreten und uns messen. Wem das zu viel ist, der kann ja vielleicht nur Teil eins machen.
  3. Als dritte Aufgabe würde ich dann vielleicht noch sowas machen wie "erzeuge Spielsteine, die der Gegner möglich schwierig in der aktuellen Situation benutzen kann". Da könnte man dann schauen, dass die KI aus Schritt 2 gegen eine Schritt3-KI eines Gegners antritt. Und dann natürlich nochmal umgekehrt. So könnte man auch eine Art Ranking erstellen.

Was haltet ihr davon?
Der Anfang ist relativ einfach. Der Rest ist entsprechend immer schwieriger.
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
Re: [Diskussion] Programmierwettbewerb Nr 4?

Ich würde eher bei etwas partizipieren, dass jetzt nicht eine soo komplexe Regellogik hat. Slay (the Spire?) scheint schon relativ komplex zu sein.
Übrigens: Ich meine nicht Slay the spire. Ich meine dieses Slay hier.
Natürlich nicht mit diesem Character-Zeug sondern einfach die eigentliche Spielmechanik.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Re: [Diskussion] Programmierwettbewerb Nr 4?

@Roin:

Das ist eine interessante Projektaufgabe.

Allerdings bei genauerer Überlegung vielleicht doch etwas zu komplex und aufwendig?
Die Erkennung Kollisionserkennung ist gar nicht so trivial und Graphik für viele Neuland.
Die Beteiligung war ja in der Vergangenheit schon bei Dingen gering, wo man sich am Wochenend mal einen oder vielleicht auch 2 Nachmittage hinsetzen mußte.

Ich hatte letztens noch überlegt, was wohl das simpelste mögliche Spiel sein könnte und dachte an Mondlandung.
Eine Aufgabe, die gut für die ersten programmierbaren Taschenrechner geeignet war.
Lustigerweise gibt es da Gemeinsamkeiten mit Tetris und man könnte es in der Grundversion als Vorstufe betrachten. In dieser bedarf es dann auch keine Graphik. Etwas was die Taschenrechner ja gar nicht hatten, mit ihrer einen Zeile für die Ausgabe.

Mondlandung

Es gilt eine Rakete auf der Mondoberfläche zu landen. Dazu muß über eine Taste ein Gegenschub aktiviert werden, der die Rakete abbremst auf eine hinreichend niedrige Geschwindigkeit, damit die Rakete nicht zerbirst.

Statt einer graphischen Darstellung genügt prinzipiell eine Ausgabe von Höhe und Geschwindigkeit

Mal ein Entwurf für verscheiden Schwierigkeitsstufen:

1)Zur Geschwindigkeit wird eine negative Geschwindigkeit dazu addiert.()
2) Die Geschwindigkeit wird berechnet aus der Gravitationsbeschleunigung und der Schubbeschleunigung.
3) Wie 2., aber das Ziel liegt seitlich versetzt. Mit weiteren Steuertasten muß die Rakete links/rechts gedreht werden
4) Wie 3., aber die Rakete wird durch seitliche Steuerdüsen gedreht. Es gibt als Rotationsbeschleunigungen, somit muß eine Drehbewegung auch jeweils wieder durch Gegenbeschleunigung gebremst werden.
5) Wie 4, aber es gibt zufallsgesteuerte Winde, die Kraft auf die Rakete ausüben.
 
Oben