Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Das wohl beste Schlange der Welt (https://www.delphipraxis.net/142950-das-wohl-beste-schlange-der-welt.html)

himitsu 6. Nov 2009 21:17

Re: Das wohl beste Schlange der Welt
 
Zitat:

Zitat von isilive
Und ich wollte schon ernsthaft antworten nachdem ich die .exe gestartet habe, bis ... :stupid:
Fast 3000 Zeilen -> *RESPECT*

Es sind jetzt grade eben 3636 Zeilen geworden :stupid:

> kleines Update ... so alle 60 Sekunden taucht noch ein nettes [?] auf, welches nette sachen macht


Wobei 3000 Zeilen davon nur die Klassendefinition (das Interface) abfallen

Und wenn man den Code wirklich optimiert, dann sollte man bestimmt locker die 300 Zeilen unterschreiten können :)


ich editiere es oben dann gleich auch noch (es sind ja nun 4 Timer und 3102 Images, was fast das Maximum ist, was D7 noch schafft)

und 'ne nette 15 MB kleine DFM

isilive 6. Nov 2009 21:27

Re: Das wohl beste Schlange der Welt
 
Zitat:

Zitat von himitsu
Wobei 3000 Zeilen davon nur die Klassendefinition (das Interface) abfallen
Und wenn man den Code wirklich optimiert, dann sollte man bestimmt locker die 300 Zeilen unterschreiten können :)

Das wäre doch eine Idee für einen Contest -> WER kriegt dieses Programm in voller Funktionalität auf die wenigsten Zeilen Code...

(Oder alternativer Contest: Wer schreibt das coolste Snake Programm mit <= 300 Zeilen Code.)

Erinnert mich an die Scene-Contests mit 64kb-Intros.

Neutral General 6. Nov 2009 21:31

Re: Das wohl beste Schlange der Welt
 
Gewonnen! :stupid:

jfheins 6. Nov 2009 22:40

Re: Das wohl beste Schlange der Welt
 
Zu den Images: Ich hatte letztens ein C# Projekt im VS2008 wo ich versucht habe, 16 Buttons mit Bildern zu füttern. Ging nicht. Die letzten 5 gingen partout nicht rein (man konnte nicht mehr speichern wg. einer OutOfMemory-Exception) Es waren Bilder einer Digitalkamera, also zugegebenermaßen hochaufgelöst.
Ich musste die dann erst verkleinern bevor alles lief :roll:

Btw.: Die Bilder wurden base64-encodiert in einer XML-datei gespeichert ...

Aphton 7. Nov 2009 00:04

Re: Das wohl beste Schlange der Welt
 
Zitat:

Zitat von patti
Naja, dass das nicht ernst gemeint sein kann von jemandem, der über 11.000 Beiträge verfasst hat und dass es ein Beispiel sein soll, wie man es nicht machen soll, ist mir schon bewusst.

Muss nicht zwingend sein :roll:

Btw. Himitsu, du bist nicht damit gemeint.

MfG

RWarnecke 7. Nov 2009 06:50

Re: Das wohl beste Schlange der Welt
 
Himitsu, wenn das ein Beispiel sein soll, wie man es nicht macht, dann könntest Du ja dieses Beispiel nehmen und auch gleich zeigen, wie man es richtig macht, wenn Du schon so viel Zeit hast :zwinker: Was hälst Du davon ?

Teekeks 7. Nov 2009 09:07

Re: Das wohl beste Schlange der Welt
 
Aber das ist doch auch mal ne variante:
Man sucht im I-Net... "ahh, dieses Wort "if" kommt auch in dem unbeispiel vor, darf ich also nicht nehmen..."
:stupid: :stupid:

himitsu 7. Nov 2009 11:28

Re: Das wohl beste Schlange der Welt
 
Für die vielen IFs gibt es ja auch das CASE :stupid:


Sooooooooooo, jetzt gibt es 3 Versionen

0:
das originale "wie man es vielleicht nicht machen sollte"

1:
dort wurde(n)
- einige Variablennamen und Buttonbeschriftungen verständlichert
- die Groß-/Kleinschreigung verbessert
- Code-Duplikate entfernt und in eigene Funktionen/Prozeduren gekapselt
- der Inhalt vom häßlichen Label in die Titelleiste verschoben
- der Reset wird nicht mehr über einen kompletten Neustart erledigt

2:
ja und hier wurden dann noch viele der die zuvielen Images entfernt
und der Status der einzelnen Felder in einem Array gespeichert,
anstatt ihn aus der Sichbarkeit der jeweiligen Images zu generieren

3:
kommt vielleicht auch bald
hier würde dann vermutlich alles auf EIN Canvas umgestellt

Code:
.  DFM-     EXE-     PAS     PAS
    Größe   Größe   Größe   Zeilen

0:  15 MB  7,2 MB   93 KB  3636
1:  15 MB  7,1 MB  6,3 KB   247
2: 266 KB  589 KB  6,1 KB   250
3:   -        -       -          -
An der Funktionsweise des Programms wurde aber nichts verändert.
(abgesehn von dem Label, dem Reset und einer "besseren" Button-Steuerung aka SetFokus)

Codes in Beitrag #1 > Download

Man mag es nicht glauben, aber in der knapp 410 KB kleinen 7Zip sind unschlagbare 44 MB drinnen.
Das sollte wohl auch erkenntlich machen, daß selber die Komprimierungsprogramme der Meinung sind, daß da etwas leicht unoptimal gelaufen ist. :angel:


Und das Ganze zeigt, wohl, daß ein paar "kleine" Optimierungen
- kein doppelter/mehrfacher Code
- eine halbwegs ordentliche Codeformatierung
- und ein gesundes Maß an Optimierung
den gesamten Code wesentlich lesbarer und verständlicher machen. :angel:
Und es spart sogar Zeit und Nerven ... ihr glaubt nicht, wie anstrengend es war all diese Images dort reinzubekommen
und sich bei der Indizierung nicht ständig zu verzählen (im Programmcode).


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz