Marley5556
Schraubenverwechsler(in)
Hallo liebe Community. Weiß nicht so recht ob ich hier an der richtigen Adresse bin aber da das Chipforum geschlossen und
das offizielle QBasic Forum nur sehr klein ist dachte ich mir ich versuche es einfach mal hier. Und zwa habe ich vor ein paar Tagen
ein kleines onlinetutorial zur Programmierung mit QBasic gemacht bei der es darum ging ein einfaches Snake Spiel zu Programmieren.
Da ich ein aktuelles Betriebssystem verwende musste ich dazu natürlich die seperat zu installierende Dosbox verwenden. So weit so
gut. Eigentlich lief alles nach plan bis es darum ging die Schlange nach oben und unten zu bewegen. Dies war trotz verschiedener
Tastenbelegungen und verringerung des CPU Speeds in der Dosbox einfach nicht möglich. Im besten Fall zog die Schlange einfach
nur quer über den Bildschirm und das ohne die möglichkeit einer vernünftigen Kontrolle. Habe den Code bereits in QBasic 1.1 der Vollversion von Quick Basic 4.5 und der aktuellen Version von Qb64 laufen lassen wobei letzteres allein schon daran scheiterte das
das Programm darin viel zu schnell ablief und eine vernünftige Kontrolle alleine schon deshalb unmöglich war. Habe das ganze bereits
mehrfach auf Fehler überprüft konnte aber Trotz aller Mühe keine Fehler im Code entdecken. Falls irgendjemand noch eine Idee
hätte wie ich die Sache ob in der alten oder neuen Version von Qbasic vernünftig zum laufen bringen kann wäre ich ihm wirklich dankbar. Das besagte Codefragment sieht folgendermaßen aus:
Screen 1
Type Coord
X As Integer
Y As Integer
End Type
Dim C(64) As Coord
Dim U As Integer, V As Integer, M As Integer
C(0).X = 6
C(0).Y = 5
mainloop:
Select Case InKey$
Case Chr$(27): End
Case Chr$(0) + "H": U = 0: V = -1
Case Chr$(0) + "P": U = 0: V = 1
Case Chr$(0) + "K": U = -1: V = 0
Case Chr$(0) + "M": U = 1: V = 0
End Select
U = 1
C(0).X = C(0).X + U
C(0).Y = C(0).Y + V
Line (C(0).X * 8, C(0).Y * 8)-(C(0).X * 8 + 7, C(0).Y * 8 + 7), 1, BF
For delay% = 1 To 1600: Next delay%
GOTO mainloop:
Danke schon mal fürs zeitnehmen
das offizielle QBasic Forum nur sehr klein ist dachte ich mir ich versuche es einfach mal hier. Und zwa habe ich vor ein paar Tagen
ein kleines onlinetutorial zur Programmierung mit QBasic gemacht bei der es darum ging ein einfaches Snake Spiel zu Programmieren.
Da ich ein aktuelles Betriebssystem verwende musste ich dazu natürlich die seperat zu installierende Dosbox verwenden. So weit so
gut. Eigentlich lief alles nach plan bis es darum ging die Schlange nach oben und unten zu bewegen. Dies war trotz verschiedener
Tastenbelegungen und verringerung des CPU Speeds in der Dosbox einfach nicht möglich. Im besten Fall zog die Schlange einfach
nur quer über den Bildschirm und das ohne die möglichkeit einer vernünftigen Kontrolle. Habe den Code bereits in QBasic 1.1 der Vollversion von Quick Basic 4.5 und der aktuellen Version von Qb64 laufen lassen wobei letzteres allein schon daran scheiterte das
das Programm darin viel zu schnell ablief und eine vernünftige Kontrolle alleine schon deshalb unmöglich war. Habe das ganze bereits
mehrfach auf Fehler überprüft konnte aber Trotz aller Mühe keine Fehler im Code entdecken. Falls irgendjemand noch eine Idee
hätte wie ich die Sache ob in der alten oder neuen Version von Qbasic vernünftig zum laufen bringen kann wäre ich ihm wirklich dankbar. Das besagte Codefragment sieht folgendermaßen aus:
Screen 1
Type Coord
X As Integer
Y As Integer
End Type
Dim C(64) As Coord
Dim U As Integer, V As Integer, M As Integer
C(0).X = 6
C(0).Y = 5
mainloop:
Select Case InKey$
Case Chr$(27): End
Case Chr$(0) + "H": U = 0: V = -1
Case Chr$(0) + "P": U = 0: V = 1
Case Chr$(0) + "K": U = -1: V = 0
Case Chr$(0) + "M": U = 1: V = 0
End Select
U = 1
C(0).X = C(0).X + U
C(0).Y = C(0).Y + V
Line (C(0).X * 8, C(0).Y * 8)-(C(0).X * 8 + 7, C(0).Y * 8 + 7), 1, BF
For delay% = 1 To 1600: Next delay%
GOTO mainloop:
Danke schon mal fürs zeitnehmen
