Das ganze Ding ist etwas zu sehr untestbar ^^" ...
Zum Beispiel bei den If-Abfragen müsste man (logischerweise)
entweder alles in eine Zeile schreiben, oder schachteln. Ich tippe
mir hier doch nciht Funger platt, nur weil ich was testen soll.
Btw: Versuche mal, deinen Code zu autmatisiseren. Allein die
bunte Startschrift kann leicht per Data eindimensioniert werde.
Compiller für DOS Grafik (bildschirmtiefe...)
-
- Beiträge: 752
- Registriert: 14.09.2004 21:39
- Kontaktdaten:
Der code finktioniert doch!
Wenn du ihn testen willst, kannst du doch das Ganze in ne Textdatei kopieren und als invader.bas speichern.
Das mit dem schachteln mach ich meist nur wenn´s wirklich notwendig ist, sinnst komm ich da nur durcheinander ^^
Aber du musst doch garnix tippen.
ersetzt doch einfach das up$ = CHR$(0) + "H" durch OPEN "control.txt" FOR INPUT AS #1
INPUT #1, up$
und nichts geht mehr
Und bei Setup musst du halt einfach nur unten noch
OPEN "control.txt" FOR OUTPUT AS #1
WRITE #1, up$
...
reinkopieren.
Wenn man dann Pfeiltasten benutzen will, funktioniert nix mehr, bei den anderen tasten geht´s.
Wenn du ihn testen willst, kannst du doch das Ganze in ne Textdatei kopieren und als invader.bas speichern.
Das mit dem schachteln mach ich meist nur wenn´s wirklich notwendig ist, sinnst komm ich da nur durcheinander ^^
Aber du musst doch garnix tippen.
ersetzt doch einfach das up$ = CHR$(0) + "H" durch OPEN "control.txt" FOR INPUT AS #1
INPUT #1, up$
und nichts geht mehr

Und bei Setup musst du halt einfach nur unten noch
OPEN "control.txt" FOR OUTPUT AS #1
WRITE #1, up$
...
reinkopieren.
Wenn man dann Pfeiltasten benutzen will, funktioniert nix mehr, bei den anderen tasten geht´s.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
-
- Beiträge: 752
- Registriert: 14.09.2004 21:39
- Kontaktdaten:
Is jetzt auch Egal, auf der Newsgroup hat jetzt jemand geantworted, es funktioniert!!!
Hier die Antwort:
Hier die Antwort:
On Wed, 13 Oct 2004, Benjamin Valentin wrote:
> I thought about saving the control settings of my little games in a
> control.txt file.
> Well, it works with all keys exept the ones whiches ASCII code contains
> something like chr$(0)+...
> So, here is the problem:
[can't read back strings with ASCII 0 bytes]
[snip]
A possibly stupid idea...[1]
If the key codes are all within ASCII range or have a leading character 0
for extended codes, try saving the keys as numbers, adding 1000 (a nice
round number that makes it easy to see what the second byte is) for
two-character key codes that begin with character 0. CHR$(0) + CHR$(53)
would be stored as 1053 for example. Then convert them back on input.
(Add appropriate "END IF"s if your version of BASIC requires it.)
> OPEN "control.txt" FOR INPUT AS #1
> INPUT #1, up$
[snip other keys]
> CLOSE
OPEN "control.txt" FOR INPUT AS #1
INPUT #1, up
IF up >999 THEN up$ = CHR$(0) + CHR$(up-1000) ELSE up$ = CHR$(up)
...
CLOSE
[snip]
> OPEN "control.txt" FOR OUTPUT AS #1
> WRITE #1, up$
[snip other keys]
> CLOSE
[snip]
OPEN "control.txt" FOR OUTPUT AS #1
up = ASC(up$): IF up = 0 THEN up = 1000 + ASC(RIGHT$(up$,1)
WRITE #1, up
...
CLOSE
Also, one WRITE statement could write all entries in one line and
one INPUT statement could read all of them at the same time. This
could save a few lines of code.
[1] BTNSMB
--
Norman De Forest http://www.chebucto.ns.ca/~af380/Profile.html
af380@chebucto.ns.ca [=||=] (A Speech Friendly Site)
"O'Reilly is to a system administrator as a shoulder length latex glove
is to a veterinarian." -- Peter da Silva in the scary devil monastery
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Ich bin auch gerade dabei mit QBasic ein Spielchen zu programmieren, ein Oldschool Grafikadventure, um genau zu sein:
http://home.arcor.de/tomysoft/loeffel.html
Von mir stammt die QBasic-Engine und zwei Leute sind noch mit der Grafik beschäftigt. Ich arbeite eigentlich nur mit Standard-QBasic-Befehlen. Für die Sprite- und Grafikanzeige benutze ich zwei, drei klitzkleine-Assembler-Routinen, die ordentlich und schnell arbeiten. Damit kann ich transparente Sprites anzeigen usw. Diese Assembler-Routinen stammen aus einer Lib namens Blast! (glaube ich), die ich mir damals nach meinen Vorstellngen angepasst hatte. Wenn du willst schick ich die mal die zwei Routinchen und ein Beispiel dazu...
EDIT: Vorteil ist, dass diese Routinen ohne Probleme auch auf XP-Systemen funktionieren, da hier kein erweiterter Speicher oder anderer Firlefanz genutzt wird, wie es bei vielen anderen QB-Libs der Fall ist.
http://home.arcor.de/tomysoft/loeffel.html
Von mir stammt die QBasic-Engine und zwei Leute sind noch mit der Grafik beschäftigt. Ich arbeite eigentlich nur mit Standard-QBasic-Befehlen. Für die Sprite- und Grafikanzeige benutze ich zwei, drei klitzkleine-Assembler-Routinen, die ordentlich und schnell arbeiten. Damit kann ich transparente Sprites anzeigen usw. Diese Assembler-Routinen stammen aus einer Lib namens Blast! (glaube ich), die ich mir damals nach meinen Vorstellngen angepasst hatte. Wenn du willst schick ich die mal die zwei Routinchen und ein Beispiel dazu...
EDIT: Vorteil ist, dass diese Routinen ohne Probleme auch auf XP-Systemen funktionieren, da hier kein erweiterter Speicher oder anderer Firlefanz genutzt wird, wie es bei vielen anderen QB-Libs der Fall ist.