Repository navigation
Expand file tree
/
Copy pathadamasmaca.py
More file actions
185 lines (158 loc) · 4.84 KB
/
Copy pathadamasmaca.py
File metadata and controls
185 lines (158 loc) · 4.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
import random
RESIMLER = ['''
+---+
| |
|
|
|
|
=========''', '''
+---+
| |
O |
|
|
|
=========''', '''
+---+
| |
O |
| |
|
|
=========''', '''
+---+
| |
O |
/| |
|
|
=========''', '''
+---+
| |
O |
/|\ |
|
|
=========''', '''
+---+
| |
O |
/|\ |
/ |
|
=========''', '''
+---+
| |
O |
/|\ |
/ \ |
|
=========''', '''
+----+
| |
[O |
/|\ |
/ \ |
|
==========''', '''
+----+
| |
[O] |
/|\ |
/ \ |
|
==========''']
kelimeler = {'Renkler':'kırmızı turuncu sarı yeşil mavi lacivert mor beyaz siyah \
kahverengi'.split(),
'Şekiller':'kare üçgen dörtgen daire elips beşgen altıgen yedigen \
sekizgen'.split(),
'Meyveler':'elma armut kiraz üzüm muz karpuz kavun çilek greyfurt \
portakal'.split(),
'Hayvanlar':'karınca porsuk yarasa ayı kunduz deve kedi istiridye kobra \
puma çakal karga geyik köpek ördek kartal gelincik tilki kurbağa keçi \
kaz şahin aslan kertenkele lama köstebek maymun geyik panda papağan \
güvercin tavşan koç gergedan köpekbalığı koyun yılan örümcek leylek \
kuğu kaplan kurbağa alabalık hindi kaplumbağa gelincik balina kurt \
zebra'.split()}
def rastgeleKelimeSeç(sözlük):
# Bu işlev kendisine geçilen sözlükten rastgele bir kelime seçer
# İlkönce rastgele bir anahtar seç
anahtar = random.choice(list(sözlük.keys()))
# Sonra listeden rastgele bir kelime seç
no = random.randint(0, len(sözlük[anahtar]) - 1)
return [sözlük[anahtar][no], anahtar]
def oyunTahtasınıGöster(RESIMLER, kullanılanHarfler, doğruHarfler, rastgeleKelime):
print(RESIMLER[len(kullanılanHarfler)])
print()
print('Kullanılan harfler:', end = ' ')
for harf in kullanılanHarfler:
print(harf, end = ' ')
print()
boşluklar = '_' * len(gizliKelime)
for i in range(len(gizliKelime)): # boşlukları doğru tahmin edilen harflerle yer değiştir
if gizliKelime[i] in doğruHarfler:
boşluklar = boşluklar[:i] + gizliKelime[i] + boşluklar[i + 1:]
for harf in boşluklar:
print(harf, end=' ')
print()
def harfIste(tahminEdilenHarfler):
# Kullanıcının girdiği harfi döndürür
while True:
print('Bir harf giriniz.')
tahmin = input()
tahmin = tahmin.lower()
if (len(tahmin) != 1):
print('Lütfen bir harf giriniz')
elif tahmin in tahminEdilenHarfler:
print('Zaten bu harfi kullanmıştınız. Tekrar deneyin')
elif tahmin not in 'abcçdefgğhıijklmnoöprsştuüvyzqwx':
print('Lütfen bir HARF girin')
else:
return tahmin
def tekrarOynamakİstiyor():
# Eğer kullanıcı tekrar oynamak istiyorsa bu işlev True döndürür aksi halde False döndürür
print('Tekrar oynamak istermisin? (evet hayır)')
return input().lower().startswith('e')
print('A D A M A S M A C A')
kullanılanHarfler = ''
doğruHarfler = ''
gizliKelime = rastgeleKelimeSeç(kelimeler)
gizliAnahtar = gizliKelime[1]
gizliKelime = gizliKelime[0]
oyunBitti = False
while True:
oyunTahtasınıGöster(RESIMLER, kullanılanHarfler, doğruHarfler, gizliKelime)
# Kullanıcıdan bir harf iste
tahmin = harfIste(kullanılanHarfler + doğruHarfler)
if tahmin in gizliKelime:
doğruHarfler = doğruHarfler + tahmin
# Oyuncu kazandı mı
tümHarfleriBildi = True
for i in range(len(gizliKelime)):
if gizliKelime[i] not in doğruHarfler:
tümHarfleriBildi = False
break
if tümHarfleriBildi:
print('Evet! Gizli kelime "' + gizliKelime + '" idi! Oyunu kazandınız!')
oyunBitti = True
else:
kullanılanHarfler = kullanılanHarfler + tahmin
# Oyuncu tüm haklarını kullanıp kaybetti mi
if len(kullanılanHarfler) == len(RESIMLER) - 1:
oyunTahtasınıGöster(RESIMLER, kullanılanHarfler, doğruHarfler, gizliKelime)
print('Oyunu kaybettiniz!\n')
print(str(len(doğruHarfler)) + ' harfi bildiniz ' + str(len(kullanılanHarfler)), end = ' ')
print('harfi bilemediniz. Kelime ' + gizliKelime + ' idi.')
oyunBitti = True
# Oyun bittiyse kullanıcıya tekrar oynamak isteyip istemediğini sor
if oyunBitti:
if tekrarOynamakİstiyor():
kullanılanHarfler = ''
doğruHarfler = ''
oyunBitti = False
gizliKelime = rastgeleKelimeSeç(kelimeler)
gizliAnahtar = gizliKelime[1]
gizliKelime = gizliKelime[0]
else:
break