Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import math
- plansza = []
- biali = ['W','S','G','H','K','G','S','W','O']
- czarni = ['w','s','g','h','k','g','s','w','o']
- def Board():
- litera = 'A'
- cyfra = 1
- for i in range (9):
- plansza.append([])
- for j in range(9):
- plansza[i].append('#')
- for i in range(1,9):
- plansza[0][i] = cyfra
- plansza[i][0] = litera
- litera = chr(ord(litera)+1)
- cyfra += 1
- def ShowBoard():
- os.system('clear')
- for i in range(9):
- print(*plansza[i], sep=' ')
- def Start():
- plansza[1][1] = 'W'
- plansza[1][8] = 'W'
- plansza[1][2] = 'S'
- plansza[1][7] = 'S'
- plansza[1][3] = 'G'
- plansza[1][6] = 'G'
- plansza[1][4] = 'H'
- plansza[1][5] = 'K'
- plansza[8][1] = 'w'
- plansza[8][8] = 'w'
- plansza[8][2] = 's'
- plansza[8][7] = 's'
- plansza[8][3] = 'g'
- plansza[8][6] = 'g'
- plansza[8][4] = 'h'
- plansza[8][5] = 'k'
- for i in range (1,9):
- plansza[2][i] = 'O'
- plansza[7][i] = 'o'
- Board()
- Start()
- ShowBoard()
- while True:
- ruch = input("Podaj swoj ruch: ")
- wiersz = {
- 'a': int(1),
- 'b': int(2),
- 'c': int(3),
- 'd': int(4),
- 'e': int(5),
- 'f': int(6),
- 'g': int(7),
- 'h': int(8)
- }
- ### PIERWSZY RUCH DUZEGO PIONKA, 1 LUB 2 POLA DO PRZODU ###
- if plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'O' and int(ruch[1]) == int(ruch[4]) and (wiersz[ruch[0]] == wiersz[ruch[3]]-1 or wiersz[ruch[0]] == wiersz[ruch[3]]-2) and wiersz[ruch[0]] == 2 and plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#':
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
- ShowBoard()
- ### PIERWSZY RUCH MALEGO PIONKA, 1 LUB 2 POLA DO PRZODU ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'o' and int(ruch[1]) == int(ruch[4]) and (wiersz[ruch[0]] == wiersz[ruch[3]]+1 or wiersz[ruch[0]] == wiersz[ruch[3]]+2) and wiersz[ruch[0]] == 7 and plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#':
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
- ShowBoard()
- ### RUCH DO PRZODU DUZEGO PIONKA ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'O' and int(ruch[1]) == int(ruch[4]) and wiersz[ruch[0]] == wiersz[ruch[3]] - 1 and plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#':
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
- ShowBoard()
- ### RUCH DO PRZODU MALEGO PIONKA ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'o' and int(ruch[1]) == int(ruch[4]) and wiersz[ruch[0]] == wiersz[ruch[3]] + 1 and plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#':
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
- ShowBoard()
- ### DUZY PIONEK BIJE MALEGO ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'O' and wiersz[ruch[0]] == wiersz[ruch[3]] - 1 and (int(ruch[1]) == int(ruch[4]) + 1 or int(ruch[1]) == int(ruch[4]) - 1) and plansza[int(wiersz[ruch[3]])][int(ruch[4])] in czarni:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
- ShowBoard()
- ### MALY PIONEK BIJE CZARNEGO ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'o' and wiersz[ruch[0]] == wiersz[ruch[3]] + 1 and (int(ruch[1]) == int(ruch[4]) + 1 or int(ruch[1]) == int(ruch[4]) - 1) and plansza[int(wiersz[ruch[3]])][int(ruch[4])] in biali:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
- ShowBoard()
- ### RUCH I BICIE DUZEJ WIEZY ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'W' and (wiersz[ruch[0]] == wiersz[ruch[3]] or int(ruch[1]) == int(ruch[4])) and (plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#' or plansza[int(wiersz[ruch[3]])][int(ruch[4])] in czarni):
- counter = 0
- if wiersz[ruch[0]] == wiersz[ruch[3]]:#dla tego samego wiersza
- if int(ruch[1]) > int(ruch[4]): #w lewo
- if int(ruch[1]) == int(ruch[4]) + 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
- ShowBoard()
- else:
- for i in range(int(ruch[1])-1, int(ruch[4]), -1):
- print("1")
- if plansza[int(wiersz[ruch[0]])][i] == '#':
- counter = counter + 1
- print("2")
- if counter == int(ruch[1]) - int(ruch[4]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
- ShowBoard()
- counter = 0
- elif int(ruch[1]) < int(ruch[4]): #w prawo
- for i in range (int(ruch[1]) + 1, int(ruch[4])):
- if plansza[int(wiersz[ruch[0]])][i] == '#':
- counter = counter + 1
- if counter == int(ruch[4]) - int(ruch[1]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
- ShowBoard()
- counter = 0
- elif int(ruch[1]) == int(ruch[4]): #dla tej samej kolumny
- if int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): #do gory
- for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]]), -1):
- if plansza[i][int(ruch[1])] == '#':
- counter = counter + 1
- if counter == int(wiersz[ruch[0]]) - int(wiersz[ruch[3]]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
- ShowBoard()
- counter = 0
- elif int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): #do dolu
- for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]])):
- if plansza[i][int(ruch[1])] == '#':
- counter = counter + 1
- if counter == int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
- ShowBoard()
- counter = 0
- ### RUCH I BICIE MALEJ WIEZY ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'w' and (wiersz[ruch[0]] == wiersz[ruch[3]] or int(ruch[1]) == int(ruch[4])) and (plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#' or plansza[int(wiersz[ruch[3]])][int(ruch[4])] in biali):
- counter = 0
- if wiersz[ruch[0]] == wiersz[ruch[3]]:#dla tego samego wiersza
- if int(ruch[1]) > int(ruch[4]): #w lewo
- if int(ruch[1]) == int(ruch[4]) + 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
- ShowBoard()
- else:
- for i in range(int(ruch[1])-1, int(ruch[4]), -1):
- if plansza[int(wiersz[ruch[0]])][i] == '#':
- counter = counter + 1
- if counter == int(ruch[1]) - int(ruch[4]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
- ShowBoard()
- counter = 0
- elif int(ruch[1]) < int(ruch[4]): #w prawo
- for i in range (int(ruch[1]) + 1, int(ruch[4])):
- if plansza[int(wiersz[ruch[0]])][i] == '#':
- counter = counter + 1
- if counter == int(ruch[4]) - int(ruch[1]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
- ShowBoard()
- counter = 0
- elif int(ruch[1]) == int(ruch[4]): #dla tej samej kolumny
- if int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): #do gory
- for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]]), -1):
- if plansza[i][int(ruch[1])] == '#':
- counter = counter + 1
- if counter == int(wiersz[ruch[0]]) - int(wiersz[ruch[3]]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
- ShowBoard()
- counter = 0
- elif int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): #do dolu
- for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]])):
- if plansza[i][int(ruch[1])] == '#':
- counter = counter + 1
- if counter == int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
- ShowBoard()
- counter = 0
- ### RUCH I BICIE DUZEGO SKOCZKA ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 'S' and math.fabs(int(ruch[4])-int(ruch[1])) == math.fabs(int(wiersz[ruch[3]]) - int(wiersz[ruch[0]])) and (plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#' or plansza[int(wiersz[ruch[3]])][int(ruch[4])] in czarni):
- counter = 0
- if int(ruch[1]) < int(ruch[4]): # w prawo
- for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
- if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # prawo dol
- if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) + i] == '#':
- counter += 1
- elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # prawo gora
- if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) + i] == '#':
- counter += 1
- elif int(ruch[1]) > int(ruch[4]): # w lewo
- for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
- if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # lewo dol
- if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) - i] == '#':
- counter += 1
- elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # lewo gora
- if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) - i] == '#':
- counter += 1
- if counter == int(math.fabs(int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]))) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'S'
- ShowBoard()
- ### RUCH I BICIE MALEGO SKOCZKA ###
- elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 's' and math.fabs(int(ruch[4]) - int(ruch[1])) == math.fabs(
- int(wiersz[ruch[3]]) - int(wiersz[ruch[0]])) and (
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#' or plansza[int(wiersz[ruch[3]])][
- int(ruch[4])] in biali):
- counter = 0
- if int(ruch[1]) < int(ruch[4]): # w prawo
- for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
- if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # prawo dol
- if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) + i] == '#':
- counter += 1
- elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # prawo gora
- if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) + i] == '#':
- counter += 1
- elif int(ruch[1]) > int(ruch[4]): # w lewo
- for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
- if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # lewo dol
- if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) - i] == '#':
- counter += 1
- elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # lewo gora
- if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) - i] == '#':
- counter += 1
- if counter == int(math.fabs(int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]))) - 1:
- plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
- plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 's'
- ShowBoard()
- else:
- print("Nieprawidlowy ruch")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement