Expecting end-of-file

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Hayabusa

Betreff: Expecting end-of-file

BeitragSo, Aug 23, 2009 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin völliger Neuling und habe vor kurzem erst angefangen blitz basic zu lernen, nun bin ich bei den types so nun wollte ich meinen eigenen erstellen. als ich das programm startete kam die fehlermeldung "Expecting end-of-file". habe keine ahnung woran das liegen könnte.

hier noch mal der code:


Code: [AUSKLAPPEN]
Type person
Field name$
Field adresse$
Field alter%
Field vermoegen#
End Type

Global max.person=New person
max\name$="Max Mustermann"
max\adresse$="Musterstrasse"
max\alter%=12
max\vermoegen#=1212121212,12

Print max\name$
Print max\adresse$
Print max\alter%
Print max\vermoegen#
WaitKey
End


ich wäre euch sehr dankbar wenn ihr mir weiterhelfen könntet.

Chrise

Betreff: Re: Expecting end-of-file

BeitragSo, Aug 23, 2009 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

max\vermoegen#=1212121212,12


Statt Komma, einen Punkt
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

ToeB

BeitragSo, Aug 23, 2009 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
du benutz "," statt "." bei den FloatVariablen.

Beim Computer werden Dezimalzahlen immer mit einem punkt (.) getrennt, nicht wie in der Mathematik mit einem komma(,) Wink

Edit : Zu langsam Surprised


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

SiSoFlo

BeitragSo, Aug 23, 2009 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wäre grundsätzlich sinnvoll anzugeben in welcher Zeile der Fehler ist.
Das % nach Variablen könntest du auch weglassen

lg Flori
So wie ihr von anderen Menschen behandelt werden wollt so behandelt sie auch!
 

Hayabusa

BeitragSo, Aug 23, 2009 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow, danke für eure schnellen antworten. tolles forum. da hätte ich noch eine frage, ich will ja mit blitz3d proggen, ich weiß nur nicht ganz genau mit was ich die 3d elemente machen soll (figuren, raumschiffe etc.), kann mir da jemand weiterhelfen?

Nicdel

BeitragSo, Aug 23, 2009 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt dafür 3D-Modellierungsprogramme mit denen man solche 3D-Elemente machen kann. Gut und kostenlos ist zum Beispiel Wings3D. Auch zu empfehlen ist MilkShape oder Blender. Für alle gibt es viele Tutorials. Unter Szene-Links-3D-Grafik findest du auch viele fertige 3D-Modelle.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Hayabusa

BeitragMi, Sep 02, 2009 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollte nicht nochmal ein Thread öffnen, deshalb schreibe ich in diesen hier nochmal rein.#
Es geht um eine Kollision zweier Bilder mit einer Textausgabe.
Das hier ist der Code:
Code: [AUSKLAPPEN]
   graphics 800, 600
   setbuffer backbuffer()

   variable = loadimage("Bildpfad")
   variable2 = loadimage("Bildpfad")

   repeat
   cls   

   drawimage variable, mousex(), mousey()
   drawimage variable2, x, y
   
   if imagescollide(variable, mousex(), mousey(), 0, variable2, x, y, 0) then
   print "Kollision!!!"

   flip
   until keyhit(1)

   end


nur er zeigt bei mir repeat without until, obwohl die beiden befehle vorhanden sind. Was kann ich tun?

Xeres

Moderator

BeitragMi, Sep 02, 2009 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Print nicht in der selben Zeile hinter dem Then steht, erwartet BlitzBasic einen Merzeiligen Block den du mit End If abschließen musst.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Hayabusa

BeitragMi, Sep 02, 2009 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
super das programm konnte ich starten, bloß ist das 1. bild oben link in der ecke und das andere bild garnicht zu sehen. auch wenn ich mit den mauszeiger über die fläche fahre passiert nichts. warum gescheht nichts?

Nicdel

BeitragMi, Sep 02, 2009 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Verwende Text statt Print.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Xeres

Moderator

BeitragMi, Sep 02, 2009 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Da du X und Y Nirgendwo deklariert hast, haben sie eben den Wert 0. Das mit der Kollision liegt 1. daran, dass du die Bilder bzw. Positionen vertauschst hast und 2. Wäre es sinnvoller text statt Print zu benutzen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Hayabusa

BeitragMi, Sep 02, 2009 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
könnte einer von euch bitte den code ein bisschen veränderen, so das er geht? ich blicke nicht ganz durch. das ist mal wieder ein code vom blitzbasic community tutorial bei wikibooks, die sind sehr oft fehlerhaft und nicht gut erklährt.

ozzi789

BeitragMi, Sep 02, 2009 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Endif fehlt
Und MouseX() MouseY() darf/sollte nur einmal in einer Schleife verwendet werden
Nun solltest du es selber schaffen, und wenn du die Tutorials dort nicht magst, was ich verstehe, schau dir das Robsite tutorial an oder schau in der BB Hilfe, dort hat es immer tolle Beispiel Codes zu jedem Befehl


mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

Hayabusa

BeitragMi, Sep 02, 2009 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich müsste dieser code doch richtig sein:
Code: [AUSKLAPPEN]
   graphics 800, 600
   SetBuffer BackBuffer()
   
   kollisiontext$="Kollision!"   

   variablea = LoadImage("a.png")
   variableb = LoadImage("b.png")

   repeat
   cls   

   DrawImage variablea, MouseX(), MouseY()
   DrawImage variableb, x, y
   
   If ImagesCollide(variablea, MouseX(), MouseY(), 0, variableb, x, y, 0) Then
   Text kollisiontext, 400,400
   EndIf

   flip
   until keyhit(1)

   End


ich wäre sehr dankbar wenn jemand diesen code so überarbeiten könnte, das er den sinn erfüllt.

Eingeproggt

BeitragMi, Sep 02, 2009 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Bitte nachlesen, in welcher Reihenfolge man die Parameter von ->Text<- angeben muss.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Hayabusa

BeitragMi, Sep 02, 2009 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
so jetzt sieht die kollisionsereignis zeile so aus:
Text 400,400,kollisionstext

und es hat sich immer noch nichts geändert.

ToeB

BeitragMi, Sep 02, 2009 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja welche fehler kommen denn ? sonst kann dir nicht geholfen werden Wink

Warscheinlich geht es um die Bilder... sind die Bilder auch im gleichen Ordner wie die BB datei ?


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Hayabusa

BeitragDo, Sep 03, 2009 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
es kommt gar keine fehlermeldung und alle beiden bilder sind im ordner.
wenn ich das programm starte erscheint nur das bild von variableb, ganz oben links. aber mehr auch nicht.
ich kann soviel rumklicken oder mit der maus rumschwenken, aber es passiert einfach nichts.
hier nochmal der code:
BlitzBasic: [AUSKLAPPEN]
   Graphics 800, 600
SetBuffer BackBuffer()

kollisiontext$="Kollision!"

variablea = LoadImage("a.png")
variableb = LoadImage("b.png")

Repeat
Cls

DrawImage variablea, MouseX(), MouseY()
DrawImage variableb, x, y

If ImagesCollide(variablea, MouseX(), MouseY(), 0, variableb, x, y, 0) Then
Text 400,400,kollisionstext

EndIf

Flip
Until KeyHit(1)

End

Nicdel

BeitragDo, Sep 03, 2009 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgender Code funktioniert:

BlitzBasic: [AUSKLAPPEN]
Graphics 800, 600, 32, 2

kollisiontext$="Kollision!"

ClsColor 255,255,255

variablea = CreateImage(32,32)
SetBuffer(ImageBuffer(variablea))
Cls

variableb = CreateImage(32,32)
SetBuffer(ImageBuffer(variableb))
Cls

SetBuffer BackBuffer()

ClsColor 0,0,0

Repeat

DrawImage variablea, MouseX(), MouseY()
DrawImage variableb, x, y

If ImagesCollide(variablea, MouseX(), MouseY(), 0, variableb, x, y, 0) Then

Text 400,400,kollisiontext

EndIf

Flip

Cls
Until KeyHit(1)

End


Ich habe nur die Bilder durch im Code erzeugte ersetzt.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Xeres

Moderator

BeitragDo, Sep 03, 2009 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht ist es auch der bekannte Bug. Siehe: FAQ: ImagesCollide & Memory Access Violation ?!
Versuch die dort angegebene Ersatzfunktion.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group