#Matrisi tanımlama oyun_tahta =[['x','x','x','x','x','x','x','x','x','x','x','x'], ['x',' ',' ',' ',' ','x',' ',' ',' ',' ',' ','x'], ['x',' ','P',' ',' ','x',' ',' ',' ',' ',' ','x'], ['x',' ','x',' ',' ',' ',' ',' ',' ','x',' ','x'], ['x',' ','x',' ',' ','x',' ',' ',' ','x',' ','x'], ['x',' ',' ',' ',' ','x','x',' ',' ',' ',' ','x'], ['x',' ',' ',' ',' ',' ',' ',' ',' ',' ','Ç','x'], ['x',' ',' ',' ',' ',' ',' ','x',' ',' ',' ','x'], ['x',' ',' ',' ',' ',' ',' ','x',' ',' ',' ','x'], ['x',' ','x','x','x',' ',' ','x','x',' ',' ','x'], ['x',' ',' ',' ',' ',' ',' ','H',' ',' ',' ','x'], ['x','x','x','x','x','x','x','x','x','x','x','x']] #her aşamada ekrana matrisi bastırmak için yazılan fonksiyon def tahta(t): for i in range(12): print(t[i]) return None tahta(oyun_tahta) hirsiz = [10,7] # Hırsızın bulunduğu nokta polis = [2,2] # Polisin bulunduğu nokta # çıkış noktası = [6][10] # Yukarı = 8 Aşağı = 2 # Sola = 4 Sağa = 6 oyun_sirasi = 1 #oyun sırasının tanımı.1 ise hırsız 2 ise polis oynar. while ( ( oyun_tahta[hirsiz[0]][hirsiz[1]] != oyun_tahta[6][10] ) and ( oyun_tahta[polis[0]][polis[1]] != oyun_tahta[6][10] ) ) : #hırsızın çıkış noktasına gelip gelmediğini kontrol edilir. if oyun_sirasi == 1 : #hırsızın oyun sırasıysa bu if bloğunun içine girer. print("-Hamle sırası: oyuncu1 (Hırsız)-") oyun_secim = int(input("Gidilecek yönü seçiniz: (8-yukarı, 2-aşapı, 4-sola, 6-sağa)")) #kullanıcıdan hareket için tuş girişi istenir. if oyun_secim == 8 : #Yukarı if (oyun_tahta[hirsiz[0]-1][hirsiz[1]] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[hirsiz[0]-1][hirsiz[1]] = "H" #'H', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[hirsiz[0]][hirsiz[1]] = " " hirsiz[0] -= 1 hirsiz[1] = hirsiz[1] elif (oyun_tahta[hirsiz[0]-1][hirsiz[1]] == "Ç"): #Hırsız çıkış noktasının koordinatlarına ulaşırsa oyunu kazandın mesajı ekrana bastırılır. print("Hırsız oyunu kazandı!") break else : #Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. print("Buraya gidemessiniz") elif oyun_secim == 2 : # Aşağı if (oyun_tahta[hirsiz[0]+1][hirsiz[1]] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[hirsiz[0]+1][hirsiz[1]] = "H" #'H', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[hirsiz[0]][hirsiz[1]] = " " hirsiz[0] += 1 hirsiz[1] = hirsiz[1] elif (oyun_tahta[hirsiz[0]+1][hirsiz[1]] == "Ç"): #Hırsız çıkış noktasının koordinatlarına ulaşırsa oyunu kazandın mesajı ekrana bastırılır. print("Hırsız oyunu kazandı!") break else : #Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. print("Buraya gidemezsiniz") elif oyun_secim == 4 : #Sola if (oyun_tahta[hirsiz[0]][hirsiz[1]-1] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[hirsiz[0]][hirsiz[1]-1] = "H" #'H', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[hirsiz[0]][hirsiz[1]] = " " hirsiz[0] = hirsiz[0] hirsiz[1] -= 1 elif (oyun_tahta[hirsiz[0]][hirsiz[1]-1] == "Ç"): #Hırsız çıkış noktasının koordinatlarına ulaşırsa oyunu kazandın mesajı ekrana bastırılır. print("Hırsız oyunu kazandı!") break else : print("Buraya gidemezsiniz") #Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. elif oyun_secim == 6 : #Sağa if (oyun_tahta[hirsiz[0]][hirsiz[1]+1] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[hirsiz[0]][hirsiz[1]+1] = "H" #'H', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[hirsiz[0]][hirsiz[1]] = " " hirsiz[0] = hirsiz[0] hirsiz[1] += 1 elif(oyun_tahta[hirsiz[0]][hirsiz[1]+1] == "Ç"):#Hırsız çıkış noktasının koordinatlarına ulaşırsa oyunu kazandın mesajı ekrana bastırılır. print("Hırsız oyunu kaa-zandı!") break else : print("Buraya gidemezsiniz")#Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. oyun_sirasi = 2 #Hırsız hareket ettikten sonra oyun sırası polise geçer tahta(oyun_tahta) #hareketten sonra ekrana matris bastırılır print("-"*50) elif oyun_sirasi == 2 :#polisin oyun sırasıysa bu if bloğunun içine girer. """Oyuncu2 (Polis)""" print("-Hamle sırası: oyuncu2 (Polis)-") oyun_secim = int(input("Gidilecek yönü seçiniz: (8-yukarı, 2-aşapı, 4-sola, 6-sağa)")) if oyun_secim == 8 : #Yukarı if (oyun_tahta[polis[0]-1][polis[1]] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[polis[0]-1][polis[1]] = "P" #'P', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[polis[0]][polis[1]] = " " polis[0] -= 1 polis[1] = polis[1] elif (oyun_tahta[polis[0]-1][polis[1]] == "H"): print("Polis hırsızı yakaladı!") #polisin hareket ettiği nokta H ise hırsızı yakalamış demektir ve oyun biter. break else : print("Buraya gidemessiniz")#Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. elif oyun_secim == 2 : # Aşağı if (oyun_tahta[polis[0]+1][polis[1]] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[polis[0]+1][polis[1]] = "P" #'P', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[polis[0]][polis[1]] = " " polis[0] += 1 polis[1] = polis[1] elif (oyun_tahta[polis[0]+1][polis[1]] == "H"):#polisin hareket ettiği nokta H ise hırsızı yakalamış demektir ve oyun biter. print("Polis hırsızı yakaladı!") break else : print("Buraya gidemezsiniz")#Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. elif oyun_secim == 4 : #Sola if (oyun_tahta[polis[0]][polis[1]-1] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[polis[0]][polis[1]-1] = "P" #'P', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[polis[0]][polis[1]] = " " polis[0] = polis[0] polis[1] -= 1 elif (oyun_tahta[polis[0]][polis[1]-1] == "H"):#polisin hareket ettiği nokta H ise hırsızı yakalamış demektir ve oyun biter. print("Polis hırsızı yakaladı!") break else : print("Buraya gidemezsiniz")#Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. elif oyun_secim == 6 : #Sağa if (oyun_tahta[polis[0]][polis[1]+1] == " ") :#Bu if bloğunun içinde ise hareket ettiği koordinat oyun_tahta[polis[0]][polis[1]+1] = "P" #'P', bir önceki koordinatı ise ' ' (boşluk) olarak değiştirilir. Gideceği noktanın boş olması koşuluna bakılır. oyun_tahta[polis[0]][polis[1]] = " " polis[0] = polis[0] polis[1] += 1 elif(oyun_tahta[polis[0]][polis[1]+1] == "H"):#polisin hareket ettiği nokta H ise hırsızı yakalamış demektir ve oyun biter. print("Polis hırsızı yakaladı!") break else : print("Buraya gidemezsiniz")#Gideceği noktanın boş olmamasına karşın uyarı mesajı bastırılır. oyun_sirasi = 1 #polis hareket ettikten sonra oyun sırası hırsıza geçer tahta(oyun_tahta) #hareketten sonra ekrana matris bastırılır print("-"*50)