Delphi-PRAXiS
Seite 2 von 4     12 34      

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)

blablab 6. Nov 2009 16:44

Re: Das wohl beste Schlange der Welt
 
Die Bestenliste fehlt, ganz wichtig! :)

Teekeks 6. Nov 2009 16:45

Re: Das wohl beste Schlange der Welt
 
Vermutlich ein paar übereinander --> jenachdem welches gesehen werden soll :)

Cooles Dings!

p80286 6. Nov 2009 16:51

Re: Das wohl beste Schlange der Welt
 
es war so grauslich, daß ich den Fehler 87 ganz übersehen hab.
war da WINEXEC schuld?

oder muß ich das selbst heraus finden?

Gruß
K-H

P.S. das schlimme ist ja das das Teil wirklich funktioniert, ein bißchen lahm auf der Tastatur, aber ES GEHT!

himitsu 6. Nov 2009 16:59

Re: Das wohl beste Schlange der Welt
 
Der 87-Fehler scheint nur in der "neueren" VCL zu liegen.
Diese gibt einfach nach so 500-1000 Objekten auf.
Man kann sich dann die Form nicht mehr ansehn, wobei Kompilieren dennoch geht, aber sobald die VCL ebenfalls im Programm die Form laden soll, dann ist der Fehler auch dort.

@p80286: ich war ehrlich gesagt auch sehr überrascht, daß es dennoch so gut läuft :shock:

Und das mit dem langsam Reagieren: Es wird jeweils die lezte Taste (pro Intervall) alle 100ms ausgewertet und es werden keine schnellen Tastenfolgen zwischengespeichert.
Soll es schneller reagieren, dann einfach die Zeit von Timer2 runtersetzen, aber dann ist auch die Schlange schneller. :)

[add]
Zitat:

Zitat von DeddyH
Das hab ich mir schon gedacht, ... :mrgreen:

und deswegen ist die Festerposition auch nicht fest ... damit es besser auffällt.

DeddyH 6. Nov 2009 16:59

Re: Das wohl beste Schlange der Welt
 
Zitat:

Zitat von himitsu
die Idee ist mir Aufgrund eines gewissen "Programm zurücksetzen"-Threads gekommen :)

Das hab ich mir schon gedacht, aber wir sollten ja da schon nicht nach dem Sinn fragen :mrgreen:

Mithrandir 6. Nov 2009 17:11

Re: Das wohl beste Schlange der Welt
 
Wat ne Freakshow... :lol:

Aber die Idee, ein Snake aus DP-Foren-Symbolen zu machen, finde ich irgendwie... lustig. :mrgreen:

DeddyH 6. Nov 2009 17:28

Re: Das wohl beste Schlange der Welt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dann will ich mal nicht zurückstecken und ein Musterbeispiel für leserlichen Code präsentieren. Das Programm ist natürlich noch ausbaufähig *g*.

himitsu 6. Nov 2009 17:45

Re: Das wohl beste Schlange der Welt
 
Wer schon immer Mal wissen wolltet, wie man mit Delphi Musik macht: :nerd:
Delphi-Quellcode:
uses Windows, Math;

procedure TForm1.FormCreate(Sender: TObject);
const
  C = 0/8;
  D = 1/8;
  E = 2/8;
  F = 3/8;
  G = 4/8;
  A = 5/8;
  B = 6/8;
  H = 7/8;
var
  T, O, L: Integer;
  X: Extended;
begin
  // PLAY "T160 O1 L8 C D E D C D L4 E C C"
  T := 160; {160}
  O := 1;
  L := 8;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  L := 4;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));

  Sleep(2500);

  // PLAY "T160 O1 >L20 C D E D C D L10 E C C"
  T := 160; {160}
  O := 1;
  L := 20;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  L := 10;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));

  Sleep(2500);

  // PLAY "O0 L16> C C C E"
  T := 160; {160}
  O := 0;
  L := 16;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));

  Sleep(2500);

  // PLAY "O0 L32 E F G E F D C"
  T := 160; {160}
  O := 0;
  L := 32;
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * F / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * G / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * E / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * F / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * D / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
  Beep(Round(4186 / Power(2, 6 - O)*2 + 4186 * C / Power(2, 6 - O)*2), Round((1000 / L) * (160 / T)));
end;

turboPASCAL 6. Nov 2009 17:54

Re: Das wohl beste Schlange der Welt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Fehler, geht nicht! :nerd:

Matze 6. Nov 2009 17:57

Re: Das wohl beste Schlange der Welt
 
Du musst dir natürlich erstmal 'ne Power-Funktion schreiben (so 100 Zeilen lang oder sowas). :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.
Seite 2 von 4     12 34      

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