Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

RENNEN.BAS

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 16.11.2004, 15:51    Titel: RENNEN.BAS Antworten mit Zitat

Hallo!
Ich habe mein "Malprogramm" zu einem "Rennen" verändert.
also man darf nicht hinter die Linien kommen und um zu gewinnen muss man das Z übermalen.
Jetzt meine Frage, kann man zählen wie oft man hinter die Linien kommt irgendwie in einer Variable speichern und am Ende soll dann ein Bildschirm kommen in dem die Variable dann angezeigt wird also:
Print "Du warst Variable mal hinter der Linie"
geht das?
und wenn wie!?

P.S. könnt ihr ads bitte für mich schon einbauen?
Code:
CLS
SCREEN 12
PRINT "                                SMILE!-REISE"
CIRCLE (320, 200), 100, 9 'Kopf
PAINT (320, 200), 9, 9 '

CIRCLE (280, 166), 30, 14 'Linkes Auge
PAINT (280, 166), 14, 14 '

CIRCLE (360, 166), 30, 14 'Rechtes Auge
PAINT (360, 166), 14, 14 '

CIRCLE (280, 166), 10, 2 'Linke Pupille
PAINT (280, 166), 2, 2 '

CIRCLE (360, 166), 10, 2 'Rechte Pupille
PAINT (360, 166), 2, 2 '

LINE (320, 180)-(320, 240), 15 'Nase

LINE (260, 220)-(320, 260), 4 'Mund
LINE (320, 260)-(380, 220), 4 '

'+++ Titelmusik.
PLAY "t120 l8 o4" 'Der Lärm fängt an!
PLAY "g g g > c c c < l4 a f c" '
PLAY "l8 g g g > c c c l4 d < b g" '
PLAY "l8 b- b- b- > e- e- e- l4 d < b- f"
PLAY "l8 e- e- e- a- a- a- l4 g > l8 e p8 < l4 c"
CLS
SCREEN 12
COLOR 11
ON KEY(11) GOSUB oben    'Taste 8 auf dem Nummernblock
ON KEY(12) GOSUB links   'Taste 4 auf dem Nummernblock
ON KEY(13) GOSUB rechts  'Taste 6 auf dem Nummernblock
ON KEY(14) GOSUB unten   'Taste 2 auf dem Nummernblock
KEY(11) ON 'Tasten aktivieren
KEY(12) ON
KEY(13) ON
KEY(14) ON
PRINT ""
PRINT ""
PRINT ""
PRINT "             Z = Ziel! Wenn man das Z nicht mehr sieht hat man gewonnen."
PRINT "             N(Groágeschrieben) = N„chstes Level"
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                                "
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                              Z"
LINE (1, 1)-(635, 475), 12, B
LINE (20, 1)-(20, 100), 12, B
LINE (20, 100)-(100, 100), 12
LINE (1, 120)-(100, 120), 12
LINE (100, 100)-(120, 100), 12
LINE (120, 100)-(235, 175), 12
LINE (100, 120)-(235, 210), 12
LINE (255, 210)-(600, 210), 12
LINE (235, 175)-(600, 175), 12
LINE (600, 175)-(600, 210), 12
LINE (215, 195)-(580, 195), 12
LINE (235, 210)-(235, 450), 12
LINE (255, 210)-(255, 450), 12
LINE (255, 450)-(235, 450), 12
LINE (235, 430)-(255, 430), 12
x = 5
y = 4
        DO
DO
LINE (x, y)-(x + 10, y + 10), 9, BF
LOOP UNTIL INKEY$ = CHR$(78): GOTO 11 'Die Schleife wird ausgeführt bis "ESC" gedrückt wird.
        LOOP UNTIL INKEY$ = CHR$(27): END
END
PRINT "Tasten auf dem Nummernblock   8 = nach oben   4 = links   6 = rechts   2 = unten "

oben:
y = y - 1
IF y < 2 THEN y = 2  'Damit die Box im Kasten bleibt.
RETURN

links:
x = x - 1
IF x < 2 THEN x = 2  'Damit die Box im Kasten bleibt.
RETURN

rechts:
x = x + 1
RETURN

unten:
y = y + 1
RETURN
END
11
CLS
SCREEN 12
COLOR 11
ON KEY(11) GOSUB oben    'Taste 8 auf dem Nummernblock
ON KEY(12) GOSUB links   'Taste 4 auf dem Nummernblock
ON KEY(13) GOSUB rechts  'Taste 6 auf dem Nummernblock
ON KEY(14) GOSUB unten   'Taste 2 auf dem Nummernblock
KEY(11) ON 'Tasten aktivieren
KEY(12) ON
KEY(13) ON
KEY(14) ON
PRINT ""
PRINT ""
PRINT ""
PRINT "            "
PRINT "           "
PRINT "                                 L(Groágeschrieben) = N„chstes Level       "
PRINT ""
PRINT ""
PRINT "                       z"
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                                "
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                              "
LINE (1, 1)-(635, 475), 4, B
LINE (1, 20)-(100, 20), 4
LINE (100, 20)-(100, 100), 4
LINE (120, 1)-(120, 100), 4
LINE (120, 100)-(140, 130), 4
LINE (100, 100)-(140, 160), 4
LINE (140, 160)-(140, 140), 4
LINE (140, 140)-(200, 140), 4
LINE (140, 130)-(200, 130), 4
LINE (200, 130)-(200, 140), 4
x = 5
y = 4

 DO
LINE (x, y)-(x + 6, y + 6), 5, BF
 LOOP UNTIL INKEY$ = CHR$(76): GOTO 12 'Die Schleife wird ausgeführt bis "ESC" gedrückt wird.
END
PRINT "Tasten auf dem Nummernblock   8 = nach oben   4 = links   6 = rechts   2 = unten "
12
CLS
SCREEN 12
COLOR 11
ON KEY(11) GOSUB oben    'Taste 8 auf dem Nummernblock
ON KEY(12) GOSUB links   'Taste 4 auf dem Nummernblock
ON KEY(13) GOSUB rechts  'Taste 6 auf dem Nummernblock
ON KEY(14) GOSUB unten   'Taste 2 auf dem Nummernblock
KEY(11) ON 'Tasten aktivieren
KEY(12) ON
KEY(13) ON
KEY(14) ON
PRINT ""
PRINT ""
PRINT ""
PRINT "            "
PRINT "         Z Z "
PRINT "         Z Z              "
PRINT ""
PRINT ""
PRINT "                     "
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                                "
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT "                        ESC = beenden      "
LINE (1, 1)-(635, 475), 4, B
LINE (20, 100)-(20, 10), 4
LINE (30, 100)-(30, 70), 4
LINE (20, 10)-(40, 60), 4
LINE (30, 70)-(40, 100), 4
LINE (40, 60)-(40, 65), 4
LINE (40, 65)-(100, 65), 4
LINE (40, 100)-(100, 100), 4
LINE (100, 100)-(100, 65), 4
LINE (20, 100)-(30, 100)
x = 22
y = 90
               
DO
LINE (x, y)-(x + 6, y + 6), 5, BF
LOOP UNTIL INKEY$ = CHR$(27) 'Die Schleife wird ausgeführt bis "ESC" gedrückt wird.
END

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.11.2004, 18:30    Titel: Kleiner Verbesserungsvorschlag Antworten mit Zitat

Hallo.

Mach doch anstelle von sowas

Code:
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""
PRINT ""


einfach

Code:
FOR i%=1 TO 10
PRINT ""
NEXT i%


zwinkern

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 16.11.2004, 18:44    Titel: Antworten mit Zitat

Hm also irgendwie kommt mir der Smiley und die Musik bekannt vor... zwinkern
Falls du es nicht selbst geschrieben hast, nimm das Intro lieber wieder raus, Programmierer mögen es nicht wenn man ihnen den Code klaut grinsen

Naja ist ja auch egal, kommen wir zurück zum Thema:
Also ich würde jetzt eine kleine Scan-Rountine einbauen, die vor jedem mal bewegen prüft, ob der "Klotz" mit den Hellroten Pixeln (Wand, color 12) in Berührung kommt.

Das ist ein bissl kompliziert, aber ich kann mal versuchen, das Programm entsprechend umzubasteln...nur Geduld grinsen durchgeknallt grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 16.11.2004, 18:45    Titel: Antworten mit Zitat

@Sebastian: Oder man nimmt einfach LOCATE grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 16.11.2004, 19:23    Titel: Antworten mit Zitat

Die vielen PRINT "" Zeilen wurden mit LOCATE erstetzt, damit kann man den Cursor beliebig positionieren.

Der Code ist zwar ein wenig kompliziert, aber einleuchtend.
Er hat jetzt eine zentrale Hauptschleife bekommen (dort wo alles gesteuert wird), und die Level werden jetzt einfach mit GOSUB aufgerufen, gezeichnet und dann gehts wieder zurück in die Hauptschleife.

Außerdem habe ich die ON KEY-Events durch INKEY ersetzt, das ist etwas einfacher.

Die Variable "GegenDieWand" enthält die Anzahl aller Wandkontakte, du kannst sie ja nach jedem Level wieder löschen.
Code:

CLS
SCREEN 12
PRINT "                                SMILE!-REISE"
CIRCLE (320, 200), 100, 9 'Kopf
PAINT (320, 200), 9, 9 '

CIRCLE (280, 166), 30, 14 'Linkes Auge
PAINT (280, 166), 14, 14 '

CIRCLE (360, 166), 30, 14 'Rechtes Auge
PAINT (360, 166), 14, 14 '

CIRCLE (280, 166), 10, 2 'Linke Pupille
PAINT (280, 166), 2, 2 '

CIRCLE (360, 166), 10, 2 'Rechte Pupille
PAINT (360, 166), 2, 2 '

LINE (320, 180)-(320, 240), 15 'Nase

LINE (260, 220)-(320, 260), 4 'Mund
LINE (320, 260)-(380, 220), 4 '

'+++ Titelmusik.
'PLAY "t120 l8 o4" 'Der Lärm fängt an!
'PLAY "g g g > c c c < l4 a f c" '
'PLAY "l8 g g g > c c c l4 d < b g" '
'PLAY "l8 b- b- b- > e- e- e- l4 d < b- f"
'PLAY "l8 e- e- e- a- a- a- l4 g > l8 e p8 < l4 c"
CLS
SCREEN 12

Level = 1
Level1:
LOCATE 4
COLOR 11
PRINT "             Z = Ziel! Wenn man das Z nicht mehr sieht hat man gewonnen."
PRINT "             N(Groágeschrieben) = N„chstes Level"
LOCATE 28
PRINT "                              Z"
LINE (1, 1)-(635, 475), 12, B
LINE (20, 1)-(20, 100), 12, B
LINE (20, 100)-(100, 100), 12
LINE (1, 120)-(100, 120), 12
LINE (100, 100)-(120, 100), 12
LINE (120, 100)-(235, 175), 12
LINE (100, 120)-(235, 210), 12
LINE (255, 210)-(600, 210), 12
LINE (235, 175)-(600, 175), 12
LINE (600, 175)-(600, 210), 12
LINE (215, 195)-(580, 195), 12
LINE (235, 210)-(235, 450), 12
LINE (255, 210)-(255, 450), 12
LINE (255, 450)-(235, 450), 12
LINE (235, 430)-(255, 430), 12
x = 5
y = 4
KlotzGroesse = 10 'Gibt an, wie groá das Quadrat (=Spieler) sein soll.

Hauptschleife:  'Hier wird alles Kontrolliert.
DO
LINE (x, y)-(x + KlotzGroesse, y + KlotzGroesse), 9, BF
a$ = INKEY$
SELECT CASE a$
CASE CHR$(0) + "H": dir = -1: GOSUB CheckWand
CASE CHR$(0) + "P": dir = 1: GOSUB CheckWand
CASE CHR$(0) + "K": dir = -2: GOSUB CheckWand
CASE CHR$(0) + "M": dir = 2: GOSUB CheckWand
CASE CHR$(27)                    'Bei ESC gehts zum n„chsten Level
Level = Level + 1
IF Level > 3 THEN END            'Wenn man das letzte Level
                                 'erreicht hat, wird beendet.
GOSUB WaehleLevel
END SELECT
LOOP

CheckWand:
Wand = 0

'Hier wird ein Bereich f�r den Pixelscanner festegelegt.
IF dir = -1 THEN x1 = x: x2 = x + KlotzGroesse: y1 = y - 1: y2 = y1
IF dir = 1 THEN x1 = x: x2 = x + KlotzGroesse: y1 = y + KlotzGroesse + 1: y2 = y1
IF dir = -2 THEN y1 = y: y2 = y + KlotzGroesse: x1 = x - 1: x2 = x1
IF dir = 2 THEN y1 = y: y2 = y + KlotzGroesse: x1 = x + KlotzGroesse + 1: x2 = x1

'Pixelscanner !!!
FOR xx = x1 TO x2    'Hier wird Pixel f�r Pixel gepr�ft,
 FOR yy = y1 TO y2   'ob man an eine Wand geraten ist.
  IF NOT POINT(xx, yy) = 0 THEN Wand = 1
 NEXT yy
NEXT xx

IF Wand = 1 THEN        'Wenn man gegen eine Wand gelaufen ist,
                        'Anzahl der Wandkontakte darstellen.
 GegenDieWand = GegenDieWand + 1
 LOCATE 2, 60
 PRINT GegenDieWand; "Wandkontakte"
ELSE
 IF dir = -1 THEN y = y - 1  'Wenn nicht, dann darf sich der Klotz
 IF dir = 1 THEN y = y + 1   'endlich bewegen !
 IF dir = -2 THEN x = x - 1
 IF dir = 2 THEN x = x + 1
END IF
xver = 0
yver = 0
RETURN

WaehleLevel:
'Jedes Level hat eine Marke und wird,
'je nach Variableninhalt von Level, aufgerufen.

SELECT CASE Level                'Hier wird ausgew„hlt, wo's hingehen soll
CASE 1: GOSUB Level1
CASE 2: GOSUB Level2
CASE 3: GOSUB Level3
END SELECT
RETURN

Level2:
CLS
COLOR 11
LOCATE 6
PRINT "                                 L(Groágeschrieben) = N„chstes Level       "
LOCATE 9
PRINT "                       z"
LINE (1, 1)-(635, 475), 4, B
LINE (1, 20)-(100, 20), 4
LINE (100, 20)-(100, 100), 4
LINE (120, 1)-(120, 100), 4
LINE (120, 100)-(140, 130), 4
LINE (100, 100)-(140, 160), 4
LINE (140, 160)-(140, 140), 4
LINE (140, 140)-(200, 140), 4
LINE (140, 130)-(200, 130), 4
LINE (200, 130)-(200, 140), 4
x = 5
y = 4
KlotzGroesse = 6
GOTO Hauptschleife

Level3:
CLS
COLOR 11
LOCATE 5
PRINT "         Z Z"
PRINT "         Z Z"
LOCATE 28
PRINT "                        ESC = beenden"
LINE (1, 1)-(635, 475), 4, B
LINE (20, 100)-(20, 10), 4
LINE (30, 100)-(30, 70), 4
LINE (20, 10)-(40, 60), 4
LINE (30, 70)-(40, 100), 4
LINE (40, 60)-(40, 65), 4
LINE (40, 65)-(100, 65), 4
LINE (40, 100)-(100, 100), 4
LINE (100, 100)-(100, 65), 4
LINE (20, 100)-(30, 100)
x = 22
y = 90
KlotzGroesse = 6
GOTO Hauptschleife


Viel Spaß damit !
Ich bin mir sicher, dass du den Code verstehst grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
REZK



Anmeldungsdatum: 28.10.2004
Beiträge: 109
Wohnort: Stuttgart

BeitragVerfasst am: 16.11.2004, 19:43    Titel: rennen Antworten mit Zitat

ich habe vor einem halben jahr etwas ähnliches programmiert, es ist noch nicht fertig (und wird es voraussichtlich auch nie werden...), kannst es dir ja mal anschauen: http://www.geocities.com/iroshdown/mot.bas

REZK
_________________
Meine sämtlichen QB Projekte findet ihr hier
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 16.11.2004, 21:24    Titel: Antworten mit Zitat

Ich denke, der Artikel

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html

passt geradezu optimal in diese Diskussion.

@Spongebob Schwamm:
Schau Dir am besten einmal die dortigen Themen an. Zielsetzung ist immer Vermeidung von Code-Wiederholung. Ausserdem sollte in Deinem Fall ein längerfristiges Ziel darstellen, die Levels als DATA-Zeilen oder noch besser als Dateien abzulegen. Um dies zu erreichen, muss man den Levels eine einheitliche Struktur verpassen. Eine geeignete Struktur sind beispielsweise Block-Elemente, die Du aus .BMPs einmalig laden kannst und dann den Bildschirm damit füllen kannst.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 16.11.2004, 21:46    Titel: Antworten mit Zitat

Ich schließe mich Dreael an, man könnte den von mir modifizierten Code natürlich noch besser machen können, aber ich wollte nicht zu "komplex" werden grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 17.11.2004, 17:54    Titel: Antworten mit Zitat

LOL.. das war der erste Dreifach-Post den ich gesehen hab... durchgeknallt
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 17.11.2004, 22:36    Titel: Antworten mit Zitat

Habe gerade mal noch selber ein Notepad-in-ein-.BAS gemacht. Lustige Spielidee... ;-)

Vielleicht einige Konzepte:
- die Rennbahn würde ich immer als geschlossene Kurve zeichnen. Damit das Ganze voll modular wird, sollte man die Levels in eine .TXT-Datei nehmen. Ich gebe hier ein Vorschlag für ein geeignetes Dateiformat:
Code:
# Dies seien Kommentarzeilen, die beim Parser überlesen werden
# Level X

# Startpunkt Spieler
Start=47,154
# Lage Ziel (würde ich als LOCATE-Koordinaten angeben)
Ziel=14,7
# Rennbahn
Punkt=40,10
Punkt=40,100
Punkt=80,100
... (usw.)
# Zur Verfügung stehende Zeit in Sekunden
Zeit=100
# Maximal erlaubte Kollisionen
Kollisionen=20


Die Dateien würde ich systematisch als
Code:
LEVEL01.TXT
LEVEL02.TXT
LEVEL03.TXT
...

benennen, so dass Du den Dateinamen berechnen kannst. Oh ja, für dieses Spiel dürfte durchaus eine Maussteuerung angemessen sein.

Zu Beginn würde ich die Levels mit NOTEPAD.EXE erstellen. Die Krönung wäre dann freilich ein Level-Editor, wie sie meine Spiele

http://www.dreael.ch/Deutsch/Download/Wurmi.html

und

http://www.dreael.ch/Deutsch/Download/Zelda.html

besitzen. In diesem Fall wäre ein kleiner Mauseditor sinnvoll, wo man die Strasse wie eine Polylinie in einem CAD-Programm mit ein paar Klicks ziehen kann. Sollte mit CALL INTERRUPT(&H33, ...) nicht allzu schwierig sein.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 18.11.2004, 01:30    Titel: Vorschlag umgesetzt Antworten mit Zitat

So, habe mir noch etwas die Nacht um die Ohren geschlagen... ;-)

Hier also meine Version vom obigen Spiel:

http://beilagen.dreael.ch/QB/RENNEN2A.ZIP

@Spongebob Schwamm:
Versuche den Aufbau der .TXT-Dateien genau zu verstehen und schreib dann selber ein passendes LEVEL04.TXT mit dem Windows-Texteditor dazu.

Ansonsten sollte meine Version ein vollständiges Spiel darstellen, wo also die berühmte Uhr tickt, man nur begrenzt Kollisionen machen darf.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 21.11.2004, 16:57    Titel: Dank Antworten mit Zitat

Thank!
Bin gerade dabei das 4 Level zu gestalten wenn ihr wollt kann ich es euch wenn es 10 Level hat nochmal Mail´n
Nochmal Danke grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 23.11.2004, 17:39    Titel: UPS... Antworten mit Zitat

...Geht doch nicht als ich´s gerade ausprobiert habe hat´s mit dem Ziel nicht geklappt?
Also den Locate Befehl kennt Q(uick)Basic nicht mehr?
Könnt ihr mir nochmal helfen?
schon mal danke!
Mfg
Spongebob Schwamm traurig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.11.2004, 19:42    Titel: LOCATE Antworten mit Zitat

Hallo.

Dann sind deine Koordinaten für LOCATE wahrscheinlich ungültig!

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 23.11.2004, 20:16    Titel: Antworten mit Zitat

Syntax:

LOCATE y, x

y gibt die Zeile an (bei SCREEN 12 im Normalfall maximal 28 (eigentlich 30))
x gibt die Spalte an (bei SCREEN 12 im Normalfall maximal 80)
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.11.2004, 20:57    Titel: Re: UPS... Antworten mit Zitat

Spongebob Schwamm hat Folgendes geschrieben:
Also den Locate Befehl kennt Q(uick)Basic nicht mehr?

Also "Unzulässiger Funktionsaufruf"=Befehl kennt er immer noch, aber Parameter liegt ausserhalb eines gültigen Bereiches. Du hast höchstwahrscheinlich Pixel-Koordinaten anstelle einer Zeile/Spalte verwendet.

Selbstverständlich könnte man mein Beispiel auch für Pixelkoordinaten umbauen: Dazu Zeile 180 in
Code:
  LOCATE 1 + yZiel% \ 16, 1 + xZiel% \ 8

abändern. Wer es ganz elegant haben möchte, gibt das "Z" beim Programmstart kurz aus (Tipp: COLOR 8 XOR 11) und speichert es mit einem GET in ein Array ab, so dass man es mit PUT im XOR-Modus (deswegen der Tipp) pixelgenau platzieren kann.

Spongebob Schwamm hat Folgendes geschrieben:
Könnt ihr mir nochmal helfen?

Lasse mir sonst die Level-Dateien zukommen. E-Mail-Adresse siehe Benutzerprofil.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Spongebob Schwamm



Anmeldungsdatum: 31.10.2004
Beiträge: 40

BeitragVerfasst am: 24.11.2004, 16:53    Titel: Aber.. Antworten mit Zitat

Ups
tut mit leid hab die E-Mail ausversehen ohne Level abgeschickt. peinlich
Und...
...ich habe gerade noch ein bischen gebastelt und jetzt geht es! lachen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz