Hi, here we are again with this code. This will be done in parts, but will be completed, this time. I am sure.
So, I present the code until the first move of player one. I tried to make the code as neat as I can. Here it is in his full tidiness:
I imported the shuffle function from the random method to shuffle the cards.
The I made some list comprehension to create the deck of cards. the I made the function pop() that returns a number of cards taken from the deck to memorize the 3 cards in p1 and p2, the name of the two list of cards that player 1 and player 2 have got from the deck of cards.
Then we popped the card for the briscola.
Then, to decide wich card to play for the first player I made another list comprehension that started from the smallest card to the greatest of the figure, then from the smallest of the briscole to the greatest and then the greatest cards of other colors.
print("Let's play BRISCOLA")
from random import shuffle
cl = '♦♣♠♥'
nm = [str(x) for x in range(1,11)]
cds = [n+c for n in nm for c in cl]
def pop(x=1):
return [cds.pop() for i in range(x)]
shuffle(cds)
p1,p2 = pop(3),pop(3) # pick the cards 1st time
bsc = cds.pop()
print(p1,"|",p2,"|",bsc,"bsc")
top = [2,4,5,6,7,8,9,10,3,1]
cl2 = list(cl)
cl2.remove(bsc[-1])
# Lista delle carte da tirare in ordine di preferenza per la prima mossa
pref1 = [str(x)+c for x in top[:9] for c in cl2]+[str(x)+bsc[-1] for x in top[:9]]+['1'+bsc[-1]] +[str(x)+c for x in top[9:] for c in cl2]+['3'+bsc[-1]]
def firstmove():
global tb1
for i in pref1:
if i in p1:
print(i,"tb1")
tb1 = i # carta giocata memorizzata
p1.remove(i)
break
firstmove()
Comments
Post a Comment