Announcement

Collapse
No announcement yet.

PROGRAMM zur Auslese von Würfelergebnissen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PROGRAMM zur Auslese von Würfelergebnissen

    Hei Entwickler,

    ich bin noch recht neu in der Softwareentwicklung und hätte daher einmal eine Frage:
    Ich möchte gerne ein Programm schreiben (C#), welches mir alle mir 6 Würfeln, welche logischer Weise 6 verschiedene Zahlen besitzen, möglichen Ergebnisse durchgeht. Nun kommt es mir darauf an in welchen Kombinationen diese einzelnen "Würfe" vorliegen. Das heißt, wenn
    ich beispielsweise die Zahlen 5, 3, 2, 1, 6, 5 "gewürfelt habe" ergibt das Muster 2-1-1-1-1, da ich eben die Zahl 5 zwei mal gewürfelt habe und sonst jeweils nur 4 mal einzelne Zahlen vorliegen habe. Mir ist es also egal was für Zahlen konkret gewürfelt werden, vielmehr kommt es mir darauf an in welcher Häufigkeit sie vorliegen.

    Ein Pärchen ist also 2, ein Drilling 3 und so weiter...

    Natürlich soll bei meinem Programm nicht nur fröhlich vor sich hin gewürfelt werden, sondern die Ergebnisse müssen auch nach jedem "Wurf" in einer passenden Variable mitprotokolliert werden. Mich interessieren nicht alle möglichen Kombinationen sondern nur 9 verschiedene. Folglich benötige ich also für folgende Kombinationen eine Variable, welche mir mitzählt wie oft eben diese in meinen 6^6 Würfen vorgekommen ist. Um das mal kurz zu zeigen führe ich einmal meine, für mich interessanten Kombinationen auf.


    2-2-1-1
    2-1-1-1-1
    3-1-1-1
    4-1-1
    1-1-1-1-1-1
    2-2-2
    4-2
    5-1

    Der Wert der jeweiligen Variablen soll nun logischer Weise ausgegeben werden.


    Ich hoffe ich hab mein Problem einiger maßen verständlich schildern können und würde mich echt freuen wenn mir jemand behilflich sein könnte.
    Danke schon mal im Voraus

    Grüße Dominik


    PS: Ja ich weiß sehr wohl, dass das kein geeignetes Programm für einen Neuling ist, will aber unbedingt mein Problem gelöst haben.

  • #2
    Das sollte auch auch als Anfänger machbar sein. Was hast du denn schon?
    Denn wir helfen dir gern auf deinem Weg aber wir gehen den Weg natürlich nicht für dich

    Comment


    • #3
      Gut also ich hatte bis jetzt eben erst die Idee mehrere Arrays zu erstellen. Eben zuerst einmal 6 Stück, eben für jeden Würfel eine. Das heißt also wenn ich für den ersten Würfel eine Liste schreiben will müssen in eben dieser die Zahlen 1,2,3,4,5 und 6 enthalten sein. Für die anderen 5 Würfel das Gleiche.
      Als nächstes würde ich eine Liste für den "Wurf" schreiben das heißt also diese Liste muss die erst genannten 6 Listen enthalten. Damit hab ich dann ja zumindest einmal alle Möglichkeiten kombiniert. Als nächstes würde ich die "Wurf Liste" durchgehen und immer wenn eines meiner Kombinationen auftritt die entsprechende "Zählervariable" um 1 vergrößern, so dass ich am Schuss meinen Wert der Variable abfragen kann und somit mein Ergebnis habe.

      Ich hoffe das Prinzip stimmt schon einmal. Mein Problem ist es, das ganze mit meinen relativ wenigen Kenntnissen in ein passendes Programm zu schreiben.

      Mfg Dominik

      Comment


      • #4
        Implementierungsvorschlag.

        1.) Schreib dir eine Methode die das Auswürfeln darstellt. Das Ergebnis kannst du dann als einen Integer zurückgeben das macht die Sache einfacher.
        Also anstatt ein Array mit 6 Elementen oder ähnlicher einfach ein Zahl. Also zum Beispiel für deine Kombination 4-1-1(-0-0-0) gibst du als Zahl 411000 zurück.

        2.) Diese Würfe speicherst du dann in einem Dictionary<int, int>
        Ein Dictionary ist eine Liste von Key-Value Paaren wobei hier deine Kombination (z.B. 411000) der Key wäre und der Value die Häufigkeit wie oft diese Kombination gewürfelt wurde.

        Nach einem Würfeln würdest du also schauen ob es den Key schon im Dictionary gibt (es gibt eine Contains Methode) wenn ja den Value hochzählen (auf ein Dictionary kann man wie auf ein Array zugreifen Key ist dann der ArrayIndex) wenn nicht neu hinzufügen (per Add) mit Value 1.

        3.) Auswerten des Dictionary Inhalts nach n mal Würfeln. Wieso eigentlich 6^6 mal Würfeln?

        Comment


        • #5
          Super danke für die schnell Antwort. Ich werd mich gleich mal dahinter klemmen. Ach ja und zu den 6^6 mal Würfeln: Es gibt 6^6 Möglichkeiten wie meine Würfelergebnisse ausschauen. Also z.B.: 111111, 111112, 111113....

          Comment


          • #6
            Aber eine Frage hätte ich noch. Wie kann ich aus mehreren Integern einen Integer machen. Also also aus beispielsweise 6 und 7, 67 machen?

            Comment


            • #7
              rechnen: 6*10+7
              Christian

              Comment


              • #8
                Haha danke

                Comment

                Working...
                X