Ich erstelle eine Python-Anwendung, um das Spiel Perudo (oder Lügnerwürfel) zu spielen.Miniaturlisten an eine größere Liste anhängen
Ich versuche, eine Funktion zu erstellen, die alle möglichen Bewegungen berechnet, die der Spieler (oder AI) machen darf, und gibt eine Liste von ihnen zurück, so dass es illegale zurückweisen kann.
Umdrehungen werden als eine Liste von 2 Nummern gespeichert, z. [10,6] repräsentiert zehn Sechsen. Wenn die Startvariable currentbid
ist(neunzehn drei) und es sind 20 Würfel im Spiel, dann sind die einzigen möglichen Züge 19 Vieren, 19 Fünfen, 19 Sechsen, 20 Zweien, 20 Dreiern, 20 Vieren, 20 Fünfen und 20 Sechsen. Anrufe von denen sind nicht erlaubt. Das Programm sollte eine Ausgabe der oben als:
[[19,4],[19,5],[19,6],[20,2],[20,3],[20,4],[20,5],[20,6]]
sondern gibt es als:
[[20,6],[20,6],[20,6],[20,6],[20,6],[20,6],[20,6],[20,6]]
Was mache ich falsch?
def calcpossiblemoves(self, currentbid, totalnoofdice):
self.possiblemoves = [] # Create a list of possible moves that will be added too
self.bid = currentbid
while self.bid[0] <= totalnoofdice:
while self.bid[1] < 6:
self.bid[1] += 1
self.possiblemoves.append(self.bid) # <- I think the problem is something to do with this line
print(self.possiblemoves) #For tracking the process
# Increase 1st number, reset 2nd number to 1
self.bid[0] += 1
self.bid[1] = 1 # Which will get increased to 2
#print("Reached 6")
return self.possiblemoves
Umm ... klingt ein bisschen wie Lügners Würfel oder Perudo aber ohne einen Sonder zu sein ... –
@JonClements Ja, ich hatte, dass in der Post gestellt, aber es verschwunden zu sein scheint! Zurück jetzt. 1s sind etwas Besonderes, aber ich habe das noch nicht erwähnt: P Momentan sind sie nur unkündbar. – tburrows13