BCC 34 - ASCII Graphik
Übersicht

Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
![]() |
EingeproggtBetreff: BCC 34 - ASCII Graphik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist soweit.
Die Demokratie hat beschlossen, dass der BCC34 unter dem Thema ASCII-Graphik laufen wird. Aufgabenstellung: Programmiert ein Spiel (Genre frei wählbar) in dem die Graphik ausschließlich aus ASCII-Zeichen besteht. Um die ASCII-Darstellung besser zur Geltung kommen zu lassen und um ein wenig Retro-Feeling einzubringen muss die Darstellung gerastert sein - Also die Darstellung sollte theoretisch nur mit Print möglich sein. Was ist erlaubt? Die Textzeichen die eure Graphiken bilden müssen nicht hardgecodet werden (Dafür steht zB Data ![]() Um die Performance zu erhöhen oder je nach Aufwand / Umfang / Programmierstil das Spiel überhaupt spielbar zu machen seien alle Tricks erlaubt - besonders das Vor-Zeichnen der ASCII-Darstellungen in Images möchte ich hierbei erwähnen. Das Spiel darf bunt gestaltet sein - Color ![]() ![]() Textadventures sind erlaubt (aber nicht gerade kreativ meiner Meinung nach), in ihren Texten dürfen alle Satzzeichen, Umlaute, Währungszeichen etc. vorkommen. Was ist nicht erlaubt? Auf jeden Fall sind externe Graphikdateien diesmal ausgeschlossen Um eine besondere Herausforderung und einen Unterschied zum BCC20 zu bieten ist es nicht erlaubt, Zeichnungen (am Bildschirm) durch native Zeichenbefehle (Rect, Line, Oval, Plot,..) zu erzeugen. Es dürfen jedoch Images vorgezeichnet werden die dann programmintern in eine ASCII-Graphik umgewandelt werden. Es ist nicht erlaubt, Symbolschriftarten zu verwenden, einzig MonoSpace-Schriftarten sind zugelassen. Das Wesen einer ASCII-Graphik ist, dass sie aus ASCII-Zeichen besteht - daher sind nur die Codes 32-126 erlaubt. Reine Texte, die zB eine Aufgabe beschreiben aber auch vom Benutzer eingegeben Namen dürfen beliebige Zeichen enthalten (man denke an Umlaute). Die Aufgabe, dass die Darstellung gerastert sein soll schließt unterschiedliche Schriftgrößen aus. Die Mindestschriftgröße beträgt 10 Pixel! Eine sehr heikle Sache - woher kommen die ASCII-Graphiken - wird von mir wie folgt geregelt: Es ist nicht erlaubt, fremde ASCII-Generatoren zu verwenden. Ihr müsst die Darstellungen selbst erzeugen - von Hand oder mit einem selbst programmierten Generator. Problem an der ganzen Sache ist dass ich das so gut wie überhaupt nicht kontrollieren kann. Ich möchte daher an eure Fairness appellieren. Ich vermute, dass die Qualität der ASCII-Graphiken bei der Abstimmung die eine oder andere Stimme entscheidet - daher möchte ich keine vorgefertigten oder welche aus fremden Generatoren erlauben. Rahmenbedingungen: Wie immer alle Blitz-Versionen in ihrer Grundinstallation ohne zusätzlicher DLLs / Module. Quellcode-Limit: 12kb (12.288 Bytes) Limit für externe Dateien (alles außer Sounds, darunter Maps, Skripte oder eben ASCII-Darstellungen): 48kb (49.152 Bytes) Limit für Audiodateien: 512kb (524.288 Bytes) (Es dürfen freie Musikstücke / Sounds verwendet werden, falls ihr eine schriftliche Genehmigung des Autors habt auch seine geschützten Werke - erwähnt das allerdings deutlich!) Zur Teilnahme muss das Gesamt-Paket, bestehend aus Quellcode, Kompilat und aller zur Ausführung benötigten Dateien abgegeben werden - idealerweise inklusive Readme/Spielanleitung. Abgabefrist: 7.2.2010 - 20:00 (das entspricht 3 Wochen) Antworten auf FAQ: Bei Dateigrößenangaben zählen die von Windows angegebene "Größe", nicht "Größe auf Datenträger" Highscores / Spielstände sind erlaubt - sie zählen zu den "externen Dateien". Wenn sie vom Programm erstellt werden bzw. geändert werden dürfen sie dadurch eine beliebige Größe erreichen. Alle Tricks zur Code-Kürzung sind erlaubt die euch nur einfallen - aber es wäre für alle anderen, besonders für Neulinge gut die ungekürzte Fassung beizulegen. Diese wird nicht bei den Größenlimits mitgezählt, sie soll eine Art Service sein. Ich hab, wie eigentlich jeder Contest-Leiter bisher versucht an alles zu denken. Trotzdem wird es höchstwahrscheinlich noch offene Fragen geben für die ich offen bin und die ich samt Antwort hier nacheditieren werde. Somit wünsche ich euch viel Spass, Erfolg und Kreativität! (und ich wünsche mir viele Teilnehmer ![]() Christoph. Blau=Ergänzungen am 17.1.2010, 13:45 Dunkelblau=Ergänzungen am 18.1.2010, 22:50 |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
- Zuletzt bearbeitet von Eingeproggt am Mo, Jan 18, 2010 23:51, insgesamt 2-mal bearbeitet
![]() |
pirahni |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super Thema, auch wenn ich für den Webcrawler gevotet habe. Bin wahrscheinlich dabei. Und zum Thema passend eine einmalige Signatur:
Code: [AUSKLAPPEN] //||||\\
///||||\\\ // O O \\ O ,. O \ \__/ / \____/ |
||
Leicht verständliche Informatiktutorials:
http://www.youtube.com/VascoLange |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich befürchte, dass ich mit meinen sehr begrenzten Fähigkeiten zu keinem brauchbaren Ergebnis kommen werde. Wenn nur der Print Befehl erlaubt ist, welcher ja direkt in den Front Buffer schreibt, dann flackert das ganze Bild wie Hölle. Benutze ich hingegen den Text-Befehl statt Locate und Print, ist alles schick. Da der Text-Befehl wohl aber nicht erlaubt ist, habe ich keine Idee, wie ich das Problem lösen soll. Hat jemand einen Tip für mich? ![]() |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
uiui, halt ich wittere ein Missverständnis!
Du kannst sehr wohl Text ![]() Code: [AUSKLAPPEN] text_x=(player_x/20)*20
Beispielcode, wenn dein Raster 20px breit sein sollte. Selbiges gilt für die y-Koordinate. Die Aussage "die Darstellung sollte theoretisch nur mit Print möglich sein" soll die Regel mit dem Raster verdeutlichen, ist jedoch kein Muss. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, ok. Das hab ich natürlich gemacht. ![]() |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: daher sind nur die Codes 32-126 erlaubt
Das heißt, "A" und "S" dürfen nicht verwendet werden? Aber solche Striche,wie "|" oder "/" schon, oder? Und ist die Auflösung egal? |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Codes 32-126 schliessen Grossbuchstaben mit ein (siehe auf der ASCII-Tabelle deiner Wahl).
Ein sehr cooles Thema diesmal, mal sehen, ob ich mitmache (ein Rogue-like wäre ja sehr passend ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Megamag, A und S liegen in der ASCII-Tabelle im vorgegebenen Bereich. | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich dachte, damit wären die normalen Scancodes gemeint ![]() (Bin ja mal gespannt, wie viele Rogue-Likes es hier geben wird ![]() |
||
![]() |
pirahni |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, auf jedenfall 1 weniger als alle, denn ich mache keines oO
~Edit~ Wenn der Nutzer eines der "verbotenen" Zeichen eingibt, darf dieses dann trotzdem angezeigt werden? |
||
Leicht verständliche Informatiktutorials:
http://www.youtube.com/VascoLange |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es freut mich, dass die Sache ins Rollen kommt ![]() Also: extended ASCII ja oder nein hab ich mir ne Weile lang überlegt... aber ich entschied mich dann für die "ur-Form" da ASCII nunmal nur die Zeichen 0 bis 127 enthält, wovon die ersten 32 Steuerzeichen sind und bei bestimmten Darstellungsarten (wie nennt man das genau ![]() Namen, Aufgabenstellungen, Hilfstexte etc. dürfen aber Umlaute und €-Zeichen oder was auch immer enthalten. (dies auch als Antwort auf pirahni's Frage gedacht) Außerdem möchte ich noch eine Interpretationsfreiheit gewähren auf die mich coolo persönlich hingewiesen hat: Die nativen Zeichenbefehle dürfen verwendet werden - sie dürfen aber nicht direkt am Bildschirm sichtbar sein. Anwendungsbeispiel: Ihr dürft in den ImageBuffer ![]() Ein weiterer Punkt der in dem Gespräch vorkam ist Bildrotation. Diese ist so gut wie nicht erlaubt. Denn sie verstößt gegen die Vorgabe, dass die Darstellung in ein Raster passen muss. Wenn ihr allerdings eure Spielfiguren (etc.) in verschiedenen Richtungen durch ASCII-zeichen darstellt ist das natürlich regelkonform. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
BlitzMoritz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich finde, eine wichtige Frage steht noch offen:
Wodurch soll die konstante Rasterung eigentlich definiert werden? Hier das Problem unterschiedlicher Ausgaben in einem BlitzMax-Code, bitte ausführen und sehen, was ich meine: Code: [AUSKLAPPEN] Graphics 400,350
Print "Die Rasterhoehe unterscheidet sich" Print "in der Darstellung bei 'Print' in der" Print "Konsole und 'DrawText' im Fenster:" Local Rasterhoehe% = TextHeight("Die Rasterhoehe unterscheidet sich in der Darstellung bei Print in der Konsole und 'DrawText' im Fenster:") DrawText "Die Rasterhoehe unterscheidet sich", 10, 1*Rasterhoehe DrawText "in der Darstellung bei 'Print' in der", 10, 2*Rasterhoehe DrawText "Konsole und 'DrawText' im Fenster:", 10, 3*Rasterhoehe DrawText "Der Rasterwert im Fenster ist zu hoch.", 10, 4*Rasterhoehe Rasterhoehe = 0.7*Rasterhoehe DrawText "Meine Frage: Ist 'TextHeight' als", 10, 9*Rasterhoehe DrawText "Rasterhoehe zwingend vor-", 10, 10*Rasterhoehe DrawText "geschrieben, oder darf man", 10, 11*Rasterhoehe DrawText "auch einen anderen konstanten (!)", 10, 12*Rasterhoehe DrawText "Wert festlegen wie hier ...", 10, 13*Rasterhoehe DrawText "Dann koennte man naemlich", 10, 14*Rasterhoehe DrawText "auch vertikal zusammenhaengendere", 10, 15*Rasterhoehe DrawText "Linien erzeugen, etwa so:", 10, 16*Rasterhoehe Rasterhoehe = 0.5*Rasterhoehe/0.7 DrawText " / ", 10, 26*Rasterhoehe DrawText " _/ ", 10, 27*Rasterhoehe DrawText " __/ ", 10, 28*Rasterhoehe Rasterhoehe = Rasterhoehe/0.5 DrawText "statt so:", 10, 17*Rasterhoehe DrawText " / ", 10, 18*Rasterhoehe DrawText " _/ ", 10, 19*Rasterhoehe DrawText " __/ ", 10, 20*Rasterhoehe Flip WaitKey() |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe kein BlitzMAx und kann deinen Code nicht ausführen ![]() Aber so wie ich das verstanden habe, kannst du dir dein Raster selber festlegen (habe ich auch gemacht) |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn da steht raster dann such dir eins aus...mensch seid ihr alle kompliziert.. | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Richtig, es steh jedem frei wie groß sein Raster sein soll. Also sowohl wie groß ein "Rasterkästchen" ist und auch wie groß die Bildschirmauflösung gesamt ist (als verspätete Antwort auf Megamag's Frage). Allerdings berücksichtigt bitte, dass einige Graphikkarten Probleme bei "exotischen" Graphikauflösungen im Vollbild machen.
Die Mindestgröße eines solchen "Rasterkästchen" ist mit der Mindest-Schriftgröße von 10px gewissermaßen vorgegeben. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich werfe auch mal wieder meinen Bettel ins Rennen. Und zwar mit einem Spiel, das ich jetzt einfach kurzerhand mal Runner nenne, das Spielprinzip hab ich von hier geklaut. (Und ehrlich gesagt, ist das Original meinem vorzuziehen, aber das hat auch Pixel zur verfügung!) Aber dennoch, hier ist meine Version davon. (Der Download steckt im hier.) Der Code ist beigelegt, aber für solche die es sich nicht runterladen wollen, sei hier der Code nochmal angefügt. (Was ihr damit macht ist egal ._. der Code ist voll Opensource! Ich übernehme keinerlei Haftung falls ihr damit Blödsinn macht!!einself!) BlitzBasic: [AUSKLAPPEN] Graphics 800,600,0,2 So. Ich habe es im Chat schon gezeigt, die Leute da haben mir auf Anhieb etwa 3 Bugs gezeigt, die ich dann korrigiert habe. Falls noch jemand welche findet bin ich niemandem böse, wenn er sie mir mitteilt. Die Steuerung ist relativ einfach: Im Menu navigiert man mit den Pfeiltasten hoch und runter, bestätigen (das Kästchen das "blinkt") kann man mit [ Enter ] oder [ Space ]. Damit man nicht einfach losrennt, muss man das Spiel zuerst mit Space starten, von da an kann man mit der [ Hoch ] Taste springen. Die Sprunghöhe ist abhängig von der Zeit des Tastendrucks (es gibt natürlich eine Obergrenze). Ein kurzer Druck gibt einen kleinen Sprung, drückt man lange, springt man höher. Logisch nich? :> GGPO! So long, MfG, Darth |
||
Diese Signatur ist leer. |
![]() |
pirahni |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich möchte hier gleich sagen, dass ich meine Idee nicht von darth klaue, sondern sie auch hatte! | ||
Leicht verständliche Informatiktutorials:
http://www.youtube.com/VascoLange |
![]() |
SpionAtomBetreff: Text-Adventure? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sind Textadventures erlaubt? Die haben ja per Definition keine Grafiken..
Und falls doch, sind darin Sonderzeichen erlaubt? Ist ja alles Text im Sinne von Text. Darth, dein Spiel entspricht leider nicht den Regeln... |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Inwiefern denn Spion? Ich verwende keine externen Grafikdateien (mit F! F! F!) - done. Ich verwende weder Rect, noch Line, noch Oval noch Plot,.. - done. In der Version hier verwende ich nichtmal intern Grafiken, habe ich zwar in der neuen Version gemacht (CreateImage mit dem Char), weil meine Grafikkarte enorm Mühe mit dem Text befehl hat, Images gehen wesentlich flotter - der Punkt ist heikel, aber spielt hier keine Rolle, weil es eine andere Version ist - done. Ich verwende keine Symbolschriften, die standard Blitzbasic Schrift sollte Monospace sein - done. Alle verwendeten Zeichen sind im Bereich von 32-126, soweit ich weiss - done. Die Schriftgrösse ist 12 Pixel (Std) - done. Ich verwende keine ASCII-Generatoren, alles wird intern "von Hand" erzeugt - done. Dies sind die Punkte auf der "Was ist erlaubt?"-Liste, alle abgehakt ._. Ich verwende die Blitz3d Version in der Grundinstallation, ohne irgendwelche DLLs oder Module - done. Mein Quellcode ist etwa 7kb gross, also gut unter der 12kb Grenze - done. Ich verwende keine externen Dateien, die Grenze entfällt - done. Ich verwende keine Sounds, auch dieser Punkt ist hinfällig - done. Da ich keine Sounds verwende, hab ich auch keine Probleme mit Copyright und solchem - done. Im Download ist sowohl die Exe, als auch der Sourcecode, allerdings keine Readme, die wurde aber auch nicht gefordert - done. Abgabefrist ist noch lange nicht - done. Dies waren die Punkte der Rahmenbedingungen, auch alle abgehakt. Also bitte sag mir doch, wie ich welche Regel übertrete. PS: Nachdem du mir deine Mitteilung schon im Chat gemacht hast, finde ich es nicht sonderlich korrekt von dir, dies hier nochmal zu posten, aber wenn du das Gefühl hast dass es alle mitkriegen müssen, dann wird das wohl so in Ordnung sein. Gute Nacht (obwohl das die meisten wohl eh erst morgen lesen werden ![]() MfG, Darth |
||
Diese Signatur ist leer. |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und was ist mit dem Raster? | ||
Gehe zu Seite 1, 2, 3, 4, 5, 6, 7 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group