Archived
remove runtimewarnings
This commit is contained in:
+13
-11
@@ -69,23 +69,25 @@ class Player(Serializable):
|
|||||||
async def _rebuild_stack(self):
|
async def _rebuild_stack(self):
|
||||||
"""Call when the player wants to draw but has no cards in stack_pile"""
|
"""Call when the player wants to draw but has no cards in stack_pile"""
|
||||||
if len(self.stack_pile) != 0:
|
if len(self.stack_pile) != 0:
|
||||||
raise RuntimeWarning("Cannot rebuild stack if stack is not empty!")
|
print("Cannot rebuild stack if stack is not empty!")
|
||||||
|
return
|
||||||
self.stack_pile, self.discard_pile = self.discard_pile, self.stack_pile
|
self.stack_pile, self.discard_pile = self.discard_pile, self.stack_pile
|
||||||
random.shuffle(self.stack_pile)
|
random.shuffle(self.stack_pile)
|
||||||
|
|
||||||
async def draw(self, amount: int):
|
async def draw(self, amount: int):
|
||||||
"""Draw a card from the stack. Handles stack rebuild from discard automatically"""
|
"""Draw a card from the stack. Handles stack rebuild from discard automatically"""
|
||||||
try:
|
|
||||||
while amount > 0:
|
|
||||||
if len(self.stack_pile) == 0:
|
|
||||||
if len(self.discard_pile) == 0:
|
|
||||||
raise RuntimeWarning("No more cards to draw !")
|
|
||||||
await self._rebuild_stack()
|
|
||||||
|
|
||||||
if len(self.stack_pile) > 0:
|
while amount > 0:
|
||||||
self.hand.append(self.stack_pile.pop())
|
if len(self.stack_pile) == 0:
|
||||||
amount = amount - 1
|
if len(self.discard_pile) == 0:
|
||||||
finally:
|
print("No more cards to draw !")
|
||||||
|
break
|
||||||
|
await self._rebuild_stack()
|
||||||
|
|
||||||
|
if len(self.stack_pile) > 0:
|
||||||
|
self.hand.append(self.stack_pile.pop())
|
||||||
|
amount = amount - 1
|
||||||
|
|
||||||
await self.notify_update()
|
await self.notify_update()
|
||||||
|
|
||||||
async def notify_update(self):
|
async def notify_update(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user