Günstiges/Ressoucenschonendes Steuerelement für Lottoschein

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Günstiges/Ressoucenschonendes Steuerelement für Lottoschein

    Moin,

    ich entwickle "gerade" (seit über 10 Jahren) in VS 2019 (Visual Basic) ein Programm zur Auswertung von Lottoziehungen. (Ich mache das momentan schon in Excel, aber die Ressourcen in Excel neigen sich dem Ende.)
    Die Ziehungen zeige ich mithilfe eines TableLayoutPanel (7x7) und darin eingebettenten Labels (also 49) an. Bei klicken auf ein Label ändert es sein Farbe und zeigt so die Ziehung an. ...
    Jetzt wollte ich das auch für die Tipps machen. Leider muss ich feststellen, das 50 Steuerelemente (49 Label+1 TLP) mal 6 Tipps sowohl den Entwurfsmodus als auch das fertige Programm schon an die Grenze bringt. Zumal ich die Steuerelemente nur "gezeichnet" habe. (Ich brauche ja mindestens 12 x 50 = 600 Steuerelemente) Ich habe eine neuen, gut ausgestatteten Rechner! (Für diese Variante rechne ich aber mindestens mit 1000 Steuerelementen!)
    Edit: In diesem "Feld" wird auch die Zusatzzahl mit einer anderen Farbe angezeigt!

    Gibt es da eine Alternative, die den Entwicklungsaufwand in Grenze hält und nicht so ressourcenfressend ist ? (Es ist für mich keine Variante, den Lottoschein nicht graphisch abbilden zu wollen)
    Ich werde jetzt schon mal ein bisschen was probieren ...

    Grüße und Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „o815michi“ ()

    Moin,

    kurz zum Verstehen, 1x kompletter Lottoschein also 49 Labels auf einer Form entspricht einer 'aktuellen' Lottoziehung, die Du grafisch anzeigen möchtest?
    Jetzt möchtest Du dazu noch deine geratenen/getippten/abgegebenen Nummern auch in solch einem Fenster 49 Lables etc. anzeigen und das in einer einzigen Form und gleichzeitig?
    Richtig?
    Erster Gedanke nach dem Lesen, es ist keine gute Idee die ganzen Sachen gleichzeitig anzuzeigen. Es wäre einfacher, die Tipps nacheinander im 'selben' Form anzuzeigen. Dadurch würde das ganze auch viel besser zur Objekt-Orientierten-Programmierung Klasse -> Objekt etc. passen.
    Wäre das nicht auch okay? Oder warum muss es gleichzeig sein?
    codewars.com Rank: 4 kyu
    Man kann ein Datagridview nehmen, und via Code einrichtlen, dass es 7 * 7 Zellen anzeigt. Man kanns auch hinkriegen, dass es quadratisch aussieht, und die Zellen so hoch wie breit sind.
    da kann man auch Zahlen drin anzeigen, und Zellen bunt machen und und und...
    Und man kann auch reagieren, wenn in eine Zelle geklickst wird.
    Man kann erlauben in die Zellen zu schreiben - kann man auch verbieten.

    Will man mehrere solcher 7*7-Zahlenfelder anzeigen lohnt es sich sicherlich, eine Klasse anzulegen, von DGV erben, und die gewünschte Einrichtung sozusagen ins Control einbauen.
    Moin,

    nogood schrieb:

    Moin,

    kurz zum Verstehen, 1x kompletter Lottoschein also 49 Labels auf einer Form entspricht einer 'aktuellen' Lottoziehung, die Du grafisch anzeigen möchtest?
    Jetzt möchtest Du dazu noch deine geratenen/getippten/abgegebenen Nummern auch in solch einem Fenster 49 Lables etc. anzeigen und das in einer einzigen Form und gleichzeitig?
    ............... Wäre das nicht auch okay? Oder warum muss es gleichzeig sein?


    Ich habe ein Tab-Control auf meiner Form. Es gibt einige Tabs. Der Erste ist Ziehung. (Dort kann man sich alle Ziehungen anzeigen und neue Eingeben!) Dieser hat nur einmal 49 Labels. (Momentan gibt es bei 6 aus 49 auch nur eine Ziehung pro Ziehungstag!)
    Dann gibt es den Tab Tipps. Dort möchte ich eine Lottoschein nachbilden. Das hat auch damit zu tun, das ich spätere Auswertungen vornehmen möchte und es für mich Bedienkomfort ist auf alle Tipps pro Ziehung pro Schein auf einmal zuzugreifen.

    Ich kann jetzt schon nur mit Excel "auf einen Blick" sehen, wie viele Richtige ich habe. (Rechnen könnte ich auch, aber bei ein Paar 1000 Tipps in Excel könnte es Leistungsprobleme geben ...) Weniger als in Excel ist ein NoGo.

    Zitat "deine geratenen ... Nummern" Wenn die Zahlen etwas nicht sind, die ich spiele, dann geraten. Ich berechne sie jetzt schon in einem aufwendigem (mehrstufigem) Verfahren. Eine Zufallsfunktion ist in diesem nicht enthalten. Ich musste dieses Jahr leider eine neue Tabelle anfangen, das 4 (5) Jahre Excel recht langsam machen!

    (Ich möchte Später so etwas auswerten wie: "Wurde mein jetziger Tipp schon einmal in den letzten 70 Jahren gezogen.")

    @Takafusa Dankeschön, ich werde es mir anschauen.

    Grüße

    o815michi schrieb:

    (Ich möchte Später so etwas auswerten wie: "Wurde mein jetziger Tipp schon einmal in den letzten 70 Jahren gezogen.")
    Diese Überlegung beruht möglicherweise auf einem Missverständnis der Wahrscheinlichkeits rechnung.
    Jedenfalls wenn du denkst, dir auf diese Weise iwelche verbesserten Chancen ausrechnen zu können.
    Für einen aktuellen Tipp ist völlig irrelevant, was die letzten 70 Jahre gezogen wurde.
    Für einen aktuellen Tipp ist völlig irrelevant, was die letzten 70 Jahre gezogen wurde.


    @o815michi Der ErfinderdesRades hat Recht. Die allseits bekannte Lottoziehung kann in der Wahrscheinlichkeitsrechnung durch die sogenannte Hypergeometrische Verteilung berechnet werden. Hier ein Beispiel aus meiner Formelsammlung:

    Beispielaufgabe kommt von Daniel Jung hier.
    Und hier ein Beispiel zur Anwendung, in deinem Fall was konkret eingesetzt werden muss:


    Schreib dir am besten eine Funktion hypergeoPdf(int x, int n, int M, int N), die dir einen Double zurückgibt. Mein großer Rechner hat die schon:
    DispCap1.bmp

    Die runden Klammern sind übrigens keine Vektoren, sondern Binomialkoeffizienten. Ein gewöhnlicher, moderner Taschenrechner kann diese berechnen mittels der nCr-Taste. Oder wenn du es per Hand vercoden musst:
    $$ \binom{n}{k} = \frac{n!}{k!(n-k)!} $$
    wobei das ! Zeichen Fakultät bedeutet. Code-Schnipsel zur Fakultäts-Berechnung findest du in der Forumssuche.

    Nachtrag: Das P in
    hypergeoPdf steht übrigens für die Wahrscheinlichkeit bei einem einmaligen Ziehen. Im SInne von: Die Lottozahlen werden am Mittwochabend nur einmal gezogen.
    Das Gegenteil, also "wie hoch ist die Wahrscheinlichkeit, dass ich 6 Richtige habe, wenn Mittwochabend mehrere Male gezogen würde", heißt kumuliert, das wäre dann hypergeoCdf

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Bartosz“ ()

    o815michi schrieb:

    Ich möchte Später so etwas auswerten wie:
    Was soll das Ziel dieser Auswertung sein?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vollzitat eines Vorposts durch Anredefunktion ersetzt ~VaporiZed
    @ErfinderDesRades & @RodFromGermany:

    Moin,

    Nur mal kurz:
    Nein, ich denke nicht, das ich Wahrscheinlichkeit missverstehe. (Es bringt aus meiner Sicht aber keinen Vorteil für mich, über Zufall zu diskutieren, wenn ich keine Belastbaren Zahlen habe. Diese kann ich auch aus meinem Programm gewinnen. Es gibt mehrere Zahlen im Internet, aber bei weitem nicht alle die, die ich Wissen möchte!)
    Das Programm hat mehrere Funktionen.
    1. Zum eine die Vorbereitung und Auswertung meiner Lottospiele.
    2. Dann die Statistik meiner und aller Lottospiele.
    3. Die Analyse des Zufalls und der Lottoziehungen.
    4. Edit: Ich möchte nicht verschweigen, das es Menschen gibt, die glauben, Ich/man könnte die 6 Zahlen vorhersagen, die demnächst gezogen werden. Ich lasse sie in dem glauben.
    5. Vielleicht noch mehr, mir fällt es nicht ein ;)
    Vielleicht mal ein anschaulicheres Beispiel. Die Mittwochsziehung hat im Durchschnitt nur halb soviel Geldvolumen (Schätzungsweise) (Hier nachschauen) wie die Samstagsziehung. Wenn man in dem Fall von 1:140.000.000 Fällen Glück hat, aber Mittwoch gewinnt, gewinnt man wahrscheinlich weniger. (Außer Klasse 9 aber auch alle anderen Klassen) =>Es gibt einen festen Zusammenhang zwischen ausgespieltem Geld, dem Spieleinsatz und den Klassen.
    Vielleicht stellen sich einige Gedanken auch als purer Zufall heraus. Aber z.B. gibt es die Behauptung, das Geburtstagszahlen 1-31 häufiger gespielt werden. Das müsste man an den Daten auch erkennen können. (Häufiger Spielen, häufiger gewinnen!) ... Wir sind weit weg von 14.000.000 Ziehungen (Ohne Superzahl) also müsste das nächste mal eine andere Kombination kommen. Natürlich könnte auch die gleiche Kombination wieder kommen, aber das wäre ein sehr, sehr unwahrscheinliches Ereignis! ...

    Was ich sagen kann, ist das ich in den letzten ~5 Jahren rund 30-40% vom eingesetztem Geld wiedergewonnen habe. Das scheint normal zu sein. Meine Möglichkeiten die Zahlen auf dem Schein unterschiedlich zu arrangieren sind bei weitem nicht ausgeschöpft. Der Rest mal schauen ... (Es wird nicht ausbleiben, das ich weitere Fragen zum Programm "stellen muss". Ansonsten denke ich darüber nach, das Ergebnis zu veröffentlichen ...)

    Edit: Meine grundsätzliche Philosophie sagt, das es wichtig ist, Probleme anzugehen, die andere für unmöglich halten. Das motiviert mich etwas zu tun. ... Der mathematische Beweis scheint unstrittig zu sein . Aber es ist immer noch etwas anderes den Mathematischen Beweis auf die Realität anzuwenden. Nur beim Lotto scheint das möglich zu sein. Würfeln ist zu wenig Komplex Und andere Zufallsereignisse sind zu wenig reproduziert. (Zu wenig Daten etc...)

    ErfinderDesRades: Ich schaue mir gerade die von dir empfohlene Videoreihe an. (Dataset ... ) Super Videos .. Mehr darunter ...

    Grüße

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VaporiZed“ ()

    o815michi schrieb:

    müsste das nächste mal eine andere Kombination kommen. Natürlich könnte auch die gleiche Kombination wieder kommen, aber das wäre ein sehr, sehr unwahrscheinliches Ereignis! ...
    Das ist genau der Fehlschluss.
    Die Wahrscheinlichkeit, dass die gleiche Kombination wieder kommt ist exakt genau so hoch wie alle anneren Möglichkeiten.

    Der Irrtum ist, dass zwei Ereignisse als eines betrachtet werden. Also dass zweimal die gleiche Kombi kommt ist tatsächlich irrsinnig unwahrscheinlich (U1 * U2). Aber wenn die eine Unwahrscheinlichkeit schon eingetreten ist, dann ist die Unwahrscheinlichkeit der zweiten nur noch normal unwahrscheinlich.

    Aber ansonsten haste natürlich recht: An welchen Wochentagen wie viel gespielt wird, oder ob es Tipp-Präferenzen bei den Menschen gibt, das lässt sich schon untersuchen.

    (Aber ich finde eiglich den psychologischen Aspekt viel interessanter: dass diese Nicht-Dienstleistung bei so vielen Menschen ein Suchtverhalten hervorruft - welches auszubeuten ein überaus lukratives Geschäftsmodell ist.)

    o815michi schrieb:

    Aber z.B. gibt es die Behauptung, das Geburtstagszahlen 1-31 häufiger gespielt werden.
    Das klingt nett, aber das ist durch die gezogenen Zahlen nicht zu verifizieren, denn die gespielten Zahlen als solche haben absolut nix mit den gezogenen Zahlen als solche zu tun!
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Bartosz schrieb:

    Für einen aktuellen Tipp ist völlig irrelevant, was die letzten 70 Jahre gezogen wurde.


    @o815michi Der ErfinderdesRades hat Recht. Die allseits bekannte Lottoziehung kann in der Wahrscheinlichkeitsrechnung durch die sogenannte Hypergeometrische Verteilung berechnet werden. Hier ein Beispiel aus meiner Formelsammlung:
    .....

    RodFromGermany schrieb:

    o815michi schrieb:

    Aber z.B. gibt es die Behauptung, das Geburtstagszahlen 1-31 häufiger gespielt werden.
    Das klingt nett, aber das ist durch die gezogenen Zahlen nicht zu verifizieren, denn die gespielten Zahlen als solche haben absolut nix mit den gezogenen Zahlen als solche zu tun!


    Moin,

    vorerst letzter Kommentar zum Thema Zufall. Ich hatte eigentlich vor solche Diskussionen zu vermeiden. Ich hatte diese Art der Antworten vorausgeahnt. (Ich werde in den nächsten Tagen nicht mehr antworten!) Wenn Ihr Recht habt und meine Berechnungen keine Sinnvollen Ergebnisse bringen sollten, habe ich aber den Anspruch das Selbst festzustellen! ... Leider denke ich aufgrund dieses Treads nur über Zufall nach und weniger über die grundlegenden Funktionen meines Programms. ... Eigentlich brauchen wir uns erst über Zufall unterhalten, wenn ich dauerhaft mehr Gewinn fabriziere als ich an Geld einsetze. Ansonsten stehen die Mathematischen Grundlage fest und ich bin nur einer von vielen Lottospielern. (Ich betrachte Lotto als Hobby...)

    @'Bartoz': Ich habe so eine Formel in Excel und habe mir schon die Wahrscheinlichkeiten ermittelt. Ich habe sie mir im Einzelnen seit Jahren nicht mehr angeschaut, da sie momentan für meine Berechnungen irrelevant sind!
    Für mich ist das sehr wohl Interessant, ich mache meine Tipps davon abhängig. Ob es für die jeweils kommende Ziehung interessant ist, ist eine andere Frage. (Das werde ich vielleicht auch mit dem Programm verifizieren können ...)

    @ErfinderDesRades: Staatliche Lotterie!

    Gegenfrage: Spielt Ihr Lotto ? Wieviel Geld (in %) gewinnt Ihr vom eingesetztem Geld zurück ?
    Kurz zum Programm: Das DGV braucht auch viel und ist recht langsam. ... Das ist nicht die Endlösung, verwende es aber erstmal bis ich die anderen Vorschläge getestet habe ...

    Grüße

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „o815michi“ ()

    o815michi schrieb:

    Spielt Ihr Lotto ?
    Niemals.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    o815michi schrieb:

    meine Berechnungen keine Sinnvollen Ergebnisse bringen sollten, habe ich aber den Anspruch das Selbst festzustellen!
    Hihi - ein teurer Spass - Ich spreche aus Erfahrung:
    Ich hatte mal gedacht, in meiner Jugend, man könnte mit dem Verdopplungs-System am Roulette-Tisch Geld verdienen.
    Dabei haben wir (wir haben zusammengelegt) ca. 500 DM verloren, und ich hab dabei die Sache mit den Wahrscheinlichkeiten gelernt.

    Nein, Lotto spiele ich auch nicht.

    Aber mach nur: Du gewinnst auf jeden Fall.
    Gewinnst du Geld, haste Glück, und hast Geld gewonnen.
    Verlierst du Geld, bis es dir reicht, hast du Erkenntnis gewonnen - nämlich dass die Mathematik eine exakte Wissenschaft ist (strenggenommen die einzige!) :D .

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „ErfinderDesRades“ ()