From ee64eeaf694546988dd99545bd4d9624646b1d05 Mon Sep 17 00:00:00 2001
From: Belfadel Mohamed <mohamed.belfadel.etu@118p2.fil.univ-lille.fr>
Date: Wed, 3 Apr 2024 10:41:22 +0200
Subject: [PATCH] distribute

---
 TP9/apqueue.py |  7 +++++++
 TP9/card.py    |  8 ++++++++
 TP9/war.py     | 15 +++++++++++++--
 3 files changed, 28 insertions(+), 2 deletions(-)
 mode change 100644 => 100755 TP9/apqueue.py
 mode change 100644 => 100755 TP9/war.py

diff --git a/TP9/apqueue.py b/TP9/apqueue.py
old mode 100644
new mode 100755
index cdc44f7..ded4cb4
--- a/TP9/apqueue.py
+++ b/TP9/apqueue.py
@@ -97,6 +97,13 @@ class ApQueue():
         return ApQueue.ARROW + \
             "|".join(str(el) for el in self.__content) + \
             ApQueue.ARROW
+    
+    def __len__(self) -> int:
+        """
+        return the length of this queue
+        """
+        return len(self.__content)
+
 
 
 if __name__ == '__main__':
diff --git a/TP9/card.py b/TP9/card.py
index 8203637..b6f4739 100755
--- a/TP9/card.py
+++ b/TP9/card.py
@@ -134,6 +134,14 @@ class Card(object):
         $$$ len(set(cartes))
         len(cartes)
         """
+        res=[]
+        for i in range(n_card):
+            valeur = random.randint(0,len(Card.VALUES)-1)
+            color = random.randint(0,len(Card.COLORS)-1)
+            carte = Card(Card.VALUES[valeur] , Card.COLORS[color])
+            if carte not in res:
+                res.append(carte)
+        return res
         
 
     def __eq__(self, card: Card) -> bool:
diff --git a/TP9/war.py b/TP9/war.py
old mode 100644
new mode 100755
index e1acacc..7ceee82
--- a/TP9/war.py
+++ b/TP9/war.py
@@ -37,7 +37,18 @@ def distribute(n_card: int) -> tuple[ApQueue, ApQueue]:
     $$$ isinstance(carte, Card)
     True
     """
-    ...
+    liste_carte = Card.deck(n_card*2)
+    queue_vide1 = ApQueue()
+    queue_vide2 = ApQueue()
+    m1 = liste_carte[:n_card]
+    m2 = liste_carte[n_card:]
+    for i in m1:
+        queue_vide1.enqueue(i)
+    for i in m2:
+        queue_vide2.enqueue(i)
+    return queue_vide1 , queue_vide2
+    
+    
 
 def gather_stack(main: ApQueue, pile: ApStack) -> None:
     """
@@ -49,7 +60,7 @@ def gather_stack(main: ApQueue, pile: ApStack) -> None:
     $$$ main = ApQueue()
     $$$ pile = ApStack()
     $$$ for c in cartes:
-    ...     pile.push(c)
+    pile.push(c)
     $$$ gather_stack( main, pile )
     $$$ len( main ) == 4
     True
-- 
GitLab