MiniBCC #9 - Pack your bag!

Übersicht Sonstiges Projekte

Neue Antwort erstellen

Mr.Hyde

Newsposter

Betreff: MiniBCC #9 - Pack your bag!

BeitragDo, Apr 04, 2013 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
user posted image

Pack your Bag!

Unter diesem Motto startet nun der MiniBCC #9.

Wer kennt es nicht: Man will verreisen und hat sooo viel mitzunehmen - und nur einen Koffer parat!
Und genau diese Situation spielen wir nun auf blitzbasictechnischer wettbewerbsfreundlicher Ebene nach.

Die Aufgabe (Kurzversion):
Schreibt ein Programm, das die Objekte im Aufgabenbild möglichst platzsparend neu anordnet und das Ergebnis als neues Bild abspeichert.

Die Aufgabe (ausführlich):
Schreibt ein Programm
- das ein Bild (Bitmap oder png) entgegennimmt
- die einzelnen Objekte darin erkennt
- diese möglichst platzsparend in einem neuen Bild anordnet
- und abspeichert.

Regeln beim Anordnen:
- Es muss irgendwie eine Hintergrundfarbe definiert werden (das ist in unserem Bild: #FF00FF oder 255,0,255)
- Die einzelnen Objekte im Bild dürfen nicht verändert werden (z.b. gedreht oder gespiegelt)
- Die Objekte dürfen sich nicht überlappen und auch nicht berühren (sie müssen also nach wie vor als getrennte Objekte identifizierbar sein)
ERGÄNZUNG:
Die Objekte müssen klar voneinander getrennt sein, d.h. der schwarze Rand darf sich nicht einmal berühren, nicht diagonal oder wie auch immer:
user posted image


Das Bild:
user posted image
Quelle.

Die Originalbilder haben eine deutlich höhere Qualität. Aus Gründen der Wettbewerbsfreundlichkeit hab ich die Bilder verpixelt und umrandet, um die Objekte möglichst klar voneinander zu trennen.

Bonus-Element:
user posted image
Zum Coden habt ihr 6 KiB + 3 KiB = 9 * 1024 Byte = 9216 Byte

Abgabe:
Bis zum Sonntag, den 7. April, 23:59 Uhr ist eine Zip-Datei bei mir (SpionAtom) abzugeben per PM, die mindestens den Quelltext, eine windowslauffähige exe und das Ergebnisbild als png oder bmp beinhaltet.

Der Gewinner wird wie immer von Euch bestimmt.
BONUSPREIS: Diesmal wird es zusätzlich für denjenigen, der mit seinem Programm das flächenmäßig kleinste Bild produziert, ein digitales Schmankerl geben.


Wir wünschen viel Spaß beim Tüfteln,
SpionAtom (und Hyde)



Foto: Gerard Stolk - cc-by-nc 2.0
  • Zuletzt bearbeitet von Mr.Hyde am Sa, Apr 06, 2013 19:25, insgesamt 4-mal bearbeitet

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Apr 04, 2013 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man doch nur die Zeit hätte!
Vielleicht finde ich sie ja doch irgendwie. So oder so bin ich gespannt. Aufs Thema, und auf die Abgaben!
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Holzchopf

Meisterpacker

BeitragFr, Apr 05, 2013 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Flip-Flops gelten als zwei unabhängige Objekte, richtig?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

SpionAtom

BeitragFr, Apr 05, 2013 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist vollkommen richtig! Sie sind optisch voneinander getrennt, also sinds auch zwei verschiedene Objekte.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Eingeproggt

BeitragFr, Apr 05, 2013 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würds vermutlich nicht miteinbezihen können in mein Programm, aber wieso darf man die Objekte nicht drehen? Wer packt schon Koffer und dreht dabei nicht das eine oder andere Teil? Oder habt ihr Angst dass der Cocktail ausrinnt? Razz

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

SpionAtom

BeitragFr, Apr 05, 2013 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Grund hierfür ist, dass die Aufgabe ohnehin schon recht schwierig ist, und ich mit dieser Maßnahme der Aufgabe wenigstens etwas Komplexität nehme.

Es steht natürlich jedem frei, Zusatzfunktionen einzubauen. Für die Abgabe zählt aber ein Bild mit unveränderten Objekten.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

PhillipK

BeitragFr, Apr 05, 2013 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, es hat mit den rahmenbedingungen zu tun. Stell dir vor, man könnte die objekte noch drehen. Ich zähle 21 objekte. Checkt man alle möglichkeiten, ist es noch überschaubar. Sind alle objekte drehbar, vervielfältigt sich die anzahl der potenziellen checks.
Zumal dies wahrscheinlich auch am coderahmen nagt.

Nichts desto trotz: es wird schwer genug, so schon die optimale packweise rauszufinden. Es wird einfacher die ergebnisse zu vergleichen, wenn niemand drehen kann^^

PSY

BeitragFr, Apr 05, 2013 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Schade,

geiles Thema. Leider kommt bei mir Kommunion dazwischen (viel aufzubaun, helfe jmd), deswegen kann ich wohl leider nicht mitmachen.

Viel Erfolg den Teilnehmern ^^


PSY
PSY LABS Games
Coders don't die, they just gosub without return
 

PhillipK

BeitragFr, Apr 05, 2013 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
mal ne kleine frage meinerseits, der ich überlege mitzumachen:

Dürfen sich die teile am Schwarzen Pixelrand berühren, dürfen diese überlappen (1 schwarzer pixel zwischen 2 objekten) oder muss 1 pixelreihe hintergrund dazwischen sein?

Zähle "schwarzer pixel" ecke-an-ecke als überlappung, dh müssen auch in der diagonale die geforderten 1pixel-abstände einhalten oder dürfe sich diese berühren, allerdings nicht überschneiden?

Am besten wäre es, wenn du 2 objekte ausschneidest und als kurzes bild einfügst, wie sie "zueinander" liegen dürfen Smile Sowohl in der wagerechte / senkrechte, wie auch in der diagonale.
Sind wichtige rahmenbedigungen die einiges an platz ausmachen können.

Edit: Wuhey, schon 3.859 Bytes dreckiger code, um die dinger grob auszuschneiden und nach absolut groben parametern zu sortieren o_O

Hab bereits ne idee, wie ich alles sortiere. Wird allerdings recht lahm und wahrscheinlich meinen coderahmen sprengen ^^"
Trotzdem muss ich protestieren: Ich habe noch nie jemanden gesehen, der einen aufgespannten schirm mit in den urlaub nimmt! x)

SpionAtom

BeitragSa, Apr 06, 2013 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Objekte müssen klar voneinander getrennt sein, d.h. der schwarze Rand darf sich nicht einmal berühren, nicht diagonal oder wie auch immer. Auch dürft Ihr nicht davon ausgehen, dass Objekte immer einen schwarzen Rand haben. Das Programm soll nur zwischen Hintergrundfarbe und Nichthintergrundfarbe unterscheiden.

user posted image

.
..
Der aufgespannte Schirm ist für waschechte Urlauber. Wer im Urlaub ist, sollte nicht noch einen Schirm öffnen müssen.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Xeres

Moderator

BeitragSo, Apr 07, 2013 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Abgabe:

SortImage
Einfach ein Bild auf die Exe werfen und "<file>_result.png" bewundern.
Oder alle Sub-Bilder, falls ihr ausversehen die .debug variante benutzt habt.

Features:
Arrow Findet Bildausschnitte nicht korrekt
Arrow Sortiert kleine Bilder nicht unter andere, wenn da noch platz wäre.

Hab aber keine Zeit mehr, um daran was zu ändern.

Log:
Code: [AUSKLAPPEN]
14m, 28s      Grundlegende Struktur
34m, 9s      Ränder entfernen
11m, 59s      restrukturiert
1h, 43m      Bildausschnitte finden
12m, 17s      Optimierung
44m, 16s      alle Bilder sortieren und zusammen packen
7m, 9s      readme/zippen
5m, 41s      hochladen/posten

Time worked:   3h, 53m, 46s
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)

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group