Beiträge von user000user

    So wie es aussieht, stimmt bei gleichem Artikel auch immer die komplette Zeile überein?
    Denn dann könntest du einfach ein Dictionary benutzen, indem du immer das erste Vorkommen einer Zeile speicherst, mit einer Anfangs Value von 1, falls nicht schon vorhanden. Ansonsten erhöhst du die Value.
    Das sähe dann etwa so aus:


    Am Ende dann nur noch die entsprechende Ausgabe. Das könnte man bspw. mit einer foreach Schleife machen:

    Code
    1. foreach(string s in d.Keys)
    2. {
    3. string str = d[s] + " " + s;
    4. ...
    5. }


    Edit: Mir ist grad aufgefallen, dass du die Preise auch summiert haben willst. Das wäre in dem Code jetzt noch nicht berücksichtigt.

    Hi,


    ich sitze grade an einer Aufgabe, bei der ich nicht ganz weiter weiß.
    Gegeben sind folgende Mengen:


    X := {a,b}
    Y := {c}
    Z := {d}


    Daraus soll M1 gebildet werden, mit
    M1 := Pow(X x Y) x Z


    Ist es richtig, dass die Menge von Pow(X x Y), dann
    {{ }, {(a,c)}, {(b,c)}, {(a,c),(b,c)}}, ergibt?
    Bin mir auch nicht sicher, ob ich die Klammern überhaupt so setzen muss.
    Wäre nett wenn jemand helfen könnte.


    Edit: Habe gesehen, dass nach Power statt normale Klammer, eckige Klammern benutzt werden müssen. Jetzt weiß ich allerdings nicht, wie ich davon das Kartesische Produkt mit Z bilden soll.


    MfG

    So wie es aussieht, crasht es bei mir nicht, wenn ich einen Skill benutze, sondern ein Mob töte. Hab es nochmal neu runtergeladen aber hilft auch nicht.
    Btw, als meine Skills gelöscht wurden, wurde da auch mein normaler Hit gelöscht? Kann das nicht mehr benutzen, da steht immer "Unknown skill". :D

    Ich habe den Bug mit dem Char ChaozZ und es passiert nicht bei bestimmten Mobs. War heute morgen allerdings nicht online. Kanns mir zwar nicht vorstellen, aber lags vielleicht daran, dass ich Lvl 74 war? Hatte auch noch vergessen zu erwähnen, dass mein Pet Lvl 78 ist.

    Vektoren sind eigentlich nicht viel anders, als Koordinaten, beschreiben aber mehr eine Richtung als einen konkreten Punkt. Ein Vektor hat im 2-dimensionalen ein X und ein Y.
    Wenn sich der Spieler an der Position 100, 100 befindet und die Maus bei 200, 135, dann ergibt das die Vektoren (100 | 100) und (200 | 135). Wie beim Berechnen der Steigung, rechnet man dann zunächst die Differenz aus:
    (200 | 135) - (100 | 100) = (200 - 100 | 135 - 100) = (100 | 35)


    Danach rechnet man die Länge des Vektors aus. Wenn man es sich also als Dreieck vorstellt, kann man es mit a² + b² = c² berechnen:
    c = Wurzel aus (100² + 35²) ~ 106
    Wenn man eine Zahl durch sich selbst teilt, erhält man 1. So verhält es sich auch mit einem Vektor und seiner Länge: Teilt man X und Y des Vektors durch seine Länge, erhält man einen Einheitsvektor, dessen Länge 1 ist (normalisieren).
    Also:
    (100 | 35) / 106 = (100 / 106 | 35 / 106) = (0,94 | 0,33)
    Dadurch, dass der Vektor normalisiert wurde, wird jedes Projektil die gleiche Geschwindigkeit haben.


    Diesen Vektor kann man dann in jedem Frame zu dem Projektil hinzufügen.
    Wenn das Projektil bei (100 | 100) startet, wäre es im nächsten Frame bei (100 | 100) + (0,94 | 0,33) = (100,94 | 100,33).


    Ein Ausnahmefall wäre, wenn die Mausposition gleich der Spielerposition ist, da dann die Länge 0 ist. Aber da könnte man ja bspw. die X-Koordinate um 1 verschieben.
    Wie man es genau in Javascript machen kann, weiß ich auch nicht, da ich mich damit nicht auskenne, aber zur Not kann man die Berechnungen auch einzeln durchführen, ohne konkret Vektoren zu benutzen.

    Wie wäre es mit Vektoren?
    Einen Vektor mit der momentanen Mausposition und einen Vektor mit der Spielerposition. Daraus die Differenz normalisieren und evtl. mit einem Geschwindigkeitsfaktor multiplizieren und jedes Frame dann zu der Position des Projektils hinzufügen. Ist denke ich einfacher, als die Steigung zu berechnen.

    Du musst glaube ich auch erst noch die Variable 'gebanntespieler' initialisieren. Es sei denn, es soll ein einfacher String sein, dann musst du die eckigen Klammern in Zeile 2 weglassen und kannst es ganz normal zuweisen, wie du schon hast.

    Versuch es mal ohne das "string[]" in Zeile 11, oder lass die erste Zeile weg. Denn sonst erstellst du eine neue, lokale Variable, die nur in der while Schleife gültig ist und greifst anscheinend auf die split Variable vom Bereich darüber zu.

    Schon länger her, dass ich mit der PQ - Formel gearbeitet hab, aber ich hätte es in etwa so gemacht:

    Code
    1. int wurzelBasis = Math.Pow(p / 2, 2) - q;
    2. if(wurzelBasis < 0) { ... }
    3. else
    4. {
    5. double wurzel = Math.Sqrt(wurzelBasis);
    6. double x1 = -p / 2 - wurzel;
    7. double x2 = -p / 2 + wurzel;
    8. }

    Mit einem Doppelklick auf das jeweilige ContextMenuItem sollte sich der EventHandler für das Item generieren. In der Methode erstellst du dann deine Form und rufst sie mit Show() auf.

    Code
    1. private void ContextMenuItem1_Click(object sender, EventArgs e)
    2. {
    3. Form2 form = new Form2();
    4. form.Show()
    5. }


    So sollte das dann in etwa aussehen.


    Gibt wahrscheinlich bessere Lösungen aber es sollte funktionieren. ;)