Was ist hier Falsch?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Raiden93

Betreff: Was ist hier Falsch?

BeitragSa, Apr 03, 2010 9:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo habe versucht ein Code zu machen wo meine Plot variable gespeichert werden dabei habe ich folgende Probleme:

1.Ich kann mein Plot nicht bewegen wenn ich Pfeiltaste Oben drücke.
2.Ich weiß nicht wie ich die x und y Koordinaten in mein Speicher System kriege.
Code: [AUSKLAPPEN]

Graphics 800,600,32,0
SetBuffer BackBuffer()
Global timer=CreateTimer(60)

Global x=400
Global y=300
Plot x,y

Repeat
  If KeyHit(61) Then speichern
  If KeyHit(62) Then laden


  If KeyDown(200)
    x=x-1
  EndIf

  WaitTimer(timer)   
  Flip   
Until KeyHit(1)

Function speichern()
   datei = WriteFile("datei.txt")
   WriteByte datei,variable1
   WriteByte datei,variable2
   CloseFile datei
End Function

Function laden()
   datei = ReadFile("datei.txt")
   variable1 = ReadByte(datei)
   variable2 = ReadByte(datei)
   CloseFile datei
End Function
 

mDave

BeitragSa, Apr 03, 2010 9:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Plot x,y in die Hauptschleife.
Cls auch in die Hauptschleife.

The Shark

BeitragSa, Apr 03, 2010 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
außerdem muss beim speichern und laden logischerweise variable1 und 2 durch x und y ersetzt werden.
und mach aus flip mal flip 0.
und bei keydown(200) musst du logischerweise das y verändern, du willst ja eine vertikale bewegung.
  • Zuletzt bearbeitet von The Shark am Sa, Apr 03, 2010 9:31, insgesamt einmal bearbeitet

Hubsi

BeitragSa, Apr 03, 2010 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Timer (WaitTimer) macht mit Flip 0 am meisten Sinn Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Raiden93

BeitragSa, Apr 03, 2010 10:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das waren alles Fehler^^ die mir selber auffallen müssten naja habe sie behoben nur habe ich jetzt die variablen gesetzt und sie werden immer noch nicht gespeichert.

The Shark

BeitragSa, Apr 03, 2010 10:15
Antworten mit Zitat
Benutzer-Profile anzeigen
mach aus write/readbyte einfach write/readint, byte reicht nicht aus.

Thunder

BeitragSa, Apr 03, 2010 10:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch, eigentlich reicht es aus - WriteInt sollte aber für die Speicherung von Int-Variablen verwendet werden, wie es The Shark schon sagte. Da variable1 und variable2 nicht definiert sind, nicht als Parameter der Funktion übernommen werden und nirgends außerhalb der Funktionen verwendet werden, wird immer nur 0 abgespeichert, da der BlitzBasic-Compiler sehr tolerant ist, und Variablen, die noch nicht definiert sind einfach selbst definiert. Function WriteInt


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

The Shark

BeitragSa, Apr 03, 2010 10:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein Thunder es reicht wirklich nicht aus.
Die position kann von 0-799 horizontal und von 0-599 vertikal gehen, wenn denn Grenzen eingebaut sind. Ein Byte hat einen wertebereich von 0-255 bzw. -128-127.

Thunder

BeitragSa, Apr 03, 2010 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß, aber "es reicht eigentlich aus" bezog sich auf die Erklärung danach (ich weiß, das war nicht sehr gut geschrieben). Ich meinte, wenn er immer nur 0 abspeichert reicht auch WriteByte.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

The Shark

BeitragSa, Apr 03, 2010 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hätte mich auch geundert, wenn du das nicht weißt Wink

@Raiden93: Hab den code jetzt einfach mal verbessert, so funktionierts.
BlitzBasic: [AUSKLAPPEN]

Graphics 800,600,32,0
SetBuffer BackBuffer()
Global timer=CreateTimer(60)

Global x=400
Global y=300


Repeat
WaitTimer(timer)

If KeyHit(61) Then speichern
If KeyHit(62) Then laden

If KeyDown(200)
y=y-1
EndIf

Cls
Plot x,y
Flip 0
Until KeyHit(1)

Function speichern()
datei = WriteFile("datei.txt")
WriteInt datei,x
WriteInt datei,y
CloseFile datei
End Function

Function laden()
datei = ReadFile("datei.txt")
x = ReadInt(datei)
y = ReadInt(datei)
CloseFile datei
End Function

Raiden93

BeitragSa, Apr 03, 2010 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir werden die Koordinaten nicht gespeichert der Plot wird immer wieder auf sein Standard gesetzt.

The Shark

BeitragSa, Apr 03, 2010 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dem verbesserten Code? Bei mir funktionierts . .
Vielleicht gibt es probleme mit den Lese oder Schreibrechten.
Prüf mal, ob du die Datei überhaupt öffnest -> Rückgabeparameter von WriteFile / ReadFile

Thunder

BeitragSa, Apr 03, 2010 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Möglicherweise liegt es auch daran, dass Raiden93 nicht auf F4 drückt um die Variablen neuzuladen bzw. nicht auf F3 um sie zu speichern.
Das mit den Rechten glaube ich eher nicht. Wenn die Datei nicht geöffnet werden konnte gibt es beim nächsten Lese-/Schreibversuch einen Error.


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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group