Variablen Fehler

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

pokop

Betreff: Variablen Fehler

BeitragMo, Feb 09, 2004 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ne Variable Zahl$. Ich sag dann also dem Computer er soll:

Code: [AUSKLAPPEN]

Repeat
Print Zahl$
Zahl$ = Zahl$ + 1
Until KeyHit(1)


Ich starte Das Programm und der Computer macht mir eine Eins hinter der anderen:
Code: [AUSKLAPPEN]

1111111111111....................................................

Ich will aber das er die Eins nur adieren soll. wie mach ich das?
http://www.abandonia.com/

--->Nikola Tesla<---

pokop

BeitragMo, Feb 09, 2004 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, ich bin doch wirklich dumm, $ ist doch für text, da müsste ich doch % nehmen:
Code: [AUSKLAPPEN]
Repeat
Print Zahl%
Zahl% = Zahl% + 1
Until Keyhit(1)


Echt, sowas müsste ich doch selbst langsam wissen Mad .
http://www.abandonia.com/

--->Nikola Tesla<---

Jolinah

BeitragMo, Feb 09, 2004 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt Very Happy

PS: Das Prozent ist nicht unbedingt notwendig. Standardmässig sind alle Variablen Integer (Zahlen) in Blitzbasic.

Code: [AUSKLAPPEN]
Repeat
Print Zahl
Zahl = Zahl + 1
Until Keyhit(1)

pokop

BeitragMo, Feb 09, 2004 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh Embarassed das hab ich nicht gewust, Jetzt hab ich ein Neues Problem:
Code: [AUSKLAPPEN]
Repeat
Multi% = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")
If Multi% >= 3 Or Multi% = 0 Then
Print"Falsche Eingabe"
Until Multi% = 1 Or Mulri% = 2


Der Computer sagt dann "Until" without "Repeat"?
http://www.abandonia.com/

--->Nikola Tesla<---

Mr.Keks

BeitragMo, Feb 09, 2004 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Repeat
Multi% = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")
If Multi% >= 3 Or Multi% = 0 Then
Print"Falsche Eingabe"
endif
Until Multi% = 1 Or Mulri% = 2

mehrzeilige if-folgen müssen mit endif geschlossen werden. solche fehler lassen sich vermeiden, wennman immer schön brav mit tab einrückt.

und sie passieren einem eigentlich garnicht (außer evtl. versehentlich), wenn man mal ein buch lesen würde.
MrKeks.net
  • Zuletzt bearbeitet von Mr.Keks am Mo, Feb 09, 2004 21:25, insgesamt einmal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMo, Feb 09, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Repeat
Multi% = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")

If Multi% >= 3 Or Multi% = 0 Then
Print"Falsche Eingabe"
endif ;<<<<<<<Fehlte

;oder so
;If Multi% >= 3 Or Multi% = 0 Then Print"Falsche Eingabe"

Until Multi% = 1 Or Mulri% = 2
[BB2D | BB3D | BB+]
 

newkev

BeitragMo, Feb 09, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Repeat
Multi% = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")
If Multi% >= 3 Or Multi% = 0 Then
Print"Falsche Eingabe"
EndIf ;       <- Das Endif hast du vergessen.
Until Multi% = 1 Or Mulri% = 2


Edit: Verdammt war ich langsam Rolling Eyes
Signatur? Gibts nich^^

Jolinah

BeitragDi, Feb 10, 2004 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Inarie hat Folgendes geschrieben:
solche fehler lassen sich vermeiden, wennman immer schön brav mit tab einrückt.


Code: [AUSKLAPPEN]

Repeat

  Multi% = 0
  Print"Gib `1´ für ein Spiel gegen den Computer ein"
  Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")

  If Multi% >= 3 Or Multi% = 0 Then
    Print"Falsche Eingabe"
  EndIf

Until Multi% = 1 Or Multi% = 2


Find ich auch schöner Wink

Ist das nicht viel übersichtlicher? Da sieht man immer wann ein Block zu ende ist (If, Schleifen,Funktionen etc.)

Code: [AUSKLAPPEN]

Repeat
Multi% = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi% = Input("oder `2´ um gegen einen Freund zu Spielen:")
If Multi% >= 3 Or Multi% = 0 Then
Print"Falsche Eingabe"
EndIf
Until Multi% = 1 Or Multi% = 2


So überspringt man mit dem Auge schnell etwas. Und auch Leute die den Code das erste mal lesen haben es schwerer als wenn der Code eingerückt ist.

pokop

BeitragDi, Feb 10, 2004 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaja, ich weiß, ich soll ein Buch lesen!
Aber ihr könnt so schön erklären Razz .
Jetzt könnt ihr mir mal gleich hir was erklären, wie mach ich das, dass das funtzt(wow, viele das(s) hintereinander)
Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()
AppTitle "Labyrint"
a = 608
b = 0
z = 1
Spieler1 = LoadImage("Spieler.bmp")
Spieler2 = LoadImage("Spieler2.bmp")
gfxGameover=LoadAnimImage("Game over.bmp",32,32,0,7)
Tileset=LoadAnimImage("Tileset.bmp",32,32,0,15)
gfxGameover2=LoadAnimImage("Game over2.bmp",32,32,0,15)
MaskImage gfxGameover,255,0,255
MaskImage Spieler2,255,0,255
MaskImage Spieler1,255,0,255
Cls
Repeat
Multi = 0
Print"Gib `1´ für ein Spiel gegen den Computer ein"
Multi = Input("oder `2´ um gegen einen Freund zu Spielen:")
If Multi >= 3 Or Multi = 0 Then
EndIf
Print"Falsche Eingabe"
Until Multi = 1 Or Multi = 2
If Multi = 1
Locate 0,460
Print Punkte%
Punkte% = Punkte% + 1
If Multi = 2
Locate 0,460
EndIf
Punkte% = 10000
Repeat
Print Punkte%
Punkte% = Punkte% - 1
DrawImage Spieler1, x, y   
   If KeyDown(200) Then y = y - 2
   If KeyDown(205) Then x = x + 2
   If KeyDown(203) Then x = x - 2
   If KeyDown(208) Then y = y + 2
DrawImage Spieler2, a, b
If Multi% = 1 Then
   If KeyDown(18) Then b = b - 2
   If KeyDown(33) Then a = a + 2
   If KeyDown(31) Then a = a - 2
   If KeyDown(32) Then b = b + 2
EndIf
If Multi% =2 Then
   If x > a Then a = a + 1        
   If x < a Then a = a - 1
   If y > b Then b = b + 1
   If y < b Then b = b - 1
EndIf
Repeat
If Multi = 2 And Punkte% = 0 Then
If MilliSecs() > tmrGameover2 + 150 Then
tmrGameover2=MilliSecs()
frmGameover2=(frmGameover2 + 1) Mod 7
End If
DrawImage gfxGameover2,x,y,frmGameover2
z2 = z2 + 1
Flip
Cls
Until z2 = 60
>>>Until ImagesCollide(Spieler1, x, y, frame1, Spieler2, a, b, frame2) Or KeyHit(1)<<<
Repeat
If MilliSecs() > tmrGameover + 150 Then
tmrGameover=MilliSecs()
frmGameover=(frmGameover + 1) Mod 7
End If
DrawImage gfxGameover,x,y,frmGameover
z1 = z1 + 1
Flip
Cls
Until z = 60
Locate 300,200
Print"Du hast"
Locate 360,200
Print Punkte%
Locate 387,200
Print" Punkte ereicht"
End


In der Gekenzeichneten Zeilen liegt irgentwo der Fehler!
http://www.abandonia.com/

--->Nikola Tesla<---

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Feb 10, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau mal deine if then nach und setzte ggf. End if
Da fehlen welche!

bei Repeat...Until isses das gleiche
Rück den Text ein dann findest du auch die Fehler schneller !
[BB2D | BB3D | BB+]
 

HOT-BIT

Gast

BeitragDi, Feb 10, 2004 23:07
Antworten mit Zitat
Hi !

@Rallimen:
Du kommst mir vor wie ein barmherziger Samariter !

Wenn einer, nur wegen der eigenen Faulheit, sich das erklären lassen will, ist er hier sicher an der falschen Adresse.

Ich bezweifle auch nicht, daß du das kannst, aber warum unterstützt du Faulheit ? Das ist nicht Sinn der Sache. So werden wir uns hier keine weiteren Programmierer schaffen. Denn nach ein paar Tagen wissen die wieder nicht, wie man so was macht.
Also laß die Jungs selbst ihre Fehler suchen ! Sonst sterben sie blöder als sie geboren wurden.

Und du, pokop, setz dich auf deinen Hintern, und lern mal gefälligst selbst. Vielleicht bleibt irgendwas in einer deiner 3 Gehirn-windungen hängen !

Danke, Toni

Mike Nike

BeitragDo, Feb 12, 2004 2:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@ALL (u.a. @HOT-BIT -> ich habe dich ja schon im Chat mal so urteilen hören und deine Reaktion ist für mich schon verständlich)

Was das richtige Verhalten dabei ist, ist so eine Sache...es kommt auf die Situation an, allerdings verallgemeiner ich es jetzt mal ein bisschen...

[Tat]
- Jemandem bei einem Problem zu helfen, dass scheinbar dringend ist, ist als eine nette Geste zu bewerten, finde ich (ein zwar gutzuheissendes Verhalten, aber es ist, wie es ist, ein Tropfen auf den heissen Stein, vergleichbar mit bestimmten Spendenaktionen für weniger gute investitionssinnvolle Projekte

[Rat]
- Jemandem einen Rat geben, wie er zukünftig auf Hilfe anderer verzichten kann, ist meiner Meinung nach auch das sinnvollere Verhalten...

[Rat und Tat]
- Das beste ist meiner Meinung nach aber, dem Hilfsbedürftigen die erste Hilfe zu geben und somit seine Not zu stillen und danach oder gleichzeitig, dezent auf denjenigen einzureden, mögichst so rhetorisch/geschickt, dass derjenige auf zukünftige Hilfe bei ähnlichen Problemen verzichten kann und zur Selbsthilfe greifen kann.
Aus verschiedensten Gründen kann derjenige aber leider nicht immer seine Lehre aus den Worten ziehen (ungenaue Sprachinterpretation, fehlendes Vorwissen, Zeitgründe...) und solange man nicht genau weiss, dass derjenige nicht wirklich selbst daran Schuld ist (also ob es quasi aus bewusst aus einer negativen Charaktereigenschaft hervorgeht), sollte man glaube ich wohl eher mal versuchen, seinen eigenen "lehrpädagogischen/didaktischen" Horizont zu erweitern.

Ich gebe zu, dass die Möglichkeit, z.B. Alu's gelegentliche *räusper*, ich fasse es mal in "Spamvorliebe" zusammen, permanent unterdrücken zu können, selbst für einen optimistisch orientierten Psychologen keine leichte Aufgabe ist - aber einen Versuch ist es wert. Jaa, selbst bei Alu Wink .

So, zu dem eigentlichen Topic habe ich jetzt allerdings keinen wirklichen Bezug genommen, aber ich denke, wenn sich der ein oder andere meine Worte hier mal durch den Kopf gehen lässt, hat sich mein Beitrag gelohnt.
An dieser Stelle möchte ich aber mal den frisch gewordenen Vater (->East-Power-Soft) zitieren: "Ganz wichtig: Bitte nicht immer alles so ernst nehmen." - damit will ich aber jetzt eher nur vorurteilige Bemerkungen abblocken, die sich ja so oft aus naiven Gedanken, gebildet durch die Spontanität, die bei einigen Leuten nicht gerade aus Lässigkeit, sondern eher aus Ernsthaftigkeit entsteht, weil ihr natürliches Verhalten hauptsächlich aus spontanem Handeln besteht und der Unterschied zwischen Ernst und "Nicht-Ernst"/Lässigkeit sehr gering zu sein scheint.

Also...was merken wir uns Wink ?
Hilfbereit sein, geduldig und selbstkritisch sein, auch wenn der Notbedürftige eine lange Leitung hat Wink - und dies so früh es geht.
..where the only limit is your imagination.
 

HOT-BIT

Gast

BeitragDo, Feb 12, 2004 9:17
Antworten mit Zitat
!

Toni

hamZta

Administrator

Betreff: hm

BeitragDo, Feb 12, 2004 10:45
Antworten mit Zitat
Benutzer-Profile anzeigen
[off]
stimmt eigentlich...
hot-bit ich hatte dich mal vieeeel freundlicher in erinnerung.
jetzt grummelst du nur mehr rum. ich kann mich an fast keine posts von dir erinnern, in denen du nicht irgendwen tadelst, schimpfst oder sonstiges tust... [/off]

Zitat:
Jaja, ich weiß, ich soll ein Buch lesen!
Aber ihr könnt so schön erklären .
Jetzt könnt ihr mir mal gleich hir was erklären, wie mach ich das, dass das funtzt(wow, viele das(s) hintereinander)


na, ich hoffe du lernst was draus... und fragst nich immer wieder nach!
die beste möglichkeit für dich isses, inne buchhandlung zu gehen, und nach dem buch "Jetzt lerne ich Spieleprogrammierung mit BlitzBasic" von René Meyer zu fragen.
Blog.
 

HOT-BIT

Gast

BeitragDo, Feb 12, 2004 11:13
Antworten mit Zitat
Hallo !

@hamZta:

Ja, stimmt !
Hat aber eine Begründung !
Und zwar:
Ich bin einer, der mit seiner Meinung auch an die Öffentlichkeit geht ! Auch wenn dadurch anderen weh getan wird.
Ich muß nämlich meinen Ärger, siehe weiter unten, los werden.
Wenn er sich nicht so blöd anstellen würde, müßte ich das ja nicht gepostet haben.

Dann gibt es noch einen Grund:
Wie den meisten schon aufgefallen sein wird, gibt es hier hauptsächlich nur mehr Threads von Newbies. Und die sind aus der untersten Schublade.
Die etwas erfahreneren BB-User kommen nur mehr selten hierher, um Neuigkeiten zu erfahren, oder um Info's auszutauschen.
Und die gibt es nun mal nicht, weil keiner mehr Lust hat, sich den ganzen Scheiß da durchzulesen.
Wenn nachdenkst, wirst auch du zu dem Ergebnis kommen.
So viele gute Programmierer sieht man hier ja nicht mehr.

Mir geht es ja auch gegen die Hutschnur, immer und immer wieder den Newbies zu sagen: macht dies, lernt zuerst das, benutzt jenes, usw...

Soll sich nun ein anderer darum kümmern .
Wenn es keiner macht, verkommt das Forum hier sowieso !

Ich werde mich nun wieder mehr meinen Games widmen !!!

Sollte ich jemanden angegriffen haben, so war das gewollt. Smile

Toni

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group