Algorithmus finden

Neue Frage »

Auf diesen Beitrag antworten »
DocAslan Algorithmus finden

Meine Frage:
Hallo Informatikerboard,
ich hätte mal eine Frage zu einem Spiel, da ich dafür jetzt noch einen Bot programmieren wollte und ich vielleicht bei einem Algorithmus hilfe bräuchte, um den möglichst effizientesten Bot den es geht zu programmieren.



Meine Ideen:
Zunächste eine kleine Anleitung für das Spiel:

-Es gibt ein großes Feld, in dem eine variable Anzahl an Felder mit zufällig generierten Zahlen aus einer variablen Reichweite.
-Das Spiel funktioniert Rundenbasiert, heißt ich bin am Zug, der Gegner ist am Zug etc.
-Folgende Regel gilt, Spieler 1 klickt auf eine Zahl und bekommt die genau Zahl für seine Punkte gutgeschrieben. Der Gegenspieler bekommt jedoch auch Punkte gutgeschrieben, undzwar alle Faktoren der angeklickten Zahl.
>Beispiel: Spieler 1 klickt auf die Zahl 20, bekommt für seinen Zug 20 Punkte gutgeschrieben. Spieler 2 bekommt trotz des Zuges des anderen die Punkte 1,2,5,10 gutgeschrieben, da dies die Faktoren von 20 sind. Dabei verschwinden die Zahlen, falls auf dem Feld vorhanden natürlich nicht!
-Das Spiel endet, sobald alle vorhandenen Zahlen, die auf dem Feld sind, eingesammelt wurden. Die höchste Punktzahl gewinnt.

>> Also meine Idee für den bestmöglichen Bot wäre, dass dieser die Felder durchgeht und nach den höchsten Primzahlen schaut, da diese Zahlen nur den Faktor 1 und sich selber besitzen.
>>> Beispiel: 19, man wählt diese, bekommt 19 Punkte und das gegenüber 1, da der Faktor 1 vorhanden ist.
Sobald alle Primzahlen ausgeschöpft sind, ist nun die Frage wie es voran geht. Ist es nun effizienter, alle kleinen Zahlen durchgehen zu lassen, um so dem gegenüber so wenig Punkte wie möglich zu geben, da man bei den Primzahlen schon stark abgeräumt hat? Oder sollte man trotzdem auf die noch vorhandenen Großen Zahlen gehen, wobei man riskiert, dass der Gegner durch jegliche Faktoren die er gutgeschrieben bekommt vielleicht doch noch aufholt.

Folgendes letztes Beispiel hab ich mir schon durch den Kopf gehen lassen:

Spieler eins klickt auf die Zahl 19.
Spieler 1: 19, Spieler 2: 1
Spieler zwei ist nun am zug und wählt die 20.
Spieler 1: 37, da (1+2+5+10+19), Spieler 2: 21

Dadurch ist Spieler 1 schon sehr weit vorne und müsste doch nun nur noch sicher spielen oder irre ich mich da?

Freue mich auf jegliche schnelle Hilfe!
Bitte bei der Beantwortung daran denken, dass der bestmögliche und effizienteste Bot der möglich ist programmiert werden soll. Regelrecht unschlagbar.
Das Implementieren kann ich, da brauche ich keinen der mir das vorkaut, bloß stehe ich auf dem Schlauch welche Vorgehensweise doch die effizienteste ist.
 
Auf diesen Beitrag antworten »
eulerscheZahl RE: Algorithmus finden

Zitat:
Der Gegenspieler bekommt jedoch auch Punkte gutgeschrieben, undzwar alle Faktoren der angeklickten Zahl.

Du meinst Teiler.

Was machst du, wenn neben der 19 auch die 95 (=5*19) möglich ist? Die gibt für dich 95 Punkt und für den Gegner 1+5+19=25.

Berechne für jede Zahl deine Punkte und die des Gegners. Dein Gewinn ist die Differenz aus beidem. Suche einfach nach dem größten Gewinn.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »