BCC #72 - Pixel

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Sir Gauss der III

Betreff: BCC #72 - Pixel

BeitragMi, Jul 31, 2013 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

So, hat leider etwas länger gedauert als ich dachte aber hier kommt der 72. Blitzbasic Code Compo unter dem Motto: Pixel

Aufgabe:
einfach und simpel, wie so vieles. Schreibt ein Programm in dem jeder gezeichnete Pixel eine Funktion aufweist.


Regeln:

Für die Pixel

Exclamation Die Größe der Pixel kann frei gewählt werden, solange
Arrow Alle Pixel im Programm gleich groß sind
Arrow die Größe nicht mehr geändert wird
Arrow die Pixel quadratisch sind (x=y)

Exclamation Die Pixel können frei positioniert werden, solange
Arrow Das Rastermaß RXY (quadratisch) RXY<=x+3 und RXY>=x einhält
Arrow sich die Pixel nicht überschneiden
Arrow keine weiteren Elemente gepixelt werden (z.B. Baum etc.)

Exclamation Die Farbe der Pixel kann frei gewählt und verändert werden, solange
Arrow Jeder Pixel genau eine Farbe besitzt (mehrere Pixel können dieselbe Farbe haben)
[EDIT 1.8.]Arrow maximal 16 Farben angezeigt werden

Exclamation Jeder Pixel muss eine eigenständige Einheit bilden, d.H. Pixel
Arrow dürfen in einer Gruppe zusammenstehen (nicht betretbare Pixel bilden Spielfeldgrenze)
Arrow dürfen KEIN gemeinsames Spielelement darstellen (Snake-Körperteil)
Arrow dürfen als Mengenanzeige gemeinsam genutzt werden (z.B. Als Lebensanzeige)

Exclamation Die Pixel müssen eine Aufgabe erfüllen wie
Arrow Einfluss auf die Umgebung nehmen (Mauer)
Arrow Mit der Spielfigur interagieren (Schaden zufügen)
Arrow Eine Spielfigur darstellen (Gegner)
Arrow Mit dem User interagieren (Schadensanzeige)

Exclamation Pixel dürfen NICHT als graphische Programmgestaltung eingesetzt werden (Menürahmen)

Idea Ausgenommen von der Pixelregelung ist der Hintergrund (einfarbig) und ein Mauszeiger solange dieser lediglich als Auswahlhilfe dient und kein eigenes Spiel/Programm - Objekt darstellt


Für das Programm

Exclamation Das Eingangsmenü, soweit vorhanden, ist von der Pixelregelung ausgeschlossen, solange es nicht Hauptbestandteil des Programms ist und im eigentlichen Programmablauf nicht angezeigt wird
[EDIT 1.8.] Ein Levelstartbildschirm welcher für Erklährungen und/oder Storys dient darf vor dem eingentlichen Spielgeschehen eingeblendet werden.
Exclamation Es dürfen beliebig viele Bilder geladen und eingezeichnet werden
Exclamation Es dürfen 4 Sounds geladen und gespielt werden (Sound =<4 sec)
Exclamation Es dürfen beliebig weiter Dateien für Levels u.Ä. mitgeliefert werden (keine Skripte)
[EDIT 1.8.][EDIT 7.8.]Exclamation Es dürfen maximal 700 Zeilen verwendet werden. Es zählen nicht:
Kommentare; Leerzeilen; Variablenerstellungen mit Dim, Global, Local, Const; Laden und Einstellen von Bilder/Sound solange sie vor der Hauptschleife stattfinden und max. 4 Zeilen pro Bild/Sound entsprechen; Grundsätzliche Befehle (Graphics; SetBuffer BackBuffer; SeedRnd MilliSecs; AppTitle; Createtimer oder deren entsprechende Gegenstücke in anderen Sprachen)
Als 1 Zeile zählen: jeweils 1 Type - Gruppe
Idea Berechnungen deren Ziel es ist eine Zeile übersichtlicher zu machen werden als eine Zeile gezählt solange sie mit dem Kommentar "Berechnung start" und "Berechnung ende" eingeklammert sind.
Idea Alle weitere Zeilen werden gezählt, Trennungen der Befehle innerhalb einer Zeile wird als Regelverstoß geandet und führt zum Ausschluss des Projektes.

Ansonsten die üblichen Regelungen
Exclamation Code muss nach Start des BCC geschrieben sein
Exclamation Programmiersprachen in der Grundinstallation
Exclamation Es dürfen Dateien generiert werden
Exclamation Abgabeversionen eines Beitrags müssen den Code sowie eine kompilierte Version des Programmes und mindestens eine Readme enthalten (auch bei selbsterklärende Programme)
Exclamation Das Programm muss ohne Zusatzinstallationen auf Standardwindows laufen
[EDIT 7.8.] Ist dies nicht möglich so sind alle benötigten Dateien und Installationsprogramme mit ab zu geben. (wenn das Programm z.B. explizit nur für Firefox geschrieben wurde sollte die entsprechende Installationsdatei abgegeben werden). Links zu entsprechenden Downloadseiten dürfen gern genannt werden, gelten aber nicht als Abgabe einer Datei.


Abgabe:

Abgabetermin ist der 28.08.2013 23:59, also in genau 4 Wochen
[EDIT 1.8.] hier im Forum oder per PN an mich


[EDIT 1.8.]:
16 statt 8 Farben
Levelbildschirm erlaubt
700 statt 350 Zeilen
Abgabeform

[EDIT 7.8.]:
Const wird nicht gezählt
Types pro Type 1 Zeile
Zusatzsoftware bei Mitlieferung erlaubt (Firefox ...)
  • Zuletzt bearbeitet von Sir Gauss der III am Mi, Aug 07, 2013 23:58, insgesamt 2-mal bearbeitet

Xeres

Moderator

BeitragMi, Jul 31, 2013 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich halte die Regeln... für zu eng und wenig durchdacht. Mit 350 Zeilen (unpraktisches Maß) bekomme ich nichts halbwegs hin - zumal nicht mehrere Befehle in eine Zeile dürfen (zumindest logisch wenn auch mit unklaren Ausnahmeregelungen versetzt, die jeden Steuerberater in den Wahnsinn treiben würden).
An deiner Stelle würde ich nicht versuchen alles anders zu machen, sondern die Pixel-Regeln einfach und deutlich zu machen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

coolo

BeitragMi, Jul 31, 2013 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Leute!

Hiermit gebe ich offiziell meine BCC Abgabe ab. Mit Sourcecode und 2 Kompilaten. Falls es bei euch abstürzt, sagt mir bitte die Fehlermeldung die von der Debugversion kommt.

Downloadlink

Ich hoffe euch macht das Spiel spaß.

EDIT: Version 2 mit stark reduziertem Festplattenspeicherbedarf wurde hochgeladen.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

Tennisball

BeitragMi, Jul 31, 2013 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Edit: Update im Post weiter unten
  • Zuletzt bearbeitet von Tennisball am Do, Aug 01, 2013 16:57, insgesamt 2-mal bearbeitet

DAK

BeitragMi, Jul 31, 2013 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
@coolo: ist es beabsichtigt, dass man nur eine schwarze Fläche sieht? Passiert bei mir sowohl in der Debug als auch in der normalen Version.
Gewinner der 6. und der 68. BlitzCodeCompo
 

Kruemelator

BeitragDo, Aug 01, 2013 4:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Dürfen vor unterschiedlichen Leveln Bilder und Text angezeigt werden das der Spieler versteht um was es geht? Die Darstellung beim laufenden Spiel erfolgt nur mit Pixeln.

Lobby

BeitragDo, Aug 01, 2013 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Alle weitere Zeilen werden gezählt, Trennungen der Befehle innerhalb einer Zeile wird als Regelverstoß geandet und führt zum Ausschluss des Projektes.


Wie definierst du einen Befehl? Muss man den Rückgabewert einer Funktion zwischenspeichern, um ihn als Parameter für einen anderen Funktionsaufruf nutzen zu dürfen?
Oder wäre das als eine Zeile erlaubt? Code: [AUSKLAPPEN]
testA(testB())

Falls ja, darf man das dann z.B. so aufziehen? Code: [AUSKLAPPEN]
testA(testB(testC(testD(testE(...), paramD), paramC), paramB), paramA)


Gleiches frage ich mich für Verknüpfungen von Funktionsrückgabewerten. Code: [AUSKLAPPEN]
KeyHit(KEY_ESCAPE) Or AppTerminate()
(wie etwa coolo es in seinem Beitrag verwendet).
  • Zuletzt bearbeitet von Lobby am Do, Aug 01, 2013 11:30, insgesamt einmal bearbeitet

SpionAtom

Betreff: Re: BCC #72 - Pixel

BeitragDo, Aug 01, 2013 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Sir Gauss der III hat Folgendes geschrieben:

Exclamation Die Pixel können frei positioniert werden, solange
Arrow Das Rastermaß RXY (quadratisch) RXY<=x+3 und RXY>=x einhält


Also das muss mir jemand erklären Confused
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

Kruemelator

BeitragDo, Aug 01, 2013 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
@SpionAtom:
Bin mir nicht sicher, aber ich glaube das gemeint ist, dass wenn ein "Pixel" 10 Bildpunkte breit ist das Raster 10+3 Bildpunkte breit sein kann, also alle 13 Bildpunkte ein "Pixel" malen.
Ob das so stimmt weis ich nicht, ist meine Interpretation.

Tennisball

BeitragDo, Aug 01, 2013 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Update. Jetzt mit Sounds.

https://www.blitzforum.de/upload/file.php?id=12539

Sir Gauss der III

BeitragDo, Aug 01, 2013 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hm... anscheinend denk ich etwas verquer...

@ Xeres
mit 350 Zeilen, ich hab einige ältere Programm von mir mal danach durchforstet, bekommt man schon recht solide Spiele hin. Aber gut, ist wohl doch etwas zu gering gewählt (ca. 7 Byte wenn gecrunsht). Wird daher verdoppelt auf 700 Zeilen. Die 8 Farben sind wohl auch etwas wenig, Da wir noch so weit am Anfang stehen werden sie erhöht.
Die Ausnahmen: machen schon Sinn - manche Sprachen setzen eine strenge Hierarchie ein, so dass nicht ganz so frei programmiert werden kann wie unter BB. Als Beispiel nur mal der Einsatz von Variablen. BBler können eine Deklaration einfach weg lassen was eigentlich kein schönes programmieren ist noch wirklich Sinn macht. Andere Sprachen erzwingen eine Deklaration und wären schon hier im Nachteil.
Grundsätzlich sehe ich wenig Sinn darin, bei einem BCC die Teilnehmer dazu zu verleiten einen schlechten Programmstil zu entwickeln (Kurze Variablennamen, Keine Kommentare usw.) dasselbe gilt für die Performance - also statt mit simplen Pixel den Prozessor zum Glühen zu bringen, eben beliebig viele Bilder. Musik ist ja vorgegeben in welchen Mengen geladen werden darf, und die restlichen 5 Befehle - Nun, ich finde die gehören einfach zum Grundlegenden eines Programms.

Im Blick auf die Übersichtlichkeit eines Programmes macht es wenig Sinn, eine Zeile mit kilometerlangen Formeln zu füllen die im Nachhinein keiner versteht. Daher die Ausnahme mit den Berechnungen (das Wort war wohl etwas missverständlich gewählt).

Welche Regelungen oder Ausnahmen nun im Weiteren noch sehr verwirrend sind kann ich schlecht beurteilen, bei Rückfragen kläre ich gerne auf, auch warum die Regelung so aufgestellt ist. Bei einem guten Gegenargument muss ich auf einer Regelung auch nicht sitzen bleiben und ändere sie gerne.


@Kruemelator

Zitat:
Dürfen vor unterschiedlichen Leveln Bilder und Text angezeigt werden das der Spieler versteht um was es geht? Die Darstellung beim laufenden Spiel erfolgt nur mit Pixeln.

An einen Levelsprung hatte ich nicht gedacht, und es macht schon Sinn - z.B. beim Einführen eines neuen Objektes. Daher JA. Ich werde hier die Regeln entsprechend anpassen.


@ Lobby

Zitat:
Wie definierst du einen Befehl?

Naja, es geht mir weniger um die einzelnen Befehle als um die Zeilen. Da es in BB möglich ist mehrere Schritte in einer Zeile zu schreiben in dem man diese durch ":" trennt wollte ich die Möglichkeit von vornherein ausschließen.

Verboten:Code: [AUSKLAPPEN]
n=w-1 : Print a : Print n : Print n/a

Erlaubt:Code: [AUSKLAPPEN]
print_func(a,n,n/a,r*c/x,func1(func1(f,g),z))


Da dies dazu führen würde dass es einige Zeilen mit so was geben wird: (=1 Zeile)Code: [AUSKLAPPEN]
testA(testB(testC(testD(testE(...), paramD), paramC), paramB), paramA)

gibt es die "Berechnungsausnahme": (auch = 1 Zeile)Code: [AUSKLAPPEN]
;Berechnung start
Merk_E=testE(...)
Merk_D=testD(Merk_E, paramD)
Merk_C=testC(Merk_D, paramC)
Merk_B=testB(Merk_C, paramB)
testA(Merk_B, paramA)
;Berechnung ende



@ SpionAtom
Kruemelator hat das in einem schöneren Satz gesagt wie ich, und völlig richtig. Zitat:
wenn ein "Pixel" 10 Bildpunkte breit ist das Raster 10+3 Bildpunkte breit sein kann, also alle 13 Bildpunkte ein "Pixel" malen.
Es soll einfach die Möglichkeit geben das Raster an zu zeigen, z.B. bei mehreren nebeneinanderliegenden gleichfarbigen Elementen.
Ich lebe in meiner eigenen Welt. Das ist OK, man kennt mich dort.

Lobby

BeitragDo, Aug 01, 2013 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Beitrag: Klick!
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

TimBo

BeitragFr, Aug 02, 2013 1:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Wird auf Windows standardmäßig DirectX mitgeliefert ?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Xeres

Moderator

BeitragFr, Aug 02, 2013 1:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Davon kann man ausgehen, ja.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

TimBo

BeitragFr, Aug 02, 2013 2:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ok gut, trotzdem habe ich Angst, dass mein Spiel am Ende von irgendeiner Regel erschlagen wird.

:/
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

TimBo

BeitragMo, Aug 05, 2013 0:59
Antworten mit Zitat
Benutzer-Profile anzeigen
nur nochmal für Dumme und sry. für den Doppelpost.


Wenn ich Windows habe, kann ich aber kein java Programm starten oder ?
Denn dafür bräuchte ich ja die java VM nicht ?

Wie sieht es mit JS auf, das ist ja keine "programmiersprache" aber mit dem Canvas könnte man sowas ja theoretisch umsetzten. Muss das dann im InternetExplorer funktionieren oder ist auch ein sinnvollerer Browser okay ?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

DaysShadow

BeitragMo, Aug 05, 2013 7:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ernsthaft?! http://de.wikipedia.org/wiki/Java_Virtual_Machine
JRE(Runtime mit JavaVM und etlichen Standardbibliotheken) als Anwender herunterladen, JDK(das die JRE enthält) als Entwickler, geeignete IDE suchen(Eclipse,Netbeans) und schon gehts los.
Wie kommst du auf den Trichter, dass es Java nicht für Windows gibt?


Edit: Aaaaha, das erklärts und ergibt natürlich Sinn, hätte evtl. noch den Kontext bedenken sollen Mr. Green
Blessed is the mind too small for doubt
  • Zuletzt bearbeitet von DaysShadow am Mo, Aug 05, 2013 17:39, insgesamt einmal bearbeitet

Lobby

BeitragMo, Aug 05, 2013 9:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehme an, TimBo bezog sich mit seiner Frage eher auf die Einschränkung in der Aufgabenstellung.
Zitat:
Das Programm muss ohne Zusatzinstallationen auf Standardwindows laufen
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

TimBo

BeitragMo, Aug 05, 2013 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing

ich meinte wegen der benötigten VM und dass es dann ja nicht mehr "standardwindows" ist ..
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Sir Gauss der III

BeitragMo, Aug 05, 2013 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Für besseres Verständniss hier mal die einschränkende Regelungen:
Programmcode
a) Max. 700 Zeilen Programmcode
b) max. 4 Sounds à 4 sec.
c) Code muss nach Start des BCC geschrieben sein
d) Programmiersprachen in der Grundinstallation
e) muss unter Windwos laufen
Pixel
a) Jeder Pixel muss eine eigenständige funktionale Einheit bilden
b) Pixel dürfen nicht für graphische Programmgestaltung eingesetzt werden
c) Pixel dürfen in maximal 16 Farben angezeigt werden
d) Pixel sind quadratisch
Zudem evtl. interessant: Was ist ein Pixel und wie wird er definiert?
Alle weiteren Punkte sind Erklärungen bzw. Ausnahmen der Regeln. Wem die Ausnahme zu kompliziert sind hält sich einfach an oben genannte Punkte. Wie immer bleibt: Im Zweifel einfach Fragen.


@ Timbo
Zitat:
Denn dafür bräuchte ich ja die java VM nicht ?
.... Muss das dann im InternetExplorer funktionieren oder ist auch ein sinnvollerer Browser okay ?

hm... Ok, hier bin ich selbst etwas unsicher. Auf der einen Seite möchte ich nicht wie wild im I-net rumsuchen oder eine menge (für mich) sinnloser Programme auf dem Rechner installieren, nur weil ein Teilnehmer ein Programm für eine spezielle Platform geschrieben hat. Andererseits will ich auch keinen ausschließen da ja grundsätzlich alle Sprachen erlaubt sind.

Wenn genügend dafür sind würd ich die Regelung einfach dahingehend ändern, dass alle benötigten Programme etc. mit zu liefern sind (bitte nicht als Link). Windows sollte weiterhin das Grundbetriebssystem bleiben (also nicht einfach Linux verteilen) - Wer aber nur für Firefox oder ähnliches programieren kann, ... bitte. Morgen Abend werde ich festhalten ob die Regel geändert wird oder nicht.
Ich lebe in meiner eigenen Welt. Das ist OK, man kennt mich dort.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group