![]() |
Re: Snake (das Spiel)
Zitat:
|
Re: Snake (das Spiel)
Ahja, was mir noch auffiel: Du benennst deine Prozeduren teils in Englisch und teils in Deutsch. Also entweder ganz oder gar nicht :shock:
mfG mirage228 |
Re: Snake (das Spiel)
Zitat:
NEIN! Da benötigt man eine Globale Variable! Den Zugriff beschränkt man mit der Position.
Delphi-Quellcode:
interface
... implementation ... viel code ... << hier ist die Variable dwStatic NICHT sichtbar var dwStatic : Cardinal = 10; procedure Func; begin Inc(dwStatic); Writeln(dwStatic); end; ... viel code ... << hier ist die Variable dwStatic aber immernoch sichtbar end. |
Re: Snake (das Spiel)
Wenn man gegen den rechten Rand läuft kommt die Meldung rechter Rand berührt und anschließend die Meldnung Sie haben sich selbst gebissen :shock:
|
Re: Snake (das Spiel)
Zu 3: Meinst du mit den Messageboxen, dass ich bspw. in "calc_snake" nur zwei Variablen setze und dann nach dem Aufruf der Prozedur im Timer je nach Variablenwert die Messagebox anzeigen lasse?
|
Re: Snake (das Spiel)
um pr0g mal ein wenig in schutz zu nehmen:
ich finde das tutorial ziemlich gut, weil es sehr ausführlich und sehr verständlich ist. zu den einzelnen punkten mal ein paar sachen: Indizes --> nicht wirklich schlimm und sehr einfach zu korrigieren procedure (private) --> in einem anfängertutorial absolut unerheblich. und wer weiß, ob man nicht vielleicht irgendann mal davon ableiten will? alles panisch in privates zu bauen ist kappes, weil so sachen wie private zum schutz des programmieres vor selbstgemachten bugs dienen, nicht als um styleguides zu rechtfertigen Globale Variablen --> nicht schön. aber das ist a) ein anfängertutorial und b) ist das in 10 sek per copy&past im private der form Berechnung ist mit der Benutzeroberfläche --> a) anfängertutorial. b) man kann wie gesagt wegen jedem scheiss rumheulen, oder es auch lassen Wenn man lange genug spielt könnte map[i,j] evt. den gültigen Bereich eines Integers verlassen !!! --> schon klar. zur seite? oder in welche richtung? Englisch und teils in Deutsch --> ja uuuund??? Rand berührt und anschließend die Meldnung Sie haben sich selbst gebissen --> wow. ein fehler. aber das dürfte zu fixen sein hugh, gereizter nailor hat gesprochen naja, hab mich ein wenig aifgeregt. aber man muss ja nicht alles schlechtmachen |
Re: Snake (das Spiel)
Ich habe den Code nun angepasst und auch den Fehler mit den zwei Messageboxen behoben, wenn man den rechten Rand berührt.
|
Re: Snake (das Spiel)
Hmm, mal abgesehen von den Fehlern die andere hier bemängeln (mich hätten sie nicht gestört, ich hätt dein Tutorial wenn eh nur als Denkanstoss genommen) würd ich sagen das ich deine Anleitung recht gut find und mir endlich mal ein Blick "Hinter die Kulissen" gewährt hat, wie Snake eigentlich funktioniert :thumb: :thumb:
|
Re: Snake (das Spiel)
Mal zur Systemmathik. Denkanstoß:
Ich habe das mal mit einem Ring-Buffer gelöst:
Delphi-Quellcode:
Ich hoffe das reicht.
type
TSnake = record aBody : array [0..ciMaxBuffer] of TPoint; iHead, // Index des Kopfelementes iGrow, // Um wieviel elemente soll die Schlange noch wachsen iLen : Integer; // Länge der Schlange end; EDIT: iGrow hinzugefügt |
Re: Snake (das Spiel)
Vielleicht ist es einigen nicht ganz ersichtlich. Es ging mehr um das Grundprinzip von Snake. Die Codes sind für Anfänger beigefügt, die das Erklärte nicht umsetzen können. Wenn nun bspw. noch ein Record im Code genutzt wird, dann müsste dies auch wieder erklärt werden und das war eigentlich nicht meine Absicht. :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:37 Uhr. |
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