Я полный новичок с python.

Мне нужна помощь в обновлении счета в карточной игре.

Оценка работает следующим образом:

У игрока A или B есть пара: счет += 1
Игрок А просит карту у игрока Б (наоборот), и она у этого игрока: счет += 1
У игрока Б ее нет, игрок А должен взять карту. Если после ничьей есть пара: оценка += 2

У меня есть логика, но я действительно не знаю, как связать это вместе.

Я попытался вручную добавить баллы в свои функции, но это запутано и сложно :(

Я предполагаю, что мне придется создать новую функцию для счета и вызывать их в других моих функциях?

Буду признателен за руководство,

Спасибо!

0
Confused 30 Мар 2011 в 07:39
4
Пожалуйста, опубликуйте код, который у вас уже есть, чтобы мы могли (а) лучше понять, чего вы пытаетесь достичь, и (б) помочь вам без необходимости переписывать все, что вы уже сделали.
 – 
Blair
30 Мар 2011 в 08:28

1 ответ

Вот код, который поможет вам начать:

class Player:
  def hasPair(self):
    haveIt = False
    #write logic here to see if you have it
    return haveIt
  def hasCard(self,card):
    haveIt = False
    #write logic here to see if this player has the card
    return haveIt
  def drawCard(self):
    #write logic here
    pass
  def ask(self,player,card):
    return player.hasCard(card)
  def increment_score(self,by=1):
    self.score += by

def updateScores(a,b,card):        
  if a.hasPair(): a.increment_score()
  if b.hasPair(): b.increment_score()
  if a.ask(b,card): 
    a.increment_score()
  else:
    a.drawCard()
    if a.hasPair(): a.increment_score(2)
  if b.ask(a,card):
    b.increment_score()
  else:
    b.drawCard()
    if b.hasPair(): b.increment_score(2)    
1
Yasser 30 Мар 2011 в 11:21