Ergebnis 1 bis 10 von 10

Thema: Tausend Switches = Eine Variable?

  1. #1

    Users Awaiting Email Confirmation

    Tausend Switches = Eine Variable?

    Hallöchen Leute!

    Ich arbeite ja seid längerem an einem Nebenprojekt.
    Es wird ein Adventure-Jump'n'Run-Shooter Game.

    Dazu gehören natürlich die verschiedensten Pickups wo wie auch schon bei der eigentlichen Frage wären.

    Ich möchte nicht 100 Tausende Swicthes für Pickups verbrauchen,nur damit man sie einsammeln kann.
    Gibt es eine Möglichkeit das durch Variablen,möglichst wenige zu regeln,mit dem selben Ergebnis?

  2. #2
    Du möchtest das das Pickup verschwindet nachdem man es eingesammelt hat?
    Lösch das Event einfach temporär mit "Erase Event/Clear Timer".

    Dann verschwindet das Pickup solange wie man auf der gleichen Karte ist.

  3. #3

    Users Awaiting Email Confirmation

    Zitat Zitat von makenshi Beitrag anzeigen
    Dann verschwindet das Pickup solange wie man auf der gleichen Karte ist.
    Es soll aber für immer weg sein.

  4. #4
    Dann musst du in den konzept vilt einbauen, dass man jede Map nur einmal besuchen kann...?

  5. #5
    Du weißt, was eine Binärzahl ist?

    Sagen wir, du hast drei aufhebbare Gegenstände, addierst du für den ersten 1, für den zweiten 2 und für den dritten Gegenstand 4 zu deiner Variable, wenn sie jeweils genommen wurden. Sind Gegenstand eins und drei aufgehoben, ist die Variable auf 5 bzw. in binärer Schreibweise auf 101 gesetzt.
    Um dann für einzelne Binärstellen das Ergebnis zu ermitteln, benutzt du den Modulo-Operator (mod, Divisionsrest).
    In einer sechsstelligen Variable könntest du so 19 Ja/Nein-Fragen bzw. Switches abbilden, in einer siebenstelligen 22.
    Praktisch ist diese Überlegung jedoch meist absolut unnütze Arbeit.

  6. #6

    Users Awaiting Email Confirmation

    Hm,von Binärzahlen hab ich schonmal was gehört.
    Ich habe gedacht das wär ein Zahlensystem nur mit "0" und "1".
    Trotzdem danke.

  7. #7
    Oder du benutzt den XP/VX, dort gibt es Self Switches.

  8. #8
    Zitat Zitat von Engel der Furcht Beitrag anzeigen
    Hm,von Binärzahlen hab ich schonmal was gehört.
    Ich habe gedacht das wär ein Zahlensystem nur mit "0" und "1".
    Trotzdem danke.
    Ist es auch!
    Du rechnest mit 2er Potenzen, die du von rechts nach links aufsteigend ordnest! Eine Binärzahl wie --> 11010 <-- würde man wie folgt in eine Dezimalzahl umrechnen:

    Die Binärzahl 11010 musst du von Rechts nach links in das 2er Potenzgerüst eintragen:
    ... | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0
    ... | _ 0 _|_ 0 _| _ 1 _|_ 1 _| _ 0 _|_ 1 _| _ 0 _

    Eine 1 bedeutet dann, dass die 2er Potenz mit verrechnet werden muss, eine 0, dass sie nicht mit verrechnet wird:

    Bei der Potenz 2^1 steht eine 1 also muss mit ihr gerechnet werden.
    2^1 = 2
    Die nächste wäre 2^3 = 8.
    Als letztes 2^4 = 16.

    2 + 8 + 16 = 26

    11010 = 26

    Aber das nur btw^^


    zum Thema:
    Vielleicht hilft dir das hier weiter: *Anti-Switch-script*

    greetz!
    elsen =)

    Geändert von elsen (19.10.2008 um 16:39 Uhr)

  9. #9
    Zitat Zitat von Engel der Furcht Beitrag anzeigen
    Hm,von Binärzahlen hab ich schonmal was gehört.
    Ich habe gedacht das wär ein Zahlensystem nur mit "0" und "1".
    Trotzdem danke.
    Ich geh mal davon aus, dass Don Cuan die Dezimalzahl mehr oder weniger Binärzahlen zuordnet. Ich hätte das folgendermaßen gedacht:
    Man hat die Zahl 141421 in einer Variable gespeichert.
    In diesen 6 Ziffern sind jetzt in irgendeiner Form 18 Switches codiert.
    Code:
    n = 141421
    
       1   4   1   4   2   1
      001 100 001 100 010 001
    
    => 001100001100010001
    
    Switch 1: 0 (aus)
    Switch 2: 0 (aus)
    Switch 3: 1 (an)
    Switch 4: 1 (an)
    Switch 5: 0 (aus)
    Switch 6: 0 (aus)
    Switch 7: 0 (aus)
    Switch 8: 0 (aus)
    [...]
    
    +--------------+-----------+
    |Dezimalziffer | Binärzahl |
    +--------------+-----------+
    |      0       |    000    |
    +--------------+-----------+
    |      1       |    001    |
    +--------------+-----------+
    |      2       |    010    |
    +--------------+-----------+
    |      3       |    011    |
    +--------------+-----------+
    |      4       |    100    |
    +--------------+-----------+
    |      5       |    101    |
    +--------------+-----------+
    |      6       |    110    |
    +--------------+-----------+
    |      7       |    111    |
    +--------------+-----------+
    Sprich den Ziffern von 0 - 7 werden dreistellige Binärzahlen zugeordnet, deren Ziffern jeweils den Zustand eines Switches representieren.
    Man kann sich vorstellen, dass das Auslesen, Neubeschreiben eine komplizierte Angelegenheit werden kann, aber wenn es wirklich so nötig ist, ist es möglich, genaugenommen ist diese oben genannte Methode eher ein Kompromis aus Aufwand und Nutzen. Diese Methode lässt sich natürlich verfeinern (Man hat ja noch Platz für Informationen bei den 8ern und 9ern).
    Wenn diese Methode zu viel Arbeitsaufwand bedeutet, kann man sie entsprechend noch weiter vereinfachen, indem man bspw. gleich Binärzahlen in die Variablen schreibt, so wäre die Menge an Switchs pro Variable zwar auf 6 begrenzt, aber das Auslesen und einschreiben wäre sogar einfach (Man prüft zB. die fünfte Stelle mit einer Abfrage, ob die Variable größer gleich 10000 ist, beschreiben einer Variable nach vorheriger Prüfung mit +/- 10^(n-1) etc).

    Meistens werden solche Methoden aber auch gar nicht gebraucht, sondern lassen sich durch geschickten Umgang auch vermeiden.
    Beispiel Shootergame: Du richtest es dir einfach so ein, dass der Spieler die Map (oder auch das Gebiet) nicht verlassen kann ohne alle Gegner abgemetzelt zu haben. Sind alle Gegner abgemetzelt, wird quasi der Generalswitch "Alle-Platt" aktiviert, die Map bleibt leer, aber die einzelnen Switchs für die Monster kannst du wiederverwenden.

  10. #10

    Users Awaiting Email Confirmation

    Jetzt wirds zu kompliziert.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •