Skip to content

Commit 08b195e

Browse files
committed
New code
1 parent 474927b commit 08b195e

File tree

6 files changed

+77
-0
lines changed

6 files changed

+77
-0
lines changed

code/.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/.idea/Mathesis.iml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/Week 2/deck.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import random
2+
class Card:
3+
'''κλάση φύλλων τράπουλας'''
4+
gr_names = {'s': 'Σπαθί ♣', 'c': 'Μπαστουνι ♠', 'h': 'Κούπα ♥', 'd': 'Καρό ♦',
5+
'A': 'Άσσος', '2': 'Δύο', '3':'Τρία', '4':'Τέσσερα', '5':'Πέντε', '6':'Έξι', '7':'Επτά', '8':'Οκτώ',
6+
'9': 'Εννιά', 'T': 'Δέκα', 'J': 'Βαλές', 'Q':'Ντάμα', 'K': 'Ρήγας'}
7+
the_cards = []
8+
def __init__(self, value, symbol):
9+
self.value = value.upper().strip()
10+
self.symbol = symbol.lower().strip()
11+
Card.the_cards.append(self)
12+
def __str__(self):
13+
return self.value+self.symbol
14+
def detailed_info(self):
15+
if self.value in Card.gr_names and self.symbol in Card.gr_names:
16+
return Card.gr_names[self.value]+ ' ' + Card.gr_names[self.symbol]
17+
else: return ''
18+
19+
class Deck():
20+
'''κλάση που υλοποιεί τράπουλα για παιχνίδια με χαρτιά'''
21+
symbols = "shcd" # οι κατηγορίες από φύλλα, spade,heart,club,diamonds
22+
values = "A23456789TJQK" # οι αξίες που μπορεί να έχουν τα φύλλα
23+
def __init__(self):
24+
self.content = [] # χαρτιά που βρίσκονται στην τράπουλα
25+
self.pile = [] # χαρτιά που έχουν μοιραστεί
26+
for s in Deck.symbols:
27+
for v in Deck.values:
28+
self.content.append(Card(v,s))
29+
def shuffle(self):
30+
random.shuffle(self.content)
31+
def draw(self):
32+
if len(self.content)< 1 : return 'empty deck'
33+
drawn_card = self.content.pop(0)
34+
self.pile.append(drawn_card)
35+
return drawn_card
36+
def collect(self):
37+
self.content += self.pile
38+
self.pile = []
39+
def __str__(self):
40+
s = ''
41+
cnt = 0 # μετρητής φύλλων για εκτύπωση, τυπώνουμε φύλλα σε σειρές των 13
42+
for i in self.content:
43+
s=s+str(i)+' '
44+
cnt += 1
45+
if cnt%13 == 0: s=s+'\n'
46+
if s[-1] != '\n': s += '\n'
47+
return s

0 commit comments

Comments
 (0)