Frage wie berechnet er wie viel geld er noch hat

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Kado

Betreff: Frage wie berechnet er wie viel geld er noch hat

BeitragDo, Okt 28, 2004 10:13
Antworten mit Zitat
Benutzer-Profile anzeigen
also mein prob is wie ich das mach das eine eis 2€ kostet und der das dann vom start geld 30€ abzieht?. Ich habe mir Jetzt lerne ich BB bestellt aber das kommt erst samstag ... deswegen bin ich noch auf euch angewiesen

Code: [AUSKLAPPEN]
Print "Willkommen beim Ice-o-Mat"
Print "Welche Sorte Möchten Sie?"
Print "1 - Vanille, kostet 2E"
Print "2 - Schoko, kostet 2E"
Sorte = Input$("Drücken Sie eine Nummer:")

If Sorte = 1 Then Print "Sie Haben Vanille gewählt"
If Sorte = 2 Then Print "Sie Haben Schoko Gewählt"


   If Sorte <> 1 And Sorte <> 2 Then Print "Ungültige Sorte"
   If Sorte = 1 Or Sorte = 2 Then Print "Gültige Sorte"
;is das auch an der richtigen stelle?
Print "Sie Haben noch " + Geld + " Euro"
WaitKey

BladeRunner

Moderator

BeitragDo, Okt 28, 2004 10:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Kado, ich empfehle dir dich zuallererst mal über Variablen schlau zu machen, also:
Welche Typen gibt es, was kann ich mit ihnen anstellen etc.
Denn deine Frage ist mit einer simplen Zuweisung zu erledigen.
Ich empfehle dir in dem Zusammenhang mal das Tut auf der Robsite.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Gina

BeitragDo, Okt 28, 2004 10:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

indem du der Variable Geld am Anfang den Wert 30 zuweist und vor dem letzten Print Geld = Geld - 2 rechnest... Wink

Gina.
www.jk-spiele.de
 

fliege

BeitragDo, Okt 28, 2004 10:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Geld = 30
Print "Willkommen beim Ice-o-Mat"
Print "Welche Sorte Möchten Sie?"
Print "1 - Vanille, kostet 2E"
Print "2 - Schoko, kostet 2E"
Sorte = Input$("Drücken Sie eine Nummer:")

If Sorte = 1 Then Print "Sie Haben Vanille gewählt"
If Sorte = 2 Then Print "Sie Haben Schoko Gewählt"


   If Sorte <> 1 And Sorte <> 2 Then Print "Ungültige Sorte"
   If Sorte = 1 Or Sorte = 2 Then Print "Gültige Sorte"
;is das auch an der richtigen stelle?
Geld = Geld - 2
Print "Sie Haben noch " + Geld + " Euro"
WaitKey
Wer weiß was kommt.. ?

BladeRunner

Moderator

BeitragDo, Okt 28, 2004 10:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Toll. erstens lernt Kado dadurch nichts weil er nicht selbst drüber nachdenkt.
Zweitens ist der Code so falsch, da die 2 euronen abgezogen werden ganz egal ob er ein Eis bekommen hat oder nicht.
3. Ist noch keine Abfrage drin die gewährleistet dass er kein "negatives" Geld haben kann (sprich: wenn du keine Kohle hast gibbet es auch kein Eis).
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

David

BeitragDo, Okt 28, 2004 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Yor und auserdem: Man stelle sich vor es kommen noch weitere Eissorten hinzu, wie z.B. Erdbere, diese Sorte/n koste(n/t) aber nicht 2 Euro sondern 3 Euro und 50 Cent...
Hm, naja... bekommt man das Eis einfach billiger oder??? Rolling Eyes

grüße
http://bl4ckd0g.funpic.de
 

Kado

BeitragDo, Okt 28, 2004 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das war ja nur zum testen ich mach grade ein ganz simples game aber... bei mir kommt immer der fehler

Expecting "until" or "Forever"


jetzt mein frage was bedeutet der fehler und was kann der fehler sein ... ich kann ja auch den code zeigen wenn ihr wollt

BladeRunner

Moderator

BeitragDo, Okt 28, 2004 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast mit sicherheit irgendwo ne Schleife nit zugemacht oder zuviel zugemacht oder was ähnliches.
Der Fehler heisst übersetzt:
Erwarte (an der Cursorposition, Anm. des Übersetzers) ein "Until" oder ein " Forever".

Du hast also in deinem Code ein Repeat welches der Compiler gerne abschliessen möchte Wink

EDIT:
Zitat:
ja das war ja nur zum testen ich mach grade ein ganz simples game aber...


Dann teste besser solange weiter bis du es verstanden hast ...
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hubsi

BeitragDo, Okt 28, 2004 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Frei übersetzt: Erwarte "Until" oder "Forever". Sprich Du hast eine Schleife nicht abgeschlossen Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Kado

BeitragDo, Okt 28, 2004 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hier is der code ich wollt mal das game eisbubui nach machen ... Weil mir das doch simpel ist und ich weiß ja jetzt wie das einiger maasen geht ^^

Die Einrückung is hier vllt einbischen falsch

Code: [AUSKLAPPEN]
Eisd = 0
Geld = 100
Nahrungsmittel = 10
Hunger = 0
Energie = 100
Repeat

Print "Zahl" "Aktion"               "Kostet"   "Werte
Print " 1    - 1x Eis verkaufen          (+6)      Eis:" +Eism
Print " 2    - 5x Eis Machen           (-25)      Geld:" +Geld
Print " 3    - 10x Nahrung Einkaufen     (-1)      Nahrungsmittel:" +Nahrungsmittel
Print " 4    - Nahrung Zu sich nehmen             Hunger:" + Hunger + "%"
Print " 5    - Schlafen gehen                  Energie:" + Energie + "%"

Menu = Input$("Was wollen sie Tuen?:")
Eisv = 1
Eism = 2
Nahrungk = 3
Nahrunge = 4
Schlafen = 5

If Eism = Then
   Eism = Eism +5
   Geld = Geld -25
EndIf

If Nahrungl = Then
   Nahrungsmittel = Nahrungsmittel + 10
   Geld = Geld -1
EndIf

If Nahrunge = Then
   Hunger = Hunger -10
   Nahrungsmittel = Nahrungsmittel -1
EndIf

If Schlafen = Then
   Energie = Energie +10
   
Forever
WaitKey

BladeRunner

Moderator

BeitragDo, Okt 28, 2004 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
1. beantworte dir selbst: du liesst mit Input die Variable Menu ein. Wird sie irgendwo im Code danach auf ihren Inhalt abgefragt?
2. selbes Problem: Code: [AUSKLAPPEN]
if eism= then 
gleich was? und weshalb willst du eism überprüfen- es kriegt einmal einen festen Wert zugewiesen (2) und wird dann nie mehr verändert...
3. Dein letztes If... hat kein endif - daher hat der Compiler gemeckert.
4. wenn du repeat forever machst hast du ne Endlosschleife, dein Programm lässt sich also niemals beenden.
Mach stattdessen repeat until keyhit(1) - dann kannst du mit Escape aussteigen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Hubsi

BeitragDo, Okt 28, 2004 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If Schlafen = Then
   Energie = Energie +10
EndIf ; ergänzt
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Kado

BeitragDo, Okt 28, 2004 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
1. beantworte dir selbst: du liesst mit Input die Variable Menu ein. Wird sie irgendwo im Code danach auf ihren Inhalt abgefragt?
2. selbes Problem: Code: [AUSKLAPPEN]
if eism= then 
gleich was? und weshalb willst du eism überprüfen- es kriegt einmal einen festen Wert zugewiesen (2) und wird dann nie mehr verändert...
3. Dein letztes If... hat kein endif - daher hat der Compiler gemeckert.
4. wenn du repeat forever machst hast du ne Endlosschleife, dein Programm lässt sich also niemals beenden.
Mach stattdessen repeat until keyhit(1) - dann kannst du mit Escape aussteigen.



das 1. und 2. habe ich net so ganze verstanden kannste das nochmal plz erklären? ^^


ahso 1. hab ich verstanden ... Nein sie wird net abgefragt ^^, und was muss ich nun machen?

und zu 2. wär das dann so richtig?
Code: [AUSKLAPPEN]

If 2 = Then
   Eism = Eism +5
   Geld = Geld -25
EndIf

BladeRunner

Moderator

BeitragDo, Okt 28, 2004 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Ergebnis wäre dass ich dir den Code hinschreiben würde- es ist seeeehr simpel. Aber eine Erklärung geb ich dir noch dazu:
Du rufst input auf und der User gibt was ein.
Was der User eingegeben hat steht nun in der Variablen menu.
DIE musst du überprüfen, denn nur sie wird vom Benutzer verändert.

Wenn du das nicht verstehst solltest du WIRKLICH ganz von vorne anfangen. Nimm Robs Tuts und ARBEITE sie gewissenhaft durch.
Ich habe den Verdacht dass du nicht genau weisst was Variablen überhaupt sind, daher rate ich dir die Grundlagen nochmals grünglich durchzuarbeiten.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

regaa

BeitragDo, Okt 28, 2004 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
@kado:
1. Gehe jede Zeile in deinem Code durch und versuch sie dir selbst zu erklären, wenn du daran scheiterst dann guckst du auf blitzbase.de nach dem aktuellen Befehl, versuchst es zu verstehen und dir zu merken.

2 .Wenn du das gemacht hast und alles verstanden hast, versuch eín nächstes kleines Spiel oder was auch immer zu basteln, schau dir vielleicht auch mal ALLE Befehle auf blitzbase.de die dich in irgendeiner Weise interessieren und versuche sie einzusetzen, dann verfährst du wieder wie in Punkt 1.

Learning by Doing ist das beste Prinzip, es ist auch oftmals besser 5 Minuten nachzudenken als 10 Minuten im Forum auf seinen Antwort zu warten.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
 

Kado

BeitragDo, Okt 28, 2004 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
is das dann so richtig?
wenn ja kannste auch schreiben wie ich das aufteile in mehrere zeilen

Code: [AUSKLAPPEN]

00
Nahrungsmittel = 10
Hunger = 0
Energie = 100
Repeat

Print "Zahl" "Aktion"               "Kostet"   "Werte
Print " 1    - 1x Eis verkaufen          (+6)      Eis:" +Eisd
Print " 2    - 5x Eis Machen           (-25)      Geld:" +Geld
Print " 3    - 10x Nahrung Einkaufen     (-1)      Nahrungsmittel:" +Nahrungsmittel
Print " 4    - Nahrung Zu sich nehmen             Hunger:" + Hunger + "%"
Print " 5    - Schlafen gehen                  Energie:" + Energie + "%"

Menu = Input$("Was wollen sie Tuen?:")


If Menu = 2 Then Eisd = Eisd +5 And Geld = Geld -25
EndIf

until keyhit (1)


also nachdenken tue ich ganze zeit aber ich warte auch auf das feedback ob das richtig ist

regaa

BeitragDo, Okt 28, 2004 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, nicht warten, handeln.^^

Wenn du jede Zeile aus deinem Programm erklären könntest und genau sagen könntest was sie macht, dann wüsstest du auch das Ergebnis, vergleiche also das jetzige Ergebnis mit dem Ergebnis das du erwartest.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
 

Kado

BeitragDo, Okt 28, 2004 12:14
Antworten mit Zitat
Benutzer-Profile anzeigen
also erklären kann ich es , sagt mal ob es denn jetzt richtig is? ^^

aber ich glaub nicht weil es kommt immer noch der fehler

Expection `Until´ or ´Forever´
 

David

BeitragDo, Okt 28, 2004 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Weist du was ein String ist????
Wenn nicht, dann würde ich das Wissen sofort mal nachholen!

Wenn du's dann weist, wird dir auffallen, das etwas an deiner If-Abfrage nicht stimmt.

grüße
 

getlose

BeitragDo, Okt 28, 2004 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
als kleine Hilfe

Code: [AUSKLAPPEN]

;Als erstes weisen wir ein paar Variablen einen Wert zu.

variable_1%=123
variable_2#=0.123
variable_3$="Das ist ein Text"



;hier fangen wir eine Schleife an. (es gibt
;mehrere, wir nehmen aber mal while-wend.)
While Not KeyHit(1)
;das heißt, solange die escape-taste 'nicht'
;gedrückt wird läuft die Schleife weiter.
;Und um die Schleife zu schließen steht
;weiter unten ein 'wend'.

Cls ;zum löschen des Bildschirms



;alles was nun IN dieser Schleife steht
;wird immer-und-immer wieder ausgeführt.
;Deswegen heißt es auch Schleife. ;)

Text 10,10,variable_1%
Text 10,30,variable_2#
Text 10,50,variable_3$

;als kleine Spielerei
If MouseDown(1)=1 And MouseDown(2)=0 Then variable_1%=variable_1%+1
If MouseDown(2)=1 And MouseDown(1)=0 Then variable_2#=variable_2#+0.001
If MouseDown(1)=1 And Mousehit(2)=1 Then variable_3$=variable_3$+" - blub -"




;Wenn BB nun hier angekommen ist
;springt es wieder zu 'While Not KeyHit(1)'
;und prüft ob die escape-taste gedrückt wurde.
;Ist dies nicht der Fall geht BB wieder
;die Schleife durch usw....
Wend

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group