Da ich den Thread von mdt nicht zuspammen will lagere ich das mal aus:
Ich habe keine Ahnung nach welchem Algorithmus diese Bots so programmiert sind. Ich hatte aber schon länger mal vor, eine Engine zu erstellen, die den menschlichen Dartspieler auf natürlichere Art simuliert:
Der Bot "wirft" jeden Dart auf die gleichen Segmente, auf die auch ein Mensch werfen würde, beim Scoring und bei den Checkoutwegen.
Aus dem eingestellten Level ergibt sich dann eine Standardabweichung, wie genau er trifft und aus der Streuung dann das Segment in das er tatsächlich trifft.
Das sollte eine einigermaßen natürliche wirkende Simulation ergeben.Evtl. mache ich mich da tatsächlich mal dran. Aber es wäre dann keine App, sondern nur eine Engine, die man in eine App einbauen könnte. (Eingangsargumente: Zielsegment und Level, Returnwert: Getroffenes Segment)
Allerdings werden wohl die meisten heutzutage einfach Claude mit sowas beauftragen.
Ich bin einer dieser seltenen und seltsamen Menschen, die selbst programmieren wollen, weil das Coden der eigentliche Spaß an der Sache ist.
Aussterbende Art.
Ich habe mich tatsächlich mal ans Programmieren gemacht und das geht flotter als ich dachte (und macht Spaß)
Hier mal das was der Bot in 20 Würfen scored, wenn er auf die T20 und die D16 zielt, je nachdem welche Standardabweichung (=Spielstärke) ich angegeben habe:
shoot at T20
sdev=0mm: 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60
sdev=5mm: 20 60 60 60 60 60 60 60 60 60 60 60 20 60 20 60 60 60 60 60
sdev=10mm: 60 20 60 60 60 20 20 60 60 60 60 20 60 20 20 20 60 60 20 20
sdev=15mm: 20 20 20 60 20 1 20 20 60 1 20 20 20 60 20 60 20 20 60 20
sdev=20mm: 60 60 1 60 20 20 20 20 60 20 20 5 60 20 60 20 1 60 60 20
sdev=25mm: 20 20 1 20 20 1 20 60 1 15 1 20 20 20 20 20 20 18 1 20
sdev=30mm: 20 60 18 60 40 60 20 60 60 60 40 5 60 20 5 1 20 60 20 1
sdev=35mm: 36 1 20 20 20 1 20 18 20 60 9 60 20 20 60 1 20 1 1 20
sdev=40mm: 18 0 20 1 15 20 10 20 0 5 20 60 5 54 20 20 14 20 5 18
sdev=45mm: 20 5 1 9 0 12 0 40 20 12 20 60 20 1 12 20 5 18 5 20
sdev=50mm: 60 1 9 15 20 5 12 0 6 1 60 5 18 5 20 4 0 5 11 40
Alles anzeigen
shoot at D16
sdev=0mm: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
sdev=5mm: 32 16 32 16 32 32 16 32 32 32 16 32 32 16 32 16 32 32 32 32
sdev=10mm: 32 32 32 0 32 32 0 16 32 16 32 32 0 32 32 32 16 32 0 32
sdev=15mm: 8 16 16 32 32 32 16 32 0 16 32 32 0 16 0 0 32 0 32 32
sdev=20mm: 32 16 8 0 0 32 32 0 16 16 0 0 32 32 32 32 16 16 32 16
sdev=25mm: 8 0 8 32 32 32 16 0 0 32 16 32 32 32 0 11 0 0 0 0
sdev=30mm: 32 32 0 0 0 32 16 16 32 0 16 16 0 0 16 11 0 16 8 16
sdev=35mm: 8 8 32 0 16 0 32 0 0 0 0 0 8 0 8 8 8 0 32 32
sdev=40mm: 0 0 0 7 8 0 32 32 16 0 0 32 11 16 16 0 32 0 16 0
sdev=45mm: 8 24 0 16 16 0 16 16 0 32 0 16 8 32 7 0 16 0 0 0
sdev=50mm: 0 0 0 11 32 0 0 16 0 0 0 0 32 0 0 0 0 0 32 0
Alles anzeigen
Sieht schon mal nach einer einigermaßen natürlichen Streuung aus.
Evtl. passe ich die Verteilungskurve noch ein wenig an und flache die Gaußkurve noch ein wenig ab, aber ich denke darauf kann man aufbauen. ![]()