Delphi-PRAXiS
Seite 3 von 8     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Snake für die Schule programmieren,Pause;Highscoures einbaun (https://www.delphipraxis.net/71770-snake-fuer-die-schule-programmieren-pause%3Bhighscoures-einbaun.html)

MarkusUhl 21. Jun 2006 14:38

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Okay danke, hier im Forum muss man sich einfach wohl fühlen. Das mit dem Geschwindigkeit habe ich hinbekommen. Funzt soweit alles super.

Nun möchte ich für die einzelnen Geschwindigkeiten unterscheidlich Punkte vergeben. Für Langsam nur einen, Mittel 5 und Schnell 10 pro gefressenen Punkt.
Bin gerade am Tüfetel wie ich das am besten mache.

Ne Lösung dass er die Punkte während dessen anzeigt, habe ich auch noch nicht :wink:

Danke dir/euch!

Die Muhkuh 21. Jun 2006 14:44

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Hi,

ich würde evtl. so etwas vorschlagen:

Delphi-Quellcode:
const
  Langsam = 250;
  Mittel = 140;
  Schnell = 80;
// Constende^^

// Diese Zahlen können auch anders lauten.

// Dann kannst du mit
Timer1.Intervall := Langsam;
// die Geschwindigkeit einstellen. (Du kannst Langsam mit Mittel und Schnell ersetzen).

// Dann kannst du dort, wo du die Kollision mit dem Futter hast (sprich, da wo die Schlange das Futter frisst) z.B. so etwas machen

if Timer1.Intervall = Langsam then
  Punkte := Punkte + 5
else
if Timer1.Intervall = Mittel then
  Punkte := Punkte + 8
else
if Timer1.Intervall = Schnell then
  Punkte := Punkte + 12;

// Diese Punkte können auch variieren.
Das mit Const kannst du über "implementation" hinschreiben.

Die Lösung ist zwar nicht perfekt, aber ich denke für die Schule ist das völlig ausreichend.

Zitat:

Ne Lösung dass er die Punkte während dessen anzeigt, habe ich auch noch nicht
Geht auch ganz einfach. Du machst dir irgendwo ein Label auf die Form, auf dem die Punkte angezeigt werden sollen.
Dann kannst du einfach in deinem Timer per:

Delphi-Quellcode:
PunkteLabel.Caption := 'Punkte:' + IntToStr(Punkte);

MarkusUhl 21. Jun 2006 14:53

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
So einfach kann Delphi sein! Warums sagt man uns sowas nicht in der Schule! Danke dir. Funzt perfekt!

Die Muhkuh 21. Jun 2006 14:54

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Zitat:

Zitat von MarkusUhl
So einfach kann Delphi sein! Warums sagt man uns sowas nicht in der Schule! Danke dir. Funzt perfekt!

Bitte, kein Problem :)

inherited 22. Jun 2006 14:10

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Für die Punkte: Einfach ein Label irgendwohin und dann hinter dem Addieren der Punkte etwa sowas:
Delphi-Quellcode:
LabelX.Caption:=IntToStr(Punkte);

netscanner 22. Jun 2006 14:48

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Hi,
ich habe am anfang gelesen, dass du noch eine Highscore machen willst...
Bei Interese meld dich bei mir mal per PM.
Ich hab letztens auch snake programmiert.
Dann such ich's mal für die raus.


Ach außerdem:
Wie steuerst du die schlange? Über buttons?
Das ginge nämlich auch per tastenklick - da muss man aber was bei beachten, denn die methode onkeydown is zu langsam dafür :)

Auch hier gillt: Bei interesse: PM

inherited 22. Jun 2006 14:56

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Tut mir leid ich kann typen wie dich nicht leiden: Das ist ein FORUM also weigere dich nicht zu Posten.
Wie langsam das über die OnKey...-ereignisse ist liegt an DIR. Das ist kaum zu langsam. Wenn du auf GetAsyncKeyState anspielst, ist das zwar eine Möglichkeit, aber die OnKey...-ereignisse reichen hier völlig aus. Das mi den Highscors ist glaub ich auch hinreichend geklärt

netscanner 22. Jun 2006 16:52

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
@inherited: das du mich nicht leiden kannst ist deine sache :)
Er hatte in diesem Treath nach was anderem gefragt und ich habe schon genug anschiss bekommen weil ich versch in einem Treath angefangen habe...
daher wollte ich das über PM oder von miraus auch einen neuen forumeintrag (treath) regeln...

Ja ich spiele auf GetAsyncKeyState an...
Bei einigen bewegungen ist onkeydown zu langsam. das habe ich damals schon beim entwickeln von meinem snake gesagt bekommen - und es stimmt!

Bei interesse kann ich dir ja mal den Treath von mir hier rein schreiben...


EDIT: Ich finde übrigens keinen einigen hinweis zu rekorddatenbank in diesem forum....also was ist da geklärt?
=>ich habe nicht nach punktezählern gefragt....

inherited 22. Jun 2006 16:53

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
Wieso sollte OnKEyDown/Press zu langsam sein? es reicht ja wenn die richtung geändert wird.

netscanner 22. Jun 2006 16:56

Re: Snake für die Schule programmieren,Pause;Highscoures ein
 
hier der link: http://www.delphipraxis.net/internal...423&highlight=

es liegt nicht an einer richtungsänderung sondern an zwei direkt aufeinanderfolgenden inerhalb von einer sekunde...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr.
Seite 3 von 8     123 45     Letzte »    

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