PureBasic Wintercontest 2005/2006

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

PureBasic Wintercontest 2005/2006

Beitrag von freedimension »

Bild

Hallo liebe Comunity

Das PureBasic-Wettbewerbskomitee freut sich, euch den ersten
gemeinsamen Wettbewerb für das PureBoard, die PureBasic-Lounge
und das internationale PureBasic-Forum vorstellen zu dürfen.

Mitmachen darf jeder, egal ob er nun einen Doktor der Informatik
hat oder erst seit ein paar Monaten mit PureBasic progammiert*
Du musst auch nicht alle Aufgaben lösen wenn du keine Zeit
oder Lust hast.
Bereits ein Beitrag zu einer Aufgabe wird gewertet.
Zum Schluss entscheidet natürlich die Gesamtpunktzahl.
Die unterschiedlichen Aufgaben und Themenbereiche sowie das
ausgeglichene Punktesystem werden dafür sorge tragen, dass
wirklich jeder mit ein wenig Talent hier eine Chance bekommt.

*Mitglieder des Wettbewerbskomitees dürfen nur außer
Konkurrenz mitmachen, d.h. Ihre Beiträge werden nicht bewertet
und sie können auch keine Preise gewinnen.




Näheres zum Punktesystem

Die Punktevergabe übernimmt das Wettbewerbskomitee,
nach dem Wettbewerb bekommt die Community jedoch
die Möglichkeit über die Vergabe eines Publikumspreises
abzustimmen.



Die Preise*
  • 1. Platz - Eine funkelnagelneue topaktuelle USB2.0 Festplatte
    Silver Line von OMEGA mit 300 GB, 7200 rpm , verwendbar für
    PC (2k, XP) und MAC
  • 2. Platz - Ein Amazon-Gutschein (wahlweise .de oder .com)
    über 25 Euro
  • 3. Platz - Ein Amazon-Gutschein über 15 Euro
  • 4. Platz - The longest Journey und Morrowind (PC-Spiele)
  • Sonderpreis (bester Einzelbeitrag) - Ein Amazon-Gutschein über 30 Euro
  • Publikumspreis - Ein Amazon-Gutschein über 20 Euro
*wir behalten uns vor die Liste der Preise der Anzahl der gültigen Einsendungen anzupassen.
Die USB2.0 Festplatte wird erst ab mindestens zehn Teilnehmern vergeben.



Der Einsendeschluss

Alle Beiträge müssen bei uns am 20. März 2006 bis spätestens
23:59 Uhr eingegangen sein.



Die Aufgaben

Die folgenden Aufgaben warten auf ihre Bearbeitung*:
*Es ist darauf zu achten, dass für eine Teilnahme am
Wettbewerb nicht unbedingt alle Aufgaben bearbeitet werden
müssen, am Ende zählt nur die Anzahl der Punkte.
Zudem gibt es noch den Sonderpreis für den besten Einzelbeitrag
und den Publikumspreis.


1.
Christkind in Nöten

Das Christkind, gerade auf dem Weg zurück in den Winterwald,
bemerkte gerade noch rechtzeitig, dass es während seiner Tour
wohl ein Kind vergessen hatte zu besuchen. Um diesem Kind
denoch rechtzeitig vor Heilig Abend eine Freude bereiten zu
können, beschließt es sofort Kehrt zu machen und auf dem
schnellst möglichen Weg das Haus des Kindes aufzusuchen um
ihm ein paar der übrig gebliebenen Geschenke unter den
Weihnachtsbaum zu legen.

Deine Aufgabe ist es nun, dem Christkind bei der Suche nach
der schnellsten Strecke zu helfen und dabei so anschaulich wie
möglich die Funktionsweise des A*- oder auch alternativ
des Dijkstra-Algorithmus (Achtung: hier lauern eventuelle
Extrapunkte) darzustellen.

Bei dieser Aufgabe wird weniger Wert auf die handwerkliche
Geschicklichkeit gelegt als vielmehr auf die Originalität und den
didaktischen Nutzen des Programmes.

2.
Meteorologie für Anfänger

In dieser Aufgabe geht es ganz um das Wetter, genauer gesagt um
das schöne Winterwetter. Programmiere eine schöne
Wettersimulation, es ist dabei ganz egal ob du jetzt einen
Schneesturm oder "leise rieselt der Schnee" simulierst. Du
kannst auch eine Multimeteo Simulation machen in dem alle
Wetter des Winters vorkommen.

Desweiteren ist es auch egal ob du das ganze in 3D machst oder
nur mit den Spritefunktionen arbeitest. Wichtig dabei ist nur, dass
es möglichst realistisch aussieht und rein mit den Mitteln von
PureBasic realisiert wurde.

Eine kleine Hürde noch....

Baue einen Mausfächer ein mit dem man die Schneepartikel, an
der Stelle an der sich der Fächer befindet, durch einen Windstoss
manipulieren kann.

3.
Oh Tannenbaum

Weinachten steht vor der Tür und nun braucht man für ein richtiges
Weinachtsfest ja auch einen geschmückten Baum.
Da das Christkind gerade anderweitig beschäftigt war (siehe Aufgabe 1)
musst du wohl oder übel das Schmücken des Baumes übernehmen.
Als kleine Hilfe hast du dir vorgenommen ein Programm zu schreiben
mit dessen Hilfe sich ein virtueller Weihnachtsbaum schmücken lässt.

Entwickle dieses Programm, ob du dies mit 2D oder 3D machst bleibt
dir überlassen.

4.
Ordnung muss sein

Toll, du hast ne Menge Bücher bekommen! Nun, es sind aber so
viele, dass du sie nicht einfach so in dein Büchergestell
schmeissen kannst, da sie so viel zu viel Platz beanspruchen!
Du überlegst dir also, wie die Bücher am besten in das Regal
eingeordnet werden sollen. Dabei kannst du zusätzlich die
einzelnen Bretter des Regals in 4cm Schritten nach oben oder
unten verschieben.
Über den Büchern hin zum nächsten Brett muss mindestens ein
Abstand von 2cm vorhanden sein und die ersten Bücher
kommen ebenfalls auf ein Brett.

Schreibe ein Programm, dass die minimale Gesamthöhe
berechnet und in cm ausgiebt.

Daten:
Brettdicke = 1.5cm
Brettlänge = 1.0m
Alle Bücher haben Einheitsbreite = 1.5cm
die Tiefe der Bücher spielt keine Rolle!

Die Bretter können wie schon oben erwähnt in 4cm Schritten
angebracht werden, d. h. das Erste auf dem Boden bei 0cm,
dann alle restlichen Höhen die durch 4cm teilbar sind.

Abstand des höchsten Buchs zum nächstoberen Brett >= 2cm

Die Bücher, die du einordnen sollst, bekommst du als Datei
"books.txt". Diese wird den folgenden Grundaufbau haben

Code: Alles auswählen

5
115
334
221
775
123
In der ersten Zeile steht die Anzahl der Bücher, jede folgende
Zeile beschreibt die Höhe eines Buches in Millimeter (mm).

Da du in einem großen Schloss wohnst und der angrenzende
Wald noch genügend Bäume umfasst, mangelt es dir weder an
Höhe noch an Brettern.

5.
Karaoke-Star

Weihnachten ist toll. Du bekommst ne Menge toller Geschenke
(und nicht nur Bücher). Dass du selbst auch Geschenke kaufen
musst, ist dir viel zu spät eingefallen; nun haben aber leider schon
alle Läden zu. Um zu verhindern, dass deine kleine Schwester
deine Geschenke einverleibt, beschließt Du, ihr eine Karaoke-
Maschine zu programmieren. Natürlich im weihnachtlichem Flair
mit tollen Weihnachtsliedern und einer sehr einfachen Bedienung.
Dass damit deine Schwester deinen Rechner belagert, wird dir
erst viel später auffallen...

...zu spät.

Schwerpunkt dieser Aufgabe ist ein netter Look der Anwendung,
aber vor allem eine intuitive Programmführung, der auch nicht-
technisch-versierte Benutzer folgen können.

6.
Schneeflöckchen, Weißrö...

Winterzeit, Winterzeit, alles ist weiss.. Aber warum ist das so?
Wegen dem Schnee, danke, setzen. Aber wie sieht eine
Schneeflocke aus? Entwerfe ein Programm, dass möglichst
realistische Schneeflocken stark vergrößert anhand eines
zufälligen Startwertes (Seed) berechnet.
Die berechneten Schneeflocken müssen dabei eine Größe
von mindestens 256x256 Pixel haben.
Wieder einmal ist es egal ob du diese in 2D oder 3D angehst,
verboten sind lediglich externe Grafiken jeder Art.


7.
Das Lager vom Nikolaus

Stell dir vor du bist der Weihnachtsmann.
Jedes Jahr produzieren deine Elfen und Zwerge neue Geschenke
für alle lieben Kinder der Welt. Nur werden es leider jedes Jahr
mehr (kleine) Menschen auf dieser Welt und du bekommst
langsam aber sicher ein kleines Lagerproblem.

Erstelle einen virtuellen Lagerraum auf dem Bildschirm und einen
Stapel unterschiedlich geformter Geschenkkartons.
Die Geschenkkartons müssen mit der Maus verschiebbar sein.
Ziel des Minigames muss es sein so viele Geschenkkartons wie nur
möglich in das Lager zu verschieben.

8.
Winterzeit, Schlittenzeit

Da bei dir dieses Jahr wieder einmal kein Schnee liegen geblieben
ist, beschließt du einen Schlittenfahrsimulator zu programmieren.
Aber aufgepasst! Du bist dir ziemlich sicher, dass es dieses Jahr
nicht nur keinen Schnee sondern - wie schon die letzten sieben
Jahre davor - auch keinen neuen Computer zu Weihnachten geben
wird. Versuche deshalb deinen Simulator so abwärtskompatibel
und retro-style-mäßig wie möglich zu halten. Hier überzeugt nicht
die Anzahl der Pixel sondern der Spielspass.

9.
Himmelfahrtskommando

Das ist gar nicht lustig, der Weihnachtsmann hat wieder mal
Lemminge vor den Schlitten gespannt. Schreibe ein Programm,
in welchem der Weihnachtsmann samt Schlitten und Lemminge
immer einfach vorwärts von oben links nach rechts fährt, dabei
soll man aber mit Linien, die man zur Laufzeit zeichnet, den
Untergrund festlegen können. Der Weihnachtsmann fährt also
immer nach rechts, folgt aber immer dem Untergrund, fällt also
auch solange er keinen hat... Dabei soll der Schlitten auch
aufwärts und abwärts fahren können, solange er Untergrund hat.

Also einfach ein Programm, in dem man Linien zeichnen kann,
wo der Weihnachtsmann ohne fliegen zu können mit Lemmingen
und den Linien als Hintergrund von links nach rechts fährt.
Der Schlitten des Weihnachtsmann muss immer Bodenkontakt
halten, ansonsten fällt er runter.

Kleines Bsp:

Code: Alles auswählen

**-### ->
________                 ______
                   _____/
        \________/

**: Schlitten
 #: Lemming
->: Fahrtrichtung
Das wäre ein Beispielterrain welches man zur Laufzeit zeichnen
können muss, danach fährt der Schlitten von oben links bis zum
Abgrund, fällt runter, fährt weiter, fährt hoch, fährt weiter, fährt
hoch, fährt weiter bis ans Ende des Bildschirms.
Es soll also dynamisch berechnet werden, wo der Schlitten
durchfahren wird.

10.
Newsmachine

Du bist es Leid! Es ist Winter und es gibt so gut wie nur noch
schlechte Neuigkeiten. Anstatt dich aber noch weiter in deine
Winterdepression zu flüchten, beschließt du etwas dagegen zu
unternehmen, setzt dich vor deinen Computer und beginnst ein
Programm zu schreiben welches aus einer Anzahl von Nachrichten
alle schlechten herausfiltert und nur die guten durchlässt.

Die Nachrichten liegen dabei in einer Datei mit folgendem Aufbau
vor.

Code: Alles auswählen

=Nachrichtentitel auf einer Zeile, führendes Gleichheitszeichen 
Nachricht mit 
beliebig vielen Zeilen
...

=2.er Nachrichtentitel 
2. Nachricht 
...
Hier schauen wir auch mal etwas genauer in den Code, eine
besonders raffinierte oder witzige Vorgehensweise wird
garantiert belohnt.


Die Regeln

Weitere Spielregeln für den PB-WinterWettbewerb:
  • Der Sourcecode muss bei Abgabe offengelegt werden.
  • Kein ausufernder Einsatz von Assembler.
  • Nur die Standard-Libraries welche mit PureBasic
    installiert wurden sind zugelassen.
  • Keine systemfremden DLLs wie z.B. FMOD und
    dergleichen, d.h. nur DLLs die mit ziemlicher Sicherheit
    auf jedem Rechner installiert sind.
  • Das Programm muss zu 100% aus eigener Feder stammen.
  • Es können beliebig viele der zehn Aufgaben bearbeitet werden.
Zuletzt geändert von freedimension am 20.04.2006 20:01, insgesamt 4-mal geändert.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

So, da wäre er also, der lange herbeigesehnte Contest. Macht was draus! :allright:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Es können beliebig viele der fünf Aufgaben bearbeitet werden.
Ich zähle 10 Aufgabenstellungen. Muss man sich 2 auswählen oder wie kommst du auf 5?
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Argh, das ist alter Text gewesen, ursprünglich waren nur fünf geplant gewesen. Danke für den Hinweis :allright:
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
orange-blue
Beiträge: 556
Registriert: 04.09.2004 22:23
Kontaktdaten:

Beitrag von orange-blue »

puh da habts euch ja ganz schön was ausgedacht :allright:
Bin gespannt wieviele mitmachen(wenn ich zeit haben -scheiß schulstress- mach ich vielleicht auch mit)
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Ich bin schon voll dabei. :mrgreen:
Die Idee mit dem Lemminge-Wehnachtsmann ist sehr cool!
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Na, wenn das so fix geht dann fehlt euch natürlich noch eine wichtige Info :mrgreen:

Einsende Anleitung

Damit die Einsendungen auch gewertet werden können,
gilt es folgende Erklärung zu beachten und zu befolgen.

Die Beiträge müssen per E-Mail an diese Adresse
eingesendet werden.

WinterContest@PureArea.net

Als Betreff der E-Mail ist die Nummer der Contestaufgabe
anzugeben zu der der Beitrag gehört.

So sollte es dann aussehen...

WinterContest: 5

Das wäre dann ein Beitrag zur Karaoke-Star-Aufgabe.

Es muss jede erfüllte Aufgabe einzeln eingesendet werden.
Die Einsendung muss eine Zip- oder Rar-Datei sein.

Damit wir einen Beitrag Online stellen zu können, muss eine
Textdatei in deutscher (für die das englische Forum gilt die
englische Sprache) Sprache verfasst sein.

Die Textdateien sind wie folgt aufgebaut....

1 .Titel
2 .Autor
3 .Name der Contestaufgabe
4 .Dateigrösse
5 .>>muss freigelassen werden<<
6 .>>muss freigelassen werden<<
7 .Erklärung/Text.
8 .Erklärung/Text.
9 .Erklärung/Text.
10.Erklärung/Text.
11.Erklärung/Text.
12.Erklärung/Text.
....und so weiter
Ab der Zeile 7 bis zur letzten Zeile kann/sollte ein Text
zum Beitrag stehen.

Ein Beispiel:
Winterwetter Chaos
PureMusterUser
Thema:4 (Wettersim)
50.3 KB


Hallo,

Ich habe mir bei diesem Contest wirklich Mühe gegeben.
Daher hoffe ich auf einen Preis.

Mit freundlichen Grüsse

PureMusterUser



Der Dateiname der Dateie sollte immer folgendes Format
haben:

aufgabennummer_autor_sprache.txt

z.B.

1_PureMusterUser_german.txt


Das wars auch schon.


Die Beiträge könnt ihr in der PureArea.net sehen wenn ihr
unter dem Menüpunkt >> Contest << auf das
Contestbanner klickt.
Ihr gelangt dann auf die Schauseite des Contests.
Runterladen könnt ihr die Beiträge jedoch erst am
Einsendeschluss.
Screenshots können jedoch vorab schon bewundert werden,
solange vorhanden.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Ihr könnt hier übrigens gerne Fragen stellen sollte noch etwas unklar sein :)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Hi,

gleich mal eine paar Fragen:

1. Ich hoffe nicht, dass man seine Punktzahl durch das Lösen mehrerer Aufgaben erhöhen kann. Wenn jemand mehrere Aufgaben löst, sollte er nur die Punkte für das Programm erhalten, was ihm die meisten Punkte gebracht hat. Es wäre sonst unfair gegenüber Leuten, die "nebenbei" noch arbeiten müssen und das Programmieren nur als Hobby betreiben und vielleicht in der zur Verfügung stehenden Zeit nur ein Programm schreiben können. Also irgendwie muss man eine Relation finden zwischen Anzahl der eingesendeten Programme und Bewertung, damit auch Leute mit einem besonders genialen Einzelprogramm eine Chance auf den Hauptgewinn haben.

2. Wie soll die Punktebewerung ablaufen? Werden am Ende alle Programme in einen großen Topf geschmissen und die Forenmitglieder dürfen bewerten oder wird jede Aufgabe unter sich bewertet und jeweils eine separate Rangliste erstellt (Ich hoffe doch, denn hätte ein noch so genialer und aufwendiger Pfadfindealgorithmus bei der breiten Bevölkerung je eine Chance gegenüber einem lustigen Spiel, das mit relativ wenig Aufwand erstellt wurde)?

PS: Ich sehen gerade, dass es einen Preis für Einzelbeiträge gibt, also ziehe ich mal meine Bemerkungen von Punkt 1. zurück... :)
Zuletzt geändert von Lebostein am 22.12.2005 09:11, insgesamt 2-mal geändert.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Lebostein hat geschrieben: PS: Ich sehen gerade, dass es einen Preis für Einzelbeiträge gibt, also ziehe ich mal meine Bemerkungen von Punkt 1. zurück... :)
Aber es gibt auch die Gesamtpunktzahl:
Bereits ein Beitrag zu einer Aufgabe wird gewertet.
Zum Schluss entscheidet natürlich die Gesamtpunktzahl.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten