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:

Nibbles mit zwei Geschwindigkeiten!

 
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
PitBull



Anmeldungsdatum: 28.08.2006
Beiträge: 2

BeitragVerfasst am: 28.08.2006, 21:20    Titel: Nibbles mit zwei Geschwindigkeiten! Antworten mit Zitat

Moin!

Wie der Titel des Themas schon sagt: ich möchte in Nibbles die Möglichkeit einbauen, das zwei Spieler jeweils eine andere Geschwindigkeit haben.
Die Idee kam, als mein Bruder mit seiner Freundin spielte, und sie das nur seeehr langsam kann happy Er hingegen spielt es schneller. Und da wollte ich euch fragen, wie ich dies realisieren kann. Ich danke schon im vorraus für Antworten zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 28.08.2006, 21:47    Titel: Antworten mit Zitat

Das ist sehr einfach.
Du musst einfach Spieler1 und Spieler2 eine "Zahlenvariable" zuweisen.
Diese wird bei jedem Durchgang der DO...LOOP-Schleife (oder was immer du auch verwendest) im Spielmodus um eins erhöht.
Immer wenn ein bestimmter maximalwert erreicht ist (bei beiden unterschiedlich) wird (angenommen es ist ein Rennspiel, ich kenne es nicht zwinkern ), das Auto (wenn eine Taste gedrückt wurde) eine Einheit nach vorne bewegt. Klar soweit? lächeln

Wenn nicht:
Code:

DO
...
ZeitSpieler1 = ZeitSpieler1 + 1
IF ZeitSpieler1 = 20000 THEN
 IF taste$ = "gedrückt" THEN
  'Rennauto eine Einheit nach vorn
 END IF
ZeitSpieler1 = 0
END IF

ZeitSpieler2 = ZeitSpieler2 + 1
IF ZeitSpieler2 = 40000 THEN
 IF taste$ = "gedrückt" THEN
  'Rennauto eine Einheit nach vorn
 END IF
ZeitSpieler1 = 0
...
LOOP

Spieler1 ist die Freundin deines Bruders, und Spieler2 ist er selber.
Allerdings kann die Zeit, die der Computer zum hochzählen auf 20000/40000 benötigt, von PC zu PC unterschiedlich (CPU).
Dieses Problem kannst aber auch lösen, indem du den CPU-Speed ermittelst und den Wert entsprechend anpasst.
Wie das geht, steht glaube ich in der MonFaq. Link zwinkern



Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SpionAtom



Anmeldungsdatum: 10.01.2005
Beiträge: 395

BeitragVerfasst am: 28.08.2006, 23:27    Titel: Antworten mit Zitat

Naja bei Nibbles muss man schon etwas mehr rumtricksen. Die eigentliche Geschwindigkeit wird ja so erreicht, dass das Spiel nach jedem Schleifendurchlauf (also nach jedem Bewegungsschritt) eine Pause einlegt. Die Pause gilt aber für das gesamte Programm, also auch für beide Schlangen..

Trotzdem kann man den Lösungsweg von Elvis irgendwo einbauen grinsen

EDIT: In der SUB PlayNibbles gibts eine Schleife, mit dem Kommentar Move Snake, ich denke da irgendwo musst du den Stopper einbauen

@Elvis: Kein Nibbles kennen böse Schäm dich Kopf schütteln zwinkern
_________________
Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 29.08.2006, 10:40    Titel: Antworten mit Zitat

SpionAtom hat Folgendes geschrieben:

@Elvis: Kein Nibbles kennen böse Schäm dich Kopf schütteln zwinkern


Ich kenns nur unter 'nem anderen Namen Zunge rausstrecken


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PitBull



Anmeldungsdatum: 28.08.2006
Beiträge: 2

BeitragVerfasst am: 29.08.2006, 11:55    Titel: Antworten mit Zitat

Erst einmal Danke für die Antworten, nur leider bin ich noch nicht daraus schlau geworden traurig Ich bin noch nicht wirklich gut in QBasic. Und dann habe ich auch noch das Problem, dass das alte Notebook nicht mehr hochfährt böse Zum Glück funktioniert noch das andere. Ich werde erst einmal wieder ein paar Tutorials machen zwinkern

mfg PitBull
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