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:

autofahren

 
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
nano91



Anmeldungsdatum: 11.01.2007
Beiträge: 19

BeitragVerfasst am: 15.02.2007, 19:08    Titel: autofahren Antworten mit Zitat

hallo
ich würde gerne wissen, wie man eine kurvige "straße" und ein auto erstellen kann, bei der das auto nicht von der straße runter kann und wenn es den rand berührt, soll es zurück an den anfang. man soll es über einen joystick steuern können. pfeiltasten gehen auch. wenn man am ziel ist - hab ich vergessen. start sollte rechts und ziel links sein. - recht ein text mit ZIEL oder so.

n bissl kompliziert:( hoffentlich könnt ihr mir trotzdem helfen.
könnte jemand, der viel zeit hat, ein beispiel programm mit diesen diengen programmieren, damit ich mir daraus ein eigenes programm machen kann???(jeder stellt sich sowas ja anders vor)

ich währe auch sehr dankbar dafür.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 20:50    Titel: Antworten mit Zitat

Sollen wir in das komplette Spiel auch noch 'ne Online-Highscore-Funktion einbauen? Zunge rausstrecken

Sry, aber keiner wird dir hier sowas komplettes abliefern. zwinkern
Stell deine Frage zu einem konkreten Problem und du wirst sehen, dass dir hier jeder gerne helfen wird lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nano91



Anmeldungsdatum: 11.01.2007
Beiträge: 19

BeitragVerfasst am: 15.02.2007, 21:52    Titel: Antworten mit Zitat

also meine eigentlichen fragen waren:

1. wie kann man überhaupt kurven machen??? ich bekomm nur linien, kreise und vierecken hin.

2. wie kann man einen gegenstand zeichnen - in diesem fall auto - und ihn dann einfach hin und her schieben(mit joystick oder pfeiltasten bewegen), ohne ihn jedes mal komplett neu zeichnen zu müssen??

3. wenn ich die straße fertig hab. wie kann ich machen, das das auto nicht über die linie fahren kann?? heisst, dass das auto dagegen knallt und dann weiter fährt, ohne eben über die linie zu kommen.

4. wenn die fragen 2 u 3 gelöst werden können... wie kann ich dann, wenn es bspw. gegen den straßenrand fährt einen teil zum auto ergänzen, der wenn es vom rand wegkommt wieder weggeht. bspw. einen teil des autos umfärben.

snd die fragen verständlich oder nicht??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


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

BeitragVerfasst am: 15.02.2007, 21:55    Titel: Antworten mit Zitat

Etwas ganz Einfaches in der Art hatte ich früher einmal begonnen:

http://beilagen.dreael.ch/QB/3DRENN.BAS

Ist natürlich auch noch weit weg von einem fertigen Spiel, aber soll doch schon einen Eindruck geben, was unser Veteran QBasic auch heute noch zu leisten vermag.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.02.2007, 21:55    Titel: Antworten mit Zitat

Das schon, aber dann hast' ein komplettes Spiel. zwinkern
Zudem werden fast alle Fragen in der QB-MonsterFAQ geklärt. Ja!
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 17.02.2007, 00:28    Titel: Antworten mit Zitat

a. Sich mal mit Kurvenzeichnen beschäftigen.

b. Sich mal mit einfachen Sprites beschäftigen.

c. Sich mal mit richtigen Sprites beschäftigen.

Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 14.03.2007, 17:48    Titel: Antworten mit Zitat

Kurven zeichnen ist (glaub ich) ziemlich schwer weinen
Doch du könntest ein Auto mit den QBasic-Befehlen: DRAW, LINE, CIRCLE ... malen und mit GET/PUT speichern/laden.
Der Vorteil dabei ist, dass du den Sprite nicht neuzeichnen musst und ihr Pixelgenau wieder anzeigen kannst!!!
Ich empfehle dir das Tuturial Spielegrafikprogrammierung von Mario Zechner.

Viel spaß beim Zeichnen grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

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

Ist das jetzt Fahrschule für Programmieranfänger oder Programmierschule für Fahranfänger ? das erinnert mich an die super geile C64 Autorennspiele grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 15.03.2007, 21:29    Titel: Antworten mit Zitat

Du kannst leider keinen am USB-Port hängenden Joystick
benutzen. weinen
In der QB-MON-FAQ gibt es ein paar nette Joystickroutinen für dich grinsen

Viel Spaß beim lesen wünscht
Ferdi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 15.03.2007, 21:36    Titel: Antworten mit Zitat

naja, der Trend von Steuerungsgeräten und Ausgabegeräten gehen eben weg von Parallel und Serial hin zu USB, einen Joystick USB und Normal steuert man am besten über die DirectX Funktionen!
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
dreael
Administrator


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

BeitragVerfasst am: 15.03.2007, 21:40    Titel: Antworten mit Zitat

Zum Thema Joystick: Evtl. lohnt sich ein Test von QBasic in der DOS-Box, da dieser DOS-Emulator (die NTVDM ist aus Sicht eines DOS-Puristen "Schrott") auch klassische Analog-Joysticks emuliert, die dann normal über STICK() und STRIG() abgefragt werden können.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nano91



Anmeldungsdatum: 11.01.2007
Beiträge: 19

BeitragVerfasst am: 17.03.2007, 21:03    Titel: Antworten mit Zitat

hab 'n analogjoystick und stick() und strig() kenn ich schon.
aber mir fehlt der befehl für ein paar knöpfe.
stick() 0 und 1 sind für horizontale ind vertikale bewegung.
strig(1) ist für den knopfoben drauf.
nur fehlen mir die befehle für den knopf vorne dran
(kann man mit dem zeigefinger drücken)
und noch vier stück am sockel dran.
kennt die zufällig jemand??
das mit zahlen austauschen (strig(2)oder so)
hab ich schon probiert und das funzt nich.

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


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

BeitragVerfasst am: 18.03.2007, 11:39    Titel: Antworten mit Zitat

nano91 hat Folgendes geschrieben:
strig(1) ist für den knopfoben drauf.
nur fehlen mir die befehle für den knopf vorne dran
(kann man mit dem zeigefinger drücken)

Aus der QB-Hilfe:
QBASCI.HLP hat Folgendes geschrieben:
STRIG(n%)

■ n% Ein Wert, der die Statusbedingung des Jobsticks angibt.

n% Bedingung
══ ════════════════════════════════════════════════════════
0 Unterer Schalter von Joystick A wurde seit dem letzten
STRIG(0) gedrückt.
1 Unterer Schalter von Joystick A wird gerade gedrückt.
2 Unterer Schalter von Joystick B wurde seit dem letzten
STRIG(2) gedrückt
3 Unterer Schalter von Joystick B wird gerade gedrückt.
4 Oberer Schalter von Joystick A wurde seit dem letzten
STRIG(4) gedrückt.
5 Oberer Schalter von Joystick A wird gerade gedrückt.
6 Oberer Schalter von Joystick B wurde seit dem letzten
STRIG(6) gedrückt.
7 Oberer Schalter von Joystick A wird gerade gedrückt.

Kurz & bündig: Früher wurden bis zu zwei Joysticks unterstützt, jeder hatte zwei Feuerknöpfe. Aus eigener Erfahrung: Hatte früher zwei Quickshot-Joysticks mit dem 15-poligen Sub-D-Stecker und Soundkarte mit Gameport, an diesem mit Y-Kabel die beiden Joysticks angeschlossen. Abfrage beider Joysticks sowie auch beide Knöpfe klappte soweit eigentlich immer ohne Probleme.

Sonst aus meiner Sammlung:

http://beilagen.dreael.ch/QB/JOYJUST2.BAS

=> War damals ein von mir selber geschriebenes Joystickkalibrierprogramm und damals noch in GW-BASIC geschrieben, deshalb die Zeilennummern.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 18.03.2007, 13:10    Titel: Antworten mit Zitat

Hallo

nano91 hat Folgendes geschrieben:
...ist für den knopf oben drauf.
nur fehlen mir die befehle für den knopf vorne dran
(kann man mit dem zeigefinger drücken)
und noch vier stück am sockel dran.


Eigentlich kann man über den Gameport prinzipiell nur vier Potentiometer- und vier Schalterstellungen einlesen. Wenn da sechs Knöpfe dran sind, werden zwei davon vielleicht als Potis mit Vollausschlag nach Links oder Rechts gedeutet wenn sie gedrückt oder nicht gedrückt sind. Was sagt denn STICK(n) für n = 3 oder 4?

Du könntest auch das hier als STRIG-Ersatz versuchen. Damit sollte man die vier Schaltereingänge am Gameport abfragen können. Die Potieingänge sind mit dieser Methode etwas komplizierter.

Code:
CLS
DO
 i% = INP(513)
 bitwert% = 16
 LOCATE 1, 1
 FOR knopf% = 0 TO 3
  PRINT (i% AND bitwert%) / bitwert%
  bitwert% = bitwert% * 2
 NEXT
LOOP WHILE INKEY$ = ""


Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 18.05.2007, 19:28    Titel: Antworten mit Zitat

Ach ja...
Das mit dem Abprallen am Straßenrand wolltest du ja auch noch wissen...
Na ja das macht du am besten mit IF...THEN...END IF
Ich würd das so machen:
Code:

SCREEN 13

TYPE Auto
 X AS SINGLE
 Y AS SINGLE
END TYPE

DIM Auto AS Auto
   


Und dann im Hauptprogramm:
Code:

IF Auto.Y < Straßenrand OR Auto.Y > Staraßenrand THEN
 Auto.Y = Straßenrand+10 'Oder 1
END IF

Naja wie schon gesagt musst du das Auto dann an die entsprechenden
X und Y Koordinaten PUTen...

Ich hoffe ich konnte dir Helfen...
Ferdinand
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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