AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Variable(Integer), die beim Verlassen eines WB springt
Thema durchsuchen
Ansicht
Themen-Optionen

Variable(Integer), die beim Verlassen eines WB springt

Ein Thema von Freaky89 · begonnen am 4. Jun 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
Freaky89

Registriert seit: 2. Jun 2006
3 Beiträge
 
#1

Variable(Integer), die beim Verlassen eines WB springt

  Alt 4. Jun 2006, 17:07
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:
if Wert+1>10
  then Wert:=0
dafür ist mir das Programm zu umfangreich!

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
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 4. Jun 2006, 17:14
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
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 4. Jun 2006, 17:18
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!)
Christian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 4. Jun 2006, 19:31
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:

Wert := Succ(Wert mod 10); Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 5. Jun 2006, 10:47
Zitat von marabu:
Wert := Succ(Wert mod 10);
Mal ganz kleinlich korrigiert musst du mod 11 rechnen, da du bis einschließlich 10 einen modulo-Ring wolltest
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 5. Jun 2006, 10:54
@Freaky89: Welche Delphiversion verwendest du (eventuell mal im Profil nachtragen)? Entsprechend der Delphiversion kannst du operatoren überladen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 5. Jun 2006, 15:30
Zitat von Der_Unwissende:
Mal ganz kleinlich korrigiert musst du mod 11 rechnen, da du bis einschließlich 10 einen modulo-Ring wolltest
Bist du dir sicher? Ich hatte Succ(10) = 1 als Anforderung erkannt.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 5. Jun 2006, 18:31
Zitat von Freaky89:
Delphi-Quellcode:
if Wert+1>10
  then Wert:=0
Heißt doch, dass der Nachfolger von 10 die 0 ist, oder seh ich's gerade falsch? Wie auch immer, er wird schon wissen was er gerne hätte, wollte nur mal den Marabu korrigieren (wann hab ich dazu schon mal Gelegenheit?)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Variable(Integer), die beim Verlassen eines WB springt

  Alt 5. Jun 2006, 19:10
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 von Der_Unwissende:
wollte nur mal den Marabu korrigieren (wann hab ich dazu schon mal Gelegenheit?)
Geduld - da werden schon noch Gelegenheiten kommen.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz