![]() |
Variable(Integer), die beim Verlassen eines WB springt
Hallo,
ich will ein Spiel programmieren und brauch, wenn es soetwas gibt, eine Variable, die zum Beispiel einen Integerwertebereich von 1-10 hat. Das wäre ja nicht schwer, mein Problem ist, dass sie, sobald man bei Wrt:=10 angekommen ist und +1 zählt, sie sich auf Wert:=1 schalten soll, also wieder von vorne anfangen soll! Gibt es sowas? ich will nicht immer, wenn das der Fall ist schreiben müssen:
Delphi-Quellcode:
dafür ist mir das Programm zu umfangreich! :lol:
if Wert+1>10
then Wert:=0 Das sollte dann allerdings (wenn möglich) auch anders herum klappt, also, wenn ich Wert:=1 habe und rechne -1 dann müsste da auch wieder 10 rauskommen! Viele Grüße |
Re: Variable(Integer), die beim Verlassen eines WB springt
Hi,
zu umfangreiche Programme gibt es nicht, nur schlecht durchdachte. Wenn du ein Problem wie dieses hast und du es an massig Stellen ändern musst, liegt es doch letztlich nur daran, dass du diesen Punkt hättest früher berücksichtigen können. Kein Angriff gegen dich oder so, aber um eine Funktion kommst du nicht rum. Schreib dir einfach ein eigenes Inc bzw. Dec und schau dort ob dein erhöhter Wert größer ist als x und soweiter. Die Modulo Rechnung hilft dir nebenbei bemerkt bei solchen Problemen auch weiter (8+1 mod 10 = 9, 9 + 1 mod 10 = 0, ...) Gruß Der Unwissende |
Re: Variable(Integer), die beim Verlassen eines WB springt
Du könntest eine Eigene Procedure oder Funktion schreiben, die deine Variable immer nur bis 10 hochzählt und dann bei 1 weitermacht. Du könntest dir aber auch nen eigenen Datentyp mit Integrrzahlen von 1 bis 10 deklarieren und den dann verwenden. (Ob das wirklich geht weiss ich jedoch nicht!)
|
Re: Variable(Integer), die beim Verlassen eines WB springt
Herzlich willkommen in der Delphi-PRAXiS, Freaky89.
Wie schon der gar nicht so Unwissende schrieb, reicht eine Zuweisung ohne Bedingung aus, wenn du die modulo Funktion geschickt verwendest:
Delphi-Quellcode:
Freundliche Grüße vom marabu
Wert := Succ(Wert mod 10);
|
Re: Variable(Integer), die beim Verlassen eines WB springt
Zitat:
|
Re: Variable(Integer), die beim Verlassen eines WB springt
@Freaky89: Welche Delphiversion verwendest du (eventuell mal im Profil nachtragen)? Entsprechend der Delphiversion kannst du operatoren überladen.
|
Re: Variable(Integer), die beim Verlassen eines WB springt
Zitat:
Freundliche Grüße vom marabu |
Re: Variable(Integer), die beim Verlassen eines WB springt
Zitat:
|
Re: Variable(Integer), die beim Verlassen eines WB springt
Ich hatte mich aus beruflicher Gewohnheit an der Anforderung orientiert und diesen Zwei-Zeiler ignoriert, da ich ihn als überflüssiges Illustrationsmaterial eingestuft hatte. Jetzt verstehe ich deinen Hinweis.
Zitat:
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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