BCC #64 - Simple Formen

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

Tennisball

Betreff: BCC #64 - Simple Formen

BeitragSo, Aug 26, 2012 1:46
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

BCC #64 - Simple Formen


Aufgabe:

Programmiert ein Spiel, das nur durch folgende, im code generierte, Formen dargestellt wird:
- Für 2D-Spiele: Rechtecke und Ovale (ausgefüllt)
- Für 3D-Spiele: Würfel und Kugeln
Für beide ist Text (nur mit der Standard-Schriftart) erlaubt. Auch das Rotieren und Skalieren ist erlaubt.

Dabei dürft ihr höchstens 4 (vier) dieser Formen (einschließlich Texten) zu einem neuen Image bzw. Mesh zusammenfügen. Alles was nicht zusammen in einem Image bzw. Mesh ist, darf sich nicht absichtlich dauerhaft schneiden/überlappen.

In der letztendlichen Grafikausgabe dürfen nur folgende Farben sein:
Schwarz (RGB: 0/0/0)
Weiß (RGB: 255/255/255)
Rot (RGB: 255/0/0)
Grün (RGB: 0/255/0)
Blau (RGB: 0/0/255)


Beschränkungen:

- Sprachen: Blitzbasic, Blitz3D, BlitzMax, BlitzPlus und Monkey
- Module zusätzlich zur jeweiligen Grundinstallation: Draw3D und MiniB3D
- Codelimit: 16 KiB (16384 Bytes)
- Externe Ressourcen: Keine Grafiken oder Fonts, für alles andere habt ihr insgesamt 500 KiB (512000 Bytes)


Abgabe:

- Ihr habt 4 Wochen Zeit, also darf bis Sonntag, dem 23. September 2012 um 23:59 Uhr, abgegeben werden
- Abgabe erfolgt durch Vorstellung im Thread oder durch PN an mich


FAQ

Frage: Darf man pixelgroße Rechtecke aneinanderkleben, um neue Farben zu erzeugen?!
Antwort: Ja, solange man höchstens 4 davon aneinanderklebt.

Frage: Darf man Rechtecke mit 1 Pixel Höhe bzw Breite benutzen um Linien zu malen?
Antwort: Ja.

Frage: Darf man Alpha verwenden (z.B. um neue Farbtöne zu erzeugen)?
Antwort: Nein. SetAlpha und Co. sind nicht erlaubt.

Frage: Darf man Bilder über Bilder malen?
Antwort: Nicht wenn das dauerhaft geschieht. Wenn der Spieler beispielsweise mal kurz gegen ein Hindernis prallt, ist das okay. Als dauerhafte Berührung gilt, wenn sich beide Objekte nicht voneinander weg bewegen.

Frage: Gilt das für spielbezogene Bilder und Hintergrund auch?
Antwort: Ja, Bild ist Bild.

Frage: Darf ich als Transparenzfarbe (MaskImage) auch eine andere als die 5 angegebenen benutzen?
Antwort: Ja, weil man diese ja letztendlich nicht sieht.

Frage: Müssen die zweidimensionalen Formen ausgefüllt sein?
Antwort: Ja. Sowohl Rechtecke als auch Kreise müssen ausgefüllt sein.

Frage: Darf man so viel Text wie man will in ein Image packen?
Antwort: Nein. Jeder (Draw)Text-Aufruf gilt quasi als Form.

Frage: Darf man die Kugeln und Quader in 3D-Spielen auch mit den 2D-Vorgaben texturieren ?
Antwort: Nein, für 3D-Spiele dürfen nur die vorgegebenen Körper benutzt werden. Das Zeichnen jeglicher Rechtecke oder Kreise ist hier nicht erlaubt.



Falls es noch Fragen gibt, nur zu.



Viel Spaß!

Gruß,
Tennisball
  • Zuletzt bearbeitet von Tennisball am Do, Aug 30, 2012 23:07, insgesamt 19-mal bearbeitet

nX^

BeitragSo, Aug 26, 2012 9:42
Antworten mit Zitat
Benutzer-Profile anzeigen
- Für 2D-Spiele: Rechtecke und Kreise
- Für 3D-Spiele: Würfel und Kugeln

Müssen beide Formen verwendet werden zb bei 2D Spielen? Ist es zwingend vorgeschrieben beide Formen zu nutzen oder kann man nur Kreise oder nur Rechtecke verwenden?

EDIT:
Wenn ich jetzt nen 2D Spiel mache, kann man die Formen so zeichnen oder müssen vorher aus den Formen Images erstellt werden?

Tennisball

BeitragSo, Aug 26, 2012 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
nX^ hat Folgendes geschrieben:
Müssen beide Formen verwendet werden zb bei 2D Spielen?

Nein

nX^ hat Folgendes geschrieben:
Ist es zwingend vorgeschrieben beide Formen zu nutzen

Nein

nX^ hat Folgendes geschrieben:
oder kann man nur Kreise oder nur Rechtecke verwenden?

Ja

nX^ hat Folgendes geschrieben:
Wenn ich jetzt nen 2D Spiel mache, kann man die Formen so zeichnen

Ja

nX^ hat Folgendes geschrieben:
oder müssen vorher aus den Formen Images erstellt werden?

Nein

Tennisball

BeitragSo, Aug 26, 2012 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
-rauseditiert-
  • Zuletzt bearbeitet von Tennisball am Mi, Aug 29, 2012 0:10, insgesamt einmal bearbeitet

nX^

BeitragSo, Aug 26, 2012 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
EDIT:
Frage wurde zum FAQ hinzugefügt.

BlitzMoritz

BeitragMo, Aug 27, 2012 8:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
SetAlpha und Co. sind nicht erlaubt.
... "und Co." soll wohl heißen, auch Schummeleien wie die folgende mittels LIGHTBLEND (o.ä.) sind verboten:
BlitzMax: [AUSKLAPPEN]
Graphics 600,100
SetColor 255,0,0
DrawRect 0,0,600,100
SetColor 0,255,0
DrawRect 200,0,200,100
SetColor 0,0,255
DrawRect 400,0,100,100
SetBlend LIGHTBLEND
DrawRect 500,0,100,100
DrawRect 300,0,100,100
SetColor 0,255,0
DrawRect 100,0,100,100
Flip
WaitKey()


Edit: Unter "keine Grafiken laden" verstehe ich, dass man lediglich keine originären Bilddateien, also jpg- oder png- bzw. bmp-Formate laden darf, in anderer Form dagegen sehr wohl Daten (z.B. Level u.v.a.), die sich auch in irgendeiner Weise auf die grafische Gestaltung des Bildschirms, also Farbe und Anordnung der simplen Formen, auswirkt. Korrigier' mich, wenn's anders sein sollte.
  • Zuletzt bearbeitet von BlitzMoritz am Mo, Aug 27, 2012 14:47, insgesamt einmal bearbeitet

Nova

BeitragMo, Aug 27, 2012 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Anstatt einfach zu sagen: Auf dem fertigen Bild dürfen nur folgende Farben vorhanden sein: ....
Wäre viel einfacher und müsste nicht mit irgendwelchen komplizierten Regeln untermauert werden. Wink
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Tennisball

BeitragMo, Aug 27, 2012 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für den Hinweis, hab's reineditiert.

Gruß,
Tennisball

AnniXa

BeitragMo, Aug 27, 2012 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Bezogen auf 2D:
Müssen die Formen ausgefüllt sein?
Bzw. zählt eine nicht ausgefüllte Form schon als 2 Formen?
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

Tennisball

BeitragMo, Aug 27, 2012 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Würde sagen, dass sie ausgefüllt sein müssen. Sonst wäre das unfair gegenüber BlitzMax-Benutzern, welche ja keinen Parameter "filled" bei DrawRect etc haben. Wenn man dann mit seiner Transparenzfarbe (oder mit irgendeiner anderen erlaubten Farbe) eine weitere Form ins Bild malt, zählt das als 2 Formen, ja.

Gruß,
Tennisball

Edit: BlitzMoritz: Darfst du.

DAK

BeitragDi, Aug 28, 2012 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür können BMax-ler Graphiken viel einfacher drehen... Und soweit ich mich erinner geht das auch mit primitiven Objekten...
Gewinner der 6. und der 68. BlitzCodeCompo

Tennisball

BeitragDi, Aug 28, 2012 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK: Ich dachte mit Draw3D (welches ja erlaubt ist) kann man in BB Grafiken auch einfach drehen.. oder irre ich mich da?

Gruß,
Tennisball

Propellator

BeitragDi, Aug 28, 2012 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
DAK hat Folgendes geschrieben:
Dafür können BMax-ler Graphiken viel einfacher drehen... Und soweit ich mich erinner geht das auch mit primitiven Objekten...


Na und? BB kann einiges nicht, was BMax kann. Jeder kann die Blitz-Sprache verwenden, die er will.
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

DAK

BeitragMi, Aug 29, 2012 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
@Propellator: Wie gesagt, wenn man BBler beschneidet, dass sie keine unausgefüllten Flächen machen dürfen, weil BMaxler es nicht können, dann auch in die andere Richtung. Oder besser: lass sie machen, was die Sprache erlaubt.

@Tennisball: Rennt aber nur unter B3D, nicht unter BB und B+.
Gewinner der 6. und der 68. BlitzCodeCompo

SpionAtom

Betreff: Mein Beitrag soweit

BeitragMi, Aug 29, 2012 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Er ist billig und beinhaltet goto Twisted Evil

https://dl.dropbox.com/u/26264447/BCC64.zip
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

BlitzMoritz

BeitragMi, Aug 29, 2012 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Aaaah, jetzt hab' ich's verstanden - ein bekanntes altes Spiel im neuen Miniatur-Gewand Smile
Unter der Annahme, dass du die Schweinebilder durch die vier Komponenten ~, M, E und ein Oval zusammengeklebt hast, berühren allerdings die zusätzlichen Beine-W's das Bild. Außerdem überschneiden sich die Schweine gegenseitig (und die rechte weiße Wandlinie) beim Laufen komplett - also regelwidrig:
Zitat:
Alles was nicht zusammen in einem Image ist, muss sichtbar voneinander getrennt werden (mindestens 1 Pixel Abstand, bzw. es darf sich nicht schneiden)

Und noch'n Tipp: das 'Rüberreichen der hingemetzelten Schweine dauert zu langsam - bitte etwas schneller.

Tennisball

BeitragMi, Aug 29, 2012 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, der Sinn der Abstandsregel ist eigentlich nur, dass ich nicht möchte, dass man z.B. noch zig Sachen an sein Spieler-Image dranklebt.. Wenn jetzt Schweine aneinander vorbeilaufen, oder nebeneinander her... ist das okay. Die Images dürfen nur nicht absichtlich dauerhaft aneinander sein, weil man so eben schummeln könnte.

Gruß,
Tennisball
  • Zuletzt bearbeitet von Tennisball am Mi, Aug 29, 2012 16:08, insgesamt einmal bearbeitet

SpionAtom

BeitragMi, Aug 29, 2012 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Schweine bestehen tatsächlich aus 3 x Text + 1 x Oval. Soweit gabs auch keine Einwände von Tennisball.
Und das Überlappen war auch in soweit in Ordnung, da es nicht permanent war

Zitat:
Frage: Darf man Bilder über Bilder malen?
Antwort: Nicht wenn das dauerhaft geschieht. Wenn der Spieler beispielsweise mal kurz gegen ein Hindernis prallt, ist das okay. Als dauerhafte Berührung gilt, wenn sich beide Objekte nicht voneinander weg bewegen.


Beim End-Screen habe ich allerdings nicht ganz aufgepasst, da sind die Füße im Boden...

Für letztendliche Klarheit müsste Tennisball sorgen.

Und die lange Laufzeit ist dazu da, um das Spiel länger als 10 Sekunden lang zu machen Very Happy
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

BlitzMoritz

BeitragMi, Aug 29, 2012 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Was heißt hier "permanent"? Die W-Füße überlappen doch permanent den Bauch des Schweins, auch wenn sie manchmal geringfügig hin- und herzappeln?
Dann reicht also nur die Tatsache, dass sich die Dinge bewegen und damit automatisch ihren gegeseitigen Abstand verändern, um sich berühren zu dürfen?
Dann muss dies prinzipiell gelten und beispielsweise auch so etwas erlaubt sein:
BlitzMax: [AUSKLAPPEN]
Graphics 800,500
Local move%
Repeat
Cls
SetColor 255,0,0
DrawOval 300 + ((move + 1) Mod 3), 100, 120, 120
SetColor 0,255,0
DrawOval 300 + ((move + 2) Mod 3), 200, 120, 120
SetColor 0,0,255
DrawOval 300 + ((move + 3) Mod 3), 300, 120, 120
Flip
move:+1
Delay 1000
Until KeyDown(KEY_ESCAPE)
und zwar egal für welche Bewegungsgeschwindigkeit und wieviele Dinge sich gegenseitig berühren!

Edit (zum Nachfolgenden):
OK, wenn ihr eine Textzeile aus mehreren Buchstaben als ein Zeichenbefehl versteht ...
... was ich allerdings im Sinne des BCC-Mottos für nicht konsequent halte: einem einfachen Kreis oder Rechteck entsprechend sollte jeder Buchstabe als einzelne Form gezählt werden.
  • Zuletzt bearbeitet von BlitzMoritz am Mi, Aug 29, 2012 20:06, insgesamt 4-mal bearbeitet

SpionAtom

BeitragMi, Aug 29, 2012 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Glaub mir, ich wollte die Regeln ausreizen, aber nicht überreizen Cool

user posted image
Das ist ein reguläres Schweinebild bestehend aus vier Zeichenbefehlen:
Code: [AUSKLAPPEN]
;Ein Schwein hat den Umfang 50x40
Function zeichneSchwein(r, g, b, pfoten, x = 0, y = 0)
   Color r, g, b
   Oval x + 7, y + 10, 35, 25
   Text x + 9, y + 5,  "M"
   Text x + 0, y + 16, "E °  ~"
   Text x + 11 + pfoten, y + 27, "W W"
End Function


Und für jeden anderen Fußstand habe ich ein eigenes Bild.
Den ganzen Code liefere ich nach, sobald er vorzeigbar ist...
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group