=WTG= grim990: Zufallsgenerator

Hallo,

ich habe ein Problem.Ich bin nun seit etwas über einem Jahr in einem Battlefield 2 Clan. Da wir nun angefangen haben, Wars zu spielen und wir (ich und mein 2. Administrator) nicht wollen, dass immer nur die besten, sondern auch die nicht so guten Spieler, zum Zuge kommen, habe ich mir gedacht, man könnte doch einen Zufallsgenerator basteln, der aus den 12 aktiven Spielern immer wieder eine neue Liste dieser 12 Spieler, in unterschiedlicher Auflistung generiert.

Ich weiß jetzt allerdings nicht, in welches Forum das reinpasst, deswegen hier....

  1. ich habe ein Problem.Ich bin nun seit etwas über einem Jahr in einem Battlefield 2 Clan. Da wir nun angefangen haben, Wars zu spielen und wir (ich und mein 2. Administrator) nicht wollen, dass immer nur die besten, sondern auch die nicht so guten Spieler, zum Zuge kommen, habe ich mir gedacht, man könnte doch einen Zufallsgenerator basteln, der aus den 12 aktiven Spielern immer wieder eine neue Liste dieser 12 Spieler, in unterschiedlicher Auflistung generiert.

    vielen dank für die super info! ;)

    xD

  2. Hi!

    Was genau ist denn nun Deine Frage? Bisher hast du uns ja wirklich nur die Information gegeben, dass du deine BF2 Spieler per Zufallsgenerator zusammenwuerfeln willst.

    Nur so zur Anmerkung: Die wenigsten hier werden ueberhaupt wissen worueber du ueberhaupt schreibst. Nicht jeder kennt/spielt BF2. (falls das fuer dein Problem ueberhaupt noetig sein sollte)

    1. Nur so zur Anmerkung: Die wenigsten hier werden ueberhaupt wissen worueber du ueberhaupt schreibst. Nicht jeder kennt/spielt BF2. (falls das fuer dein Problem ueberhaupt noetig sein sollte)

      zudem ist es nicht sonderlich schwierig, aus einer beliebigen menge eine (pseudo-)zufällige teilmenge zu erstellen - zb mit php arrays oder mit einer sql abfrage

      aber gratulation jedenfalls :D

      1. aber gratulation jedenfalls :D

        Hm? Wofuer gratulierst Du?

        1. Hm? Wofuer gratulierst Du?

          man will ja nicht unhöflich sein

    2. Ich wollte wissen, ob es möglich ist,

      ein Script zu schreiben oder herunterzuladen, in dem ich eine Liste von Namen eintrage. Diese Liste soll immer wieder neu generierbar sein, ohne dass Namen doppelt ausgegeben werden um dieses Ergebnis, dann wieder auf einer HTML Seite auszugeben.

      Naja, da ich keine Ahnung von PHP habe, wird das wohl für mich flach fallen, es sei denn einer ist bereit mir ein Script zu schreiben.

      Danke

      1. Hello,

        Ich wollte wissen, ob es möglich ist,

        ein Script zu schreiben oder herunterzuladen, in dem ich eine Liste von Namen eintrage. Diese Liste soll immer wieder neu generierbar sein, ohne dass Namen doppelt ausgegeben werden um dieses Ergebnis, dann wieder auf einer HTML Seite auszugeben.

        Viel PHP-Kenntnisse benötigst Du dazu nicht.
        Das erste, was Du berücksichtigen solltest ist, dass Du hier im Forum auch die Kategorie "PHP" auswählst für Dein Posting, wenn Du etwas über PHP wissen willst ;-)

        Dann solltest Du Dich ein wenig mit PHP-Arrays beschäftigen.

        <?php   ### Zufallsliste ###

        leeres Array bereitstellen

        $_namen = array();

        Namen eintragen ins Array

        $_namen[] = 'Hans';
        $_namen[] = 'Peter';
        $_namen[] = 'Paula';
        $_namen[] = 'Sabine';
        $_namen[] = 'Klaus';
        $_namen[] = 'Schöner Karl';
        $_namen[] = 'Kleiner König';
        $_namen[] = 'Sonnenblümchen';

        echo "<pre>\n";

        Array ausgeben in Erfassungsreihenfolge

        echo htmlspecialchars(print_r($_namen,1)):

        Array zufällig verwürfeln

        shuffle($_namen);

        Array ausgeben in zufälliger Reihenfolge

        http://de2.php.net/manual/en/function.shuffle.php

        echo htmlspecialchars(print_r($_namen,1)):

        echo "</pre>\n";

        ?>

        Viel mehr musst Du gar nicht machen...

        Ein harzliches Glückauf

        Tom vom Berg

        http://bergpost.annerschbarrich.de
        .

        --
        Nur selber lernen macht schlau
        1. Na, das ist doch mal ne Antwort.

          Vielen Dank dafür, ich werd mich mal da durchwursteln :-)

        2. Danke, Tom hat alles wunderbar funktioniert, ich hatte den <pre>Tag wirklich vergessen. Es funktioniert auch einwandfrei. Nur möchte ich es jetzt noch optisch etwas verbesser. Dazu werde ich wohl wieder deine Hilfe brauchen.

          In der Ausgabe steht nun:

          Array
          (
              [0] => Name9
              [1] => Name8
              [2] => Name10
              [3] => Name3
              [4] => Name7
              [5] => Name2
              [6] => Name4
              [7] => Name12
              [8] => Name6
              [9] => Name5
              [10] =>Name11
              [11] =>Name1
          )

          Wie schaffe ich es, dass nur noch z.B.Name1
          ohne Array() und [] => ausgegeben wird?

          1. Hello,

            Danke, Tom hat alles wunderbar funktioniert, ich hatte den <pre>Tag wirklich vergessen. Es funktioniert auch einwandfrei. Nur möchte ich es jetzt noch optisch etwas verbesser. Dazu werde ich wohl wieder deine Hilfe brauchen.

            In der Ausgabe steht nun:

            Array
            (
                [0] => Name9
                [1] => Name8
                [2] => Name10
                [3] => Name3
                [4] => Name7
                [5] => Name2
                [6] => Name4
                [7] => Name12
                [8] => Name6
                [9] => Name5
                [10] =>Name11
                [11] =>Name1
            )

            Wie schaffe ich es, dass nur noch z.B.Name1
            ohne Array() und [] => ausgegeben wird?

            Die von mir verwendete Funktion print_r() ist eigentlich für Debugzwecke gedacht oder um sich über Rohdaten schnell einen Überblick zu verschaffen, nicht aber für die formatierte Ausgabe von Datenwerten.

            Dazu benutzt Du hier am beten eine selbstgeschrieben Funktion.
            Unter Zuhilfenahme von foreach() http://de.php.net/manual/en/control-structures.foreach.php lässt sich z.B. ganz leicht eione Tabelle erzeugen:

            funktion make_table($_daten)
              {
                 if ( empty($_daten) ) return false;      ## keine Daten da, Funktion abbrechen
                 if ( !is_array($_daten) ) return false;  ## kein Array, foreach würde auf die Schnauze fallen

            $out = '';                               ## Ausgabestring vorbereiten
                 $out .= "<table>\n";                     ## kann man auch zusammenfassen mit voriger Zeile

            foreach($_daten as $key => $val)
                 {
                   $out .= "    <tr>\n";
                   $out .= "        <td>".htmlspecialchars($val)."</td>\n";  ## Wert ausgeben
                   $out .= "    </tr>\n";
                 }

            $out .= "</table>\n";                    ## habe fertig

            return $out;                             ## Erzeugte Tabelle im String zurückgeben
              }

            Mit echo kannst Du den erzeugten String dann ausgeben.

            echo make_table($_namensliste)."<br>\n";

            soweit der Ausflug in "wie baue ich mir eine Funktion".
            Ich hoffe, dass ich mich nirgends vertippt habe.

            Wenn Du Dir den erzeugten Quelltext im Browser nachher anguckts, sollte er sogar einigermaßen lesbar formatiert sein.

            Ein harzliches Glückauf

            Tom vom Berg

            http://bergpost.annerschbarrich.de
            .

            --
            Nur selber lernen macht schlau