Entwickler-Ecke

Sonstiges (Delphi) - Snake Highscore


Lingen-Ger - Fr 09.03.12 15:31
Titel: Snake Highscore
Hi Leute. Hab Snake programmiert, mir fehlt aber noch der highscore. bitte helft mir.


Moderiert von user profile iconNarses: Topic aus Dateizugriff verschoben am Fr 09.03.2012 um 15:59


Nersgatt - Fr 09.03.12 15:34

Wobei hast Du denn konkret Probleme?


Gausi - Fr 09.03.12 15:35

Ich hatte letztens in einem Spiel 28.367.282 Punkte. Das finde ich ziemlich gut für einen Gelegenheitsspieler.

Diese Punktzahl kannst du gerne als Highscore verwenden, wenn du magst. :D


thepaine91 - Fr 09.03.12 15:54

2.147.483.648 habe ich zu bieten und das ganze als int.


Lingen-Ger - Fr 09.03.12 16:00

Hey. Ja ich hab halt das Spiel programmiert, möchte aber das ich für jeden eingesammelten Punkt ein Highscore via Edit-Feld erhöht. Wäre mega wenn ihr fertigen Quellcode für mich hättet.


Narses - Fr 09.03.12 16:03

Moin!

user profile iconLingen-Ger hat folgendes geschrieben Zum zitierten Posting springen:
das ich für jeden eingesammelten Punkt ein Highscore via Edit-Feld erhöht. Wäre mega wenn ihr fertigen Quellcode für mich hättet.
Kein Thema:

Delphi-Quelltext
1:
2:
if NeuerPunktGeholt then
  EditHighscore.Text := EditHighscore.Text +'1';
cu
Narses


Lingen-Ger - Fr 09.03.12 16:12

hi danke für den vorschlag aber er sagt das der ausdrucks typ boolean sein muss.

Moderiert von user profile iconNarses: Beiträge zusammengefasst

ne er sagt: deklaration erwartet, IF gefunden


Narses - Fr 09.03.12 16:14

Moin!

Ja, das ist richtig, du kannst entweder eine Funktion dafür schreiben, die ein entsprechendes Ergebnis bestimmt oder du deklarierst eine passende Variable, dann ist der Fehler auch weg, z.B. so:

Delphi-Quelltext
1:
2:
var
  NeuerPunktGeholt: Boolean;
cu
Narses


Gausi - Fr 09.03.12 16:16

Ok, Scherz beiseite.

Ein Edit-Feld ist für sowas ziemlich schlecht geeignet. Der Code von Narses funktioniert zwar, ist aber nicht ganz optimal, da hier zum Speichern der Punktezahl linear viel Speicher verwendet wird. Besser wäre eine Integer-Variable, mit der man die Zahl in log(n) Bits speichern kann. Für die Anzeige der Punkte kann man dann wieder ein Edit-Feld nehmen, allerdings sollte man hier die dezimale (und nicht unäre) Darstellung wählen - dafür gibt es den Befehl IntToStr.

Ansonsten würde ich dir mal den Crashkur von Christian [http://christian-stelzmann.de/index_tutorials_crashkurs.html] empfehlen. ;-)


Lingen-Ger - Fr 09.03.12 16:17

Von dem was du gesagt hast verstehe ich leider nicht viel.
Für den Crashkurs von Christian hab ich keine Zeit.


Narses - Fr 09.03.12 16:21

Moin!

user profile iconLingen-Ger hat folgendes geschrieben Zum zitierten Posting springen:
Von dem was du gesagt hast verstehe ich leider nicht viel.
Für den Crashkurs von Christian hab ich keine Zeit.
Aha, du möchtest also nichts lernen. :| OK, deine Entscheidung. Was möchtest du dann alternativ tun, um dein Problem zu lösen? :nixweiss:

cu
Narses


Dude566 - Fr 09.03.12 16:40

Na klar, Snake hat er "selbst" programmiert, das ist natürlich auch nicht so schwer wie einen Punktezähler einzubauen. :roll:

Entschuldigung, aber das musste sein! :mahn:


Lingen-Ger - Fr 09.03.12 16:50

Snake ein bisschen mit Hilfe aber den Punktezähler hab ich.

Nur noch den Button für den Neustart. Hat einer Tipps?

@ Nerses: Ich will lernen, kann aber nicht alles lernen sondern "Snake-spezifisch" :D

Moderiert von user profile iconNarses: Anhang in den ersten Beitrag verschoben.


Gausi - Fr 09.03.12 16:55

Für einen Button gibt es die Komponente TButton. Damit sollte das dann eigentlich gehen.


Narses - Fr 09.03.12 16:59

Moin!

Bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. :idea: Danke! ;)

cu
Narses