Seite 15 von 18 ErsteErste ... 51112131415161718 LetzteLetzte
Ergebnis 281 bis 300 von 354

Thema: It's Quiz Time!!

  1. #281
    Habe mir schon gedacht dass du an dem Binärbaum gedacht hast, und habe desshalb den auch erwähnt.
    aber mal zum frage:

    Wie kann man mit event code herausfinden ob ein event innerhalb eines Kreisses ist mit nur einem Bedingung/Conditional branch?

    zum beispiel:
    Die 'x' markiert Tiles um einem Punkt 'O', und man soll herausfinden ob ein Event innerhalb die Fläche von 'x' drin ist.
    Code:
       xxx
      xxxxx
     xxxxxxx
    xxxxxxxxx
    xxxxOxxxx
    xxxxxxxxx
     xxxxxxx
      xxxxx
       xxx
    Dafür soll nur einem Conditional branch benutzt werden, aber Variabel Operationen könnt ihr so viel wie ihr wollt benutzen. Der Kreis im Code is auch nur ein Beispiel und der Kreis muss nicht diese grösse haben, solange es halt ein Kreis bildet.

    Für die, die ein bisschen Mathe können dürfte es nicht so schwer sein

  2. #282

    Users Awaiting Email Confirmation

    Hero X - ZielX
    Hero Y - ZielY

    If ZielX is greater than -4
    >If ZielX is less than 4
    >>If ZielY is greater than -4
    >>>If ZielY is less than 4
    ZIEL IST IM RADIUS

  3. #283
    erstens wäre dass 4 conditional branches stadt eine, und zweitens wäre das kein Kreis sondern ein Viereck.
    dein vorschlag wurde etwa so aussehen
    Code:
    xxxxxxx
    xxxxxxx
    xxxxxxx
    xxxOxxx
    xxxxxxx
    xxxxxxx
    xxxxxxx

  4. #284
    Pseudocode:

    Code:
    XTemp = ZentrumobjektX - ZielobjektX 
    YTemp = ZentrumobjektY - ZielobjektY
    (Differenzen berechnen)
    
    If XTemp == -4
      If YTemp >=-1
        If YTemp <=1
          DRIN
        End
      End
    End
    
    If XTemp == -3
      If YTemp >=-2
        If YTemp <=2
          DRIN
        End
      End
    End
    
    If XTemp == -2
      If YTemp >=-3
        If YTemp <=3
          DRIN
        End
      End
    End
    
    If XTemp == -1
      If YTemp >=-4
        If YTemp <=4
          DRIN
        End
      End
    End
    
    If XTemp == 0
      If YTemp >=-4
        If YTemp <=4
          DRIN
        End
      End
    End
    
    If XTemp == 1
      If YTemp >=-4
        If YTemp <=4
          DRIN
        End
      End
    End
    
    If XTemp == 2
      If YTemp >=-3
        If YTemp <=3
          DRIN
        End
      End
    End
    
    If XTemp == 3
      If YTemp >=-2
        If YTemp <=2
          DRIN
        End
      End
    End
    
    If XTemp == 4
      If YTemp >=-1
        If YTemp <=1
          DRIN
        End
      End
    End
    Ich gehe hiermit die X-Spalten nacheinander ab und grenze die dafür erlaubten Y-Werte ein.
    Ist eigentlich ganz simpel.

    Um den Fall zu integrieren, dass es ausserhalb liegt, benutzt man entweder nen doppelten
    Switch oder verschachtelt die Fälle in ELSEs.

    Geändert von MagicMaker (21.11.2010 um 15:23 Uhr)

  5. #285
    Code:
    Event X = Event X - Hero X
    Event Y = Event Y - Hero Y
    if(Event X < 0) 
      Event X *= -1
    if(Event Y < 0)
     Event Y *= -1
    Event X  += Event X
    if(Event X <= AbstandInTiles) {  // zb 4
       //Held steht im Bereich Karoförmig (oder was das da is xD)
       ....
    }
    Für ein richtigen Kreis geht btw auch (Man muss nur das zusammen rechnen von X und Y anders machen)

    Edit:
    Habt ihr beiden da oben nicht gelesen das nur ein "Branch" genutzt werden soll?

    Geändert von R.D. (21.11.2010 um 15:59 Uhr)

  6. #286
    Ich muss mich schlecht ausgedrückt haben. Es soll nur 1 bedingung / conditional branch / fork / if statement benutzt werden.

    Es geht aber in die richtige richtung, ist schon richtig erstmal den differenzen zu finden.

    R.D. ist schon auf was drin, ist aber immernoch 3 Conditional branches, und es ist immernoch da nicht wirklich ein Kreis, sondern ein anderem karoförmiges Viereck wie du selber geschrieben hast. Und es ist genau nach diesem "extra" mit dem zusammen rechnen von X und Y ich aus bin.
    mit diesem extra braucht man die beiden branches die nachguckt ob eine der werte negativ sind nicht.

  7. #287
    Setz auf den Kreis ein Spezialterrain und catche die TerrainID von dem Zielobjekt.
    Das geht mit einer einzigen Bedingung.

  8. #288
    @ Kazesui

    Vielleicht ja auch so?:



    Ich denke mal das war nicht gemeint aber so ungefähr würd
    ich es machen und dann bei jemdem Schritt das Ereigniss neu aufrufen lassen.

    Lg
    Multi-Master1988

  9. #289
    Das Problem in deiner Variante ist, du wolltest sicher abfragen ob jemand auf einer genauen
    Stelle steht (nichtmal das scheint korrekt gelöst worden zu sein). Hier haben wir allerdings
    einen Toleranzkreis der mit einer einzigen Bedingung abgefragt werden soll, ausser der
    Möglichkeit in meinem vorherigen Post fällt mir dazu nicht wirklich nochwas ein.

    Ausser vielleicht mit ein paar Pointern die die gleiche Fork immerwieder neu aufrufen,
    nur dadurch halt verändern.

  10. #290
    haha, mist. Hab vergessen irgend eine einschränkung gegen terrain / event ID reinzutun. War nicht die lösung an die ich gedacht habe, und ne besonders gute lösung ist es auch nicht da es dann ziemlich statisch bleibt, aber es ist eine lösung, desshalb werd ich es für korrekt halten, und sagen dass MagicMaker dran ist.

    Die lösung nach dem ich war, benutzt dass "x²+y² = 1" ein kreis bildet, also könnte es so gelöst werden:
    Code:
    ziel_x -= zentrum_x
    ziel_y -= zentrum_y
    ziel_x *= ziel_x
    ziel_y *= ziel_y
    ziel_x += ziel_y
    if( ziel_x < abstand)
       drin
    end
    wo "abstand" ein wert im bezug von dem kreis wäre, was normaleweise von n² bis (n+1)² liegen sollte, wo n dem radi von mitte bis aussen in entweder horizontaler oder vertikaler richtung entspricht.

  11. #291
    Zitat Zitat
    und ne besonders gute lösung ist es auch nicht da es dann ziemlich statisch bleibt
    Deswegen würd ich die auch nie wirklich anwenden. Dazu muss das schon sehr strikt sein.

  12. #292
    MM will nichts fragen. Daher:

    Welcher Bug bei "Show Message" kann das Spiel abstürzen lassen?

  13. #293
    Zitat Zitat von Cherry Beitrag anzeigen
    MM will nichts fragen. Daher:

    Welcher Bug bei "Show Message" kann das Spiel abstürzen lassen?
    Falschreferenzieren von Variablen, wie bei der Nonne in deinem Testprojekt.

  14. #294
    Richtig.

    Du bist.

  15. #295
    Folgefrage: Wie behebt man den Fehler? xD

  16. #296
    Vlt einfach in der Database die Variablen bis zum Maximum alle aktivieren xD

  17. #297
    Es ist eigentlich völlig egal wenn eine Variable genannt wird ob sie im Bereich des vom
    Maker in der Datenbank definierten ist. Das einzige was mir eigentlich zu Absturzbug
    eingefallen wäre in Message ist das Benutzen eines Backslashes ohne daraus einen
    Befehl zu formen. ~> crash

    Code:
    <> Show Message: \
    <>

  18. #298
    Ich denke, Corti meinte z.B. "\n[\n[x]]". Den Fehler hab ich in der No-ATB-Demo irrtümlich bei der Nonne gemacht (im 2-Helden-Fall), und weil er das angesprochen hat, hab ich es richtig gewertet. Das mit "\" wäre auch richtig gewesen.

  19. #299
    Cherry ist dran und Cherry, dein Postfach ist voll, man kann dir nix mehr schicken. Und Cherry~ magst mir meine ICQ nummer mal schicken? (per PM) Ich hab se verlegt und vergessen und du bist einer von 3 Leuten auf der Welt, mit denen ich per ICQ kommuniziere.

  20. #300
    Öh, ich hab weder die Frage wie man das behebt richtig verstanden (meine eigentliche Antwort darauf wäre "ääh, richtigstellen?" gewesen), noch wieso mein Versuch MagicMaker zu erklären was du mit deiner Antwort gemeint hast eine richtige Antwort ist, aber mir solls Recht sein

    Mir gehen langsam die Fragen aus, btw.

    Was ist die einfachste Methode, animiertes Gras einzubauen, ohne Animationstiles zu benutzen? (Zum Beispiel weil man mehr/weniger Frames oder ein anderes Tempo haben will)

    Geändert von Cherry (22.11.2010 um 16:43 Uhr)

Berechtigungen

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