Rundenzählen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Hops

Betreff: Rundenzählen

BeitragSa, Mai 05, 2007 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Haiho!
Mir hat sich bei einer kleinen Spielerei ein (wie mir scheint) größeres Problem in den Weg gestellt:
Es geht um ein kleines Autoflitzer-Spiel, bei dem auf einer Strecke (ein einzelnes Modell) Runden absolviert werden sollen.
Nun das Problem: ich scheitere schon wieder und immernoch am Rundenzählen bzw, dass man nich beschummeln kann (nich rückwärts über Ziellinie und dann vorwärts wieder drüber,...)
Mein Ideen waren folgende:
Ganz am Anfang: Schauen, ob man über die Ziellinie fährt, Problem: Man könnte immer wieder rückwärts-vorwärts darüber fahren..
Dann: Man muss Wegpunkte auf der Strecke abfahren, erst wenn man an allen vorbei ist, zählt die runde. Problem: Man kann auf der Strecke beliebig viele Abkürzungen nehmen->nicht alle abfahren...
Meine jetzige überlegung ist, dass man schaut, ob das Auto falsch(von der anderen seite) über die ziellinie fährt und dann zählt die runde nur, wenn davor nicht falsch drübergefahren wurde...

Jetzt frage an euch: Gibt es noch andere Lösungen, wie würdet ihr das machen? Ich habe leider zu meinem letzten gedanken keinen ansatz, wie das gehen könnte!

Bitte um Ratschlag und Danke im vorraus!
mfg

Abrexxes

BeitragSa, Mai 05, 2007 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie jedes Game es macht. Mit Checkpoints und Begrenzungen.

cu

Christoph

BeitragSa, Mai 05, 2007 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach doch einfach mehr Checkpoints. Wenn du in jeder Kurve einen hast, kann man theoretisch gar keine Abkürzungen mehr fahren.

TheRealSephiroth

BeitragSa, Mai 05, 2007 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Meine jetzige überlegung ist, dass man schaut, ob das Auto falsch(von der anderen seite) über die ziellinie fährt und dann zählt die runde nur, wenn davor nicht falsch drübergefahren wurde...

Jap, das solltest du nehmen UND mehrere Checkpoints setzen, damit keine/weniger Abkürzungen genommen werden können und unter anderem auch um zwischenzeiten zu berechnen.
 

Hops

BeitragSa, Mai 05, 2007 13:08
Antworten mit Zitat
Benutzer-Profile anzeigen
also erstmal dankeschön!
und dann muss ich mich wohl entschuldigen, weil ich mich nich richtig ausgedrückt hab Laughing :
Man soll ja gerade abkürzungen nehmen dürfen, deswegen kann ich keine checkpoints machen, weil man die nicht alle abfahren MUSS oder müssen soll... wenn mans schafft, könnte man auch direkt nach dem start eine abkürzung vors ziel machen aber eben nicht dauernd nur über die linie fahren... aber wie soll ich das mit der linie machen? koordinatenmäßig wohl nicht, weil es ja mehrere strecken gibt, und wie prüfe ich dann, von welcher seite man über die linie fährt?
Wenn jemand eine Idee hat, wäre ich sehr dankbar!
mfg
ciao

Christoph

BeitragSa, Mai 05, 2007 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum machst du nicht einfach Checkpoints, dort wo du sie brauchst???

Code: [AUSKLAPPEN]
| |
|x \
|    \
| | \ \
| |  | |
| |  | |
| |  / /
| | / /
| |/ /
| / /
|  /
|x|

x=> Checkpoint



nehmen wir an, das rechte sei die normale Strecke, und das linke die Abkürzung. Dann machst du einen Checkpoint davor und einen danach, dann kann man auch die Abkürzung fahren...

FireballFlame

BeitragSa, Mai 05, 2007 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder so:

Code: [AUSKLAPPEN]
| |
|a \
|    \
|b| \ \
| |  |d|
| |  | |
| |  / /
| | / /
|c|/ /
| /e/
|  /
|f |



=> If drübergefahren(a) And drübergefahren(f) And ((drübergefahren(b) And drübergefahren(c)) Or (drübergefahren(d) And drübergefahren(e))) Then rundeistgültig



Wink
 

Hops

BeitragSa, Mai 05, 2007 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
schön, dass ihr antwortet, blöd, dass ich net erklären kann^^

das problem bei checkpoints ist, dass die abkürzungen nicht vorgeschrieben sind, der spieler kann theoretisch, solange er es schafft, überall von einem teil der strecke auf den anderen springen! Deswegen kann man nicht sagen, er muss so-und-so-viele checkpoints abfahren, weil er auch mit viel weniger ohne mogeln ans ziel kommen kann. Es geht eigentlich nur darum, zu verhindern, dass die runde gezählt wird, wenn der spieler rückwärts und wieder vorwärts über die start/ziellinie fährt!

Noch mal ein Bild, an dem hoffentlich klar wird, warum ich denke, dass checkpoints nicht funktionieren würden:

[url] https://www.blitzforum.de/upload/file.php?id=1494 [/url]

ciaoi

TheRealSephiroth

BeitragSa, Mai 05, 2007 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm extreme möglichkeit: du nimmst separate start und ziel linie, also wo man von A nach B muss.
 

Hops

BeitragSa, Mai 05, 2007 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
joa, is halt echt extrem, und eigentlich wollt ich halt runden... naja, aber ich denke, dass das schon möglich ist:
z.b.:
Immer, wenn man von der falschen richtung die linie überquert, dann wird ne variable auf '1' gesetzt, wenn man vorwärts drüberfährt, dann auf '0' und wenns davor schon '0' war, dann zählt die runde...
so müsste es gehen, aber leider hab ich keine idee zur umsetzung, da wäre ich dankbar für denk-anstöße und stichworte^^
dangä!
ciao

BananaSalat

BeitragSa, Mai 05, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
nimm halt einfach nen hohen unsichtbaren cube wo man durchspringen kann. des programm tut dann untersuchen ob das auto durch den cube gesprungen ist und wenn ja iss die runde gütlig


also im prinzip wie ein fetter hoher cube der ungefähr die mögliche flugbahn eingrenzt. der dann wieder als checkpoint funzt
 

Schnuff

BeitragSa, Mai 05, 2007 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
kann man nicht einfach gucken, ob sich der x wert verkleinert hat, seit dem letzten schleifen durchlauf, wenn man über die ziellinie fährt?
und wenn dem so ist, wird eine "runde" abgezogen, bis die runden 0 sind...?
Programmers dont die. They gosub without return...
 

Hops

BeitragSa, Mai 05, 2007 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, so dachte ich mir das auch mit dem Koordinaten... aber wenn die halt ungünstig liegt oder von bahn zu bahn anders is, dann is des halt schlecht... aber wenns sonst keine lösung gibt...?

vielleicht hat noch jemand ne idee?

mfg

Christoph

BeitragSa, Mai 05, 2007 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, irgendwie versteh ich nicht, wofür du eine Strecke hast, wenn man eh immer und überall eine "Abkürzung" nehmen kann. Wo ist bei diesem Spiel die Grenze zwischen gemogelt oder nicht? Ich mein, wenn du überprüfst, dass er nicht rückwärts und vorwärts über die Linie fährst, dann fährt der Spieler halt einen kleinen Bogen drumherum und nimmt eine "Riesenabkürzung".

Code: [AUSKLAPPEN]

|   | ..
|  .|   .
|---|    .
| . |    .
|   | ...


Sowas in der Art. (--- =>Ziellinie; . => Fahrspur des spielers)
 

Hops

BeitragSa, Mai 05, 2007 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, ganz so isses auch wieder nich, aber man kann halt an manchen stellen durch springen und rampen unvorhersehbar abkürzen, aber man muss schon noch stücke hoch und runter fahren und so scherze, da gibts auch ne bande, aber an manchen stellen reicht die schwerkraft halt nich^^
des is ja auch gut so, weil ma nie die gleiche strecke fahren muss, aber das problem ist eigentlich nur noch, wie ich prüfen soll, von welcher seite man über die linie fährt (und wenn möglich ohne koordinaten, weil wenn die so schief liegt, dass man x und z z.b. erhöhen muss, um drüber zu fahren, dann wird das für andere maps kompliziert...)

aber danke für eure bemühungen

ciao

Silver_Knee

BeitragSa, Mai 05, 2007 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
noch eine idee: portale und teleportation:Code: [AUSKLAPPEN]

     -----+                              +------
          |zielprtal----------startportal|
     -----+                              +------

egal wiviele abkürzungen man auf der strecke nimmt am ende mussman durchs zielportal das einen ein paar millimeter vors startportal befördert. durchs startportal kommt man allerdings so nicht durch. oder ein einfaches plande das aussieht wie ein schutzschildund so gedreht ist: Code: [AUSKLAPPEN]
 |
 |
 |->
 |
 |
---------straße------------------
da hilft die blitzkollision durch die eine seite knn man fahren aber nicht zurück
 

Hops

BeitragSa, Mai 05, 2007 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, echt schön, eure ideen!
ich hab beschlossen, dass jetzt so ähnlich zu lösen, wie ftc das vorgeschlagen hat! Ich weis nich, ob du das so gemeint hast, aber du hast mich auf ne idee gebracht:
Es giebt einfach eine "Wand", die auf der Startlinie steht, durch die man nicht durchkommt. Kurz davor steht entweder ein "Portal", dass einen wieder vor die Wand beamt oder ein Schalter, der die Wand runterfahren lässt, sobald man drüberfährt, da das spiel auf zeit geht, ist das mit dem Schalter denke ich ganz gut, da man die mauer nach einiger zeit wieder hochfahren könnte, wodurch nochmal ein schlussspurt entsteht, weil man schnell durchs ziel muss...

Also danke für eure Ideen, hat echt Spaß gemacht, die zu lesen! Very Happy

mfg

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group