Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
nano91
Anmeldungsdatum: 11.01.2007 Beiträge: 19
|
Verfasst am: 15.02.2007, 19:08 Titel: autofahren |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 20:50 Titel: |
|
|
Sollen wir in das komplette Spiel auch noch 'ne Online-Highscore-Funktion einbauen?
Sry, aber keiner wird dir hier sowas komplettes abliefern.
Stell deine Frage zu einem konkreten Problem und du wirst sehen, dass dir hier jeder gerne helfen wird  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
nano91
Anmeldungsdatum: 11.01.2007 Beiträge: 19
|
Verfasst am: 15.02.2007, 21:52 Titel: |
|
|
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 |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 15.02.2007, 21:55 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.02.2007, 21:55 Titel: |
|
|
Das schon, aber dann hast' ein komplettes Spiel.
Zudem werden fast alle Fragen in der QB-MonsterFAQ geklärt.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
croco97

Anmeldungsdatum: 04.11.2005 Beiträge: 260
|
|
Nach oben |
|
 |
Ferdi

Anmeldungsdatum: 10.03.2007 Beiträge: 284 Wohnort: Berlin
|
Verfasst am: 14.03.2007, 17:48 Titel: |
|
|
Kurven zeichnen ist (glaub ich) ziemlich schwer
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  |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 14.03.2007, 17:54 Titel: |
|
|
Ist das jetzt Fahrschule für Programmieranfänger oder Programmierschule für Fahranfänger ? das erinnert mich an die super geile C64 Autorennspiele  _________________
 |
|
Nach oben |
|
 |
Ferdi

Anmeldungsdatum: 10.03.2007 Beiträge: 284 Wohnort: Berlin
|
Verfasst am: 15.03.2007, 21:29 Titel: |
|
|
Du kannst leider keinen am USB-Port hängenden Joystick
benutzen.
In der QB-MON-FAQ gibt es ein paar nette Joystickroutinen für dich
Viel Spaß beim lesen wünscht
Ferdi |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 15.03.2007, 21:36 Titel: |
|
|
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 |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 15.03.2007, 21:40 Titel: |
|
|
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 |
|
 |
nano91
Anmeldungsdatum: 11.01.2007 Beiträge: 19
|
Verfasst am: 17.03.2007, 21:03 Titel: |
|
|
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 |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 18.03.2007, 11:39 Titel: |
|
|
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 |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 18.03.2007, 13:10 Titel: |
|
|
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 |
|
 |
Ferdi

Anmeldungsdatum: 10.03.2007 Beiträge: 284 Wohnort: Berlin
|
Verfasst am: 18.05.2007, 19:28 Titel: |
|
|
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 |
|
 |
|