Wiederholungs Probleme

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Raiden93

Betreff: Wiederholungs Probleme

BeitragSa, Apr 10, 2010 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe das Problem das wenn ich Goldupgradelvl 2 habe das mir die ganze Zeit -25 abgezogen werden natürlich weiß ich das es so nicht geht da Case2 die ganze zeit immer wieder von vorne abgespielt wird nur habe ich keine Ahnung wie ich jetzt die Preise unterbringen soll.Vill in eine Function aber wie soll ich die Preise so unter bringen das ich nicht durch einander komme?

Hakkai

BeitragSa, Apr 10, 2010 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es zu diesem Film auch einen Teil 1?

Raiden93

BeitragSa, Apr 10, 2010 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
xD was für ein Film^^

Edit: Ups habe den Code Vergessen^^
Code: [AUSKLAPPEN]

   ;Goldmineupgradelvl
   Select Goldminelvl
      Case 1
         Text 140,25, "Gold: 25"
         Text 140,40, "Holz: 25"
         Text 140,55, "Stein: 25"
      Case 2
         Text 140,25, "Gold: 50"
         Text 140,40, "Holz: 50"
         Text 140,55, "Stein: 50"
         Gold = Gold -25
         Holz = Holz -25
         Stein = Stein -25
   End Select

Thunder

BeitragSa, Apr 10, 2010 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist ineffizient. Du solltest aufgrund des Levels das Gold berechnen (Formel!).
z.B.:

BlitzBasic: [AUSKLAPPEN]
gold=goldminelevel*25


Allerdings würde ich es an deiner Stelle später so ausbauen, dass man nicht erst die Mine ausbauen muss um dann einen Festen Satz Gold zu bekommen, sondern dass man z.B. minütlich eine gewisse Menge bekommt.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Raiden93

BeitragSa, Apr 10, 2010 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Das habe ich schon gemacht
Code: [AUSKLAPPEN]

   ;Punkte Berechnung Gold
   If MilliSecs() >= Goldms + 1000 Then
      Gold = Gold +1
      SpeicherVar(SpeicherDatei, 12, Gold)
      Goldms = MilliSecs()
   End If

Thunder

BeitragSa, Apr 10, 2010 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, habe dich falsch verstanden. Trotzdem brauchst du eine Formel. Statt:
BlitzBasic: [AUSKLAPPEN]

;Goldmineupgradelvl
Select Goldminelvl
Case 1
Text 140,25, "Gold: 25"
Text 140,40, "Holz: 25"
Text 140,55, "Stein: 25"
Case 2
Text 140,25, "Gold: 50"
Text 140,40, "Holz: 50"
Text 140,55, "Stein: 50"
Gold = Gold -25
Holz = Holz -25
Stein = Stein -25
End Select


nimm soetwas:

BlitzBasic: [AUSKLAPPEN]
Text 140,25,"Gold: "+(25*Goldminelvl)
Text 140,40,"Holz: "+(25*Goldminelvl)
...
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Raiden93

BeitragSa, Apr 10, 2010 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke

Raiden93

BeitragSa, Apr 10, 2010 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
soll ich das
Code: [AUSKLAPPEN]

Text 140,25,"Gold: "+(25*Goldminelvl)
Text 140,40,"Holz: "+(25*Goldminelvl)


in Case 1 oder 2 packen?

Edit:Sorry wegen doppel post nicht aufgepasst und warum sollte ich eine Formel nutzen kommt doch das gleiche raus oder nicht?

Edit2: mein Browser hat wieder nen doppel post gemcht bitte das über mir löschen

Starwar

BeitragSa, Apr 10, 2010 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Thunder hat Folgendes geschrieben:
Ok, habe dich falsch verstanden. Trotzdem brauchst du eine Formel. Statt:

Ersetzen! Hast du verstanden was der Code von Thunder macht?
MFG

Raiden93

BeitragSa, Apr 10, 2010 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ja meine variable Goldminelvl beträgt 1 und dies wird durch 25 mal genommen.

Thunder

BeitragSa, Apr 10, 2010 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Starwar hat nur gemeint, dass das Wort "Statt" andeutet, dass du die Select-Case-Struktur überhaupt weglassen sollst.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Raiden93

BeitragSo, Apr 11, 2010 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
aber ohne das Case geht es doch nicht wirklich oder nicht?

Eingeproggt

BeitragSo, Apr 11, 2010 0:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch, das nennt sich Mathematik Smile

Diese "Formel" wie von Thunder angegeben spuckt dir ja genau dasselbe aus wie dein Code mitn Select-Case nur dass man mit so einer Formel eben keine Entscheidung braucht und nicht so ähnlichen Code zweimal (oder öfter) schreiben muss.

Überleg dir mal:

Code: [AUSKLAPPEN]
Text 140,25,"Gold: "+(25*Goldminelvl)
Text 140,40,"Holz: "+(25*Goldminelvl)


Was schreibt dieser Code bei Goldminelvl=1?
Zitat:
Gold: 25
Holz: 25


und was kommt bei Goldminelvl=2 raus? Richtig:
Zitat:
Gold: 50
Holz: 50


und genau diese Ausgabe willst du ja erreichen, daher schreib diese 2 Zeilen STATT deiner Select-Verzweigung.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
  • Zuletzt bearbeitet von Eingeproggt am So, Apr 11, 2010 0:35, insgesamt einmal bearbeitet

DaysShadow

BeitragSo, Apr 11, 2010 0:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Denk doch einfach mal ein wenig nach und wenn du es dir so nicht vorstellen kannst dann schreib einfach beide Varianten und du kannst sehen ob beide das gleiche machen/anzeigen.

Edit: Ay, ok, jetzt hat es dir doch jemand vorgekaut Wink

MfG DaysShadow
Blessed is the mind too small for doubt

Raiden93

BeitragSo, Apr 11, 2010 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
und was wenn ich ein 3 upgrade dafür haben will da brauche ich doch das case oder nicht?

Eingeproggt

BeitragSo, Apr 11, 2010 1:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Oke, ein letztes mal noch:
Überleg es dir - was passiert wenn du in die Formel 3 einsetzt?
Halt, bevor ich das hier rein schreibe lass ich dich selber rechnen.
Ist es das was du willst? dass man pro Stufe 25 Gold und 25 Holz mehr braucht?
Oder willst du ein anderes System? bei dem die Kosten vielleicht schneller steigen?
Dann empfehle ich, dass du dich mal n bisschen mit Funktionen beschäftigst - um die Uhrzeit in der Samstag Nacht darf man gern auch mal Blödsinn schreiben, deshalb erlaube ich mir jetzt einfach anzunehmen dass die "93" in deinem Nicknamen dein Geburtsjahr ist - mit knappen 17 Jahren solltest du schon selbst in der Lage sein so einfache Zusammenhänge wie multiplizieren selbst anzuwenden...

gute Nacht,
Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Raiden93

BeitragSo, Apr 11, 2010 1:26
Antworten mit Zitat
Benutzer-Profile anzeigen
ne ich möchte verschiedene aufstiege haben z.b 25,50,100,250

The Shark

BeitragSo, Apr 11, 2010 1:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Na dann denk dir eine formel aus, die diese werte zurückliefert.

Midimaster

BeitragSo, Apr 11, 2010 1:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Du in den verschiedenen Leveln total nicht zusammenhänge oder sich (nicht linear) ändernde Werte benötigst, ist das Erstellen einer Select/Case-Struktur schon die optimale Lösung:

BlitzBasic: [AUSKLAPPEN]

Global aktGold%, AktHolz%, AktStein%, ....

Select Level
Case 1
aktGold=25
aktHolz=25
...
Case 2
aktGold=50
aktHolz=25
...
Case 3
aktGold=100
aktHolz=50
....
Case 4
...
End Select

Text 140,25, "Gold: " + AktGold
Text 140,40, "Holz: " + AktHolz
Text 140,55, "Stein: " + AktStein


Dennoch kannst Du die Anzeige mit den Text-Befehlen für alle Werte mit einer gemeinsamer Code-Stelle verwirklichen. Außerdem steht Dir jetzt während des gesamten Levels der nötige Goldbedarf unter der Variable aktGold% ständig zur Verfügung

The Shark

BeitragSo, Apr 11, 2010 2:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal in 5 minuten eine formel für die zahlenreihe zusammengehackt (25,50,100,250) :

BlitzBasic: [AUSKLAPPEN]
For Goldminelvl=1 To 4
Print 25*2^(Goldminelvl-1)+Int(goldminelvl*0.15)*50
Next
WaitKey

Das ist soviel kürzer, wie select-case...

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group