Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 12.98 KB | None | 0 0
  1. import os
  2. import math
  3.  
  4. plansza = []
  5. biali = ['W','S','G','H','K','G','S','W','O']
  6. czarni = ['w','s','g','h','k','g','s','w','o']
  7.  
  8. def Board():
  9.     litera = 'A'
  10.     cyfra = 1
  11.     for i in range (9):
  12.         plansza.append([])
  13.         for j in range(9):
  14.             plansza[i].append('#')
  15.     for i in range(1,9):
  16.         plansza[0][i] = cyfra
  17.         plansza[i][0] = litera
  18.         litera = chr(ord(litera)+1)
  19.         cyfra += 1
  20.  
  21. def ShowBoard():
  22.     os.system('clear')
  23.     for i in range(9):
  24.         print(*plansza[i], sep=' ')
  25.  
  26. def Start():
  27.     plansza[1][1] = 'W'
  28.     plansza[1][8] = 'W'
  29.     plansza[1][2] = 'S'
  30.     plansza[1][7] = 'S'
  31.     plansza[1][3] = 'G'
  32.     plansza[1][6] = 'G'
  33.     plansza[1][4] = 'H'
  34.     plansza[1][5] = 'K'
  35.     plansza[8][1] = 'w'
  36.     plansza[8][8] = 'w'
  37.     plansza[8][2] = 's'
  38.     plansza[8][7] = 's'
  39.     plansza[8][3] = 'g'
  40.     plansza[8][6] = 'g'
  41.     plansza[8][4] = 'h'
  42.     plansza[8][5] = 'k'
  43.     for i in range (1,9):
  44.         plansza[2][i] = 'O'
  45.         plansza[7][i] = 'o'
  46.  
  47.  
  48. Board()
  49. Start()
  50. ShowBoard()
  51.  
  52.  
  53. while True:
  54.     ruch = input("Podaj swoj ruch: ")
  55.  
  56.     wiersz = {
  57.         'a': int(1),
  58.         'b': int(2),
  59.         'c': int(3),
  60.         'd': int(4),
  61.         'e': int(5),
  62.         'f': int(6),
  63.         'g': int(7),
  64.         'h': int(8)
  65.     }
  66.  
  67.     ### PIERWSZY RUCH DUZEGO PIONKA, 1 LUB 2 POLA DO PRZODU ###
  68.     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])] == '#':
  69.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  70.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
  71.         ShowBoard()
  72.  
  73.  
  74.      
  75.      ### PIERWSZY RUCH MALEGO PIONKA, 1 LUB 2 POLA DO PRZODU ###
  76.     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])] == '#':
  77.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  78.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
  79.         ShowBoard()
  80.  
  81.     ### RUCH DO PRZODU DUZEGO PIONKA ###
  82.     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])] == '#':
  83.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  84.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
  85.         ShowBoard()
  86.  
  87.     ### RUCH DO PRZODU MALEGO PIONKA ###
  88.     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])] == '#':
  89.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  90.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
  91.         ShowBoard()
  92.  
  93.  
  94.     ### DUZY PIONEK BIJE MALEGO ###
  95.     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:
  96.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  97.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'O'
  98.         ShowBoard()
  99.  
  100.     ### MALY PIONEK BIJE CZARNEGO ###
  101.     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:
  102.         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  103.         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'o'
  104.         ShowBoard()
  105.  
  106.     ### RUCH I BICIE DUZEJ WIEZY ###
  107.     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):
  108.         counter = 0
  109.         if wiersz[ruch[0]] == wiersz[ruch[3]]:#dla tego samego wiersza
  110.             if int(ruch[1]) > int(ruch[4]): #w lewo
  111.                 if int(ruch[1]) == int(ruch[4]) + 1:
  112.                     plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  113.                     plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
  114.                     ShowBoard()
  115.                 else:
  116.                     for i in range(int(ruch[1])-1, int(ruch[4]), -1):
  117.                         print("1")
  118.                         if plansza[int(wiersz[ruch[0]])][i] == '#':
  119.                             counter = counter + 1
  120.                             print("2")
  121.                             if counter == int(ruch[1]) - int(ruch[4]) - 1:
  122.                                 plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  123.                                 plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
  124.                                 ShowBoard()
  125.                                 counter = 0
  126.  
  127.             elif int(ruch[1]) < int(ruch[4]): #w prawo
  128.                 for i in range (int(ruch[1]) + 1, int(ruch[4])):
  129.                     if plansza[int(wiersz[ruch[0]])][i] == '#':
  130.                         counter = counter + 1
  131.                         if counter == int(ruch[4]) - int(ruch[1]) - 1:
  132.                             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  133.                             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
  134.                             ShowBoard()
  135.                             counter = 0
  136.  
  137.         elif int(ruch[1]) == int(ruch[4]): #dla tej samej kolumny
  138.             if int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): #do gory
  139.                 for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]]), -1):
  140.                     if plansza[i][int(ruch[1])] == '#':
  141.                         counter = counter + 1
  142.                         if counter == int(wiersz[ruch[0]]) - int(wiersz[ruch[3]]) - 1:
  143.                             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  144.                             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
  145.                             ShowBoard()
  146.                             counter = 0
  147.  
  148.             elif int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): #do dolu
  149.                 for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]])):
  150.                     if plansza[i][int(ruch[1])] == '#':
  151.                         counter = counter + 1
  152.                     if counter == int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]) - 1:
  153.                         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  154.                         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'W'
  155.                         ShowBoard()
  156.                         counter = 0
  157.  
  158.  
  159.     ### RUCH I BICIE MALEJ WIEZY ###
  160.     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):
  161.         counter = 0
  162.         if wiersz[ruch[0]] == wiersz[ruch[3]]:#dla tego samego wiersza
  163.             if int(ruch[1]) > int(ruch[4]): #w lewo
  164.                 if int(ruch[1]) == int(ruch[4]) + 1:
  165.                     plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  166.                     plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
  167.                     ShowBoard()
  168.                 else:
  169.                     for i in range(int(ruch[1])-1, int(ruch[4]), -1):
  170.                         if plansza[int(wiersz[ruch[0]])][i] == '#':
  171.                             counter = counter + 1
  172.                             if counter == int(ruch[1]) - int(ruch[4]) - 1:
  173.                                 plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  174.                                 plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
  175.                                 ShowBoard()
  176.                                 counter = 0
  177.  
  178.             elif int(ruch[1]) < int(ruch[4]): #w prawo
  179.                 for i in range (int(ruch[1]) + 1, int(ruch[4])):
  180.                     if plansza[int(wiersz[ruch[0]])][i] == '#':
  181.                         counter = counter + 1
  182.                         if counter == int(ruch[4]) - int(ruch[1]) - 1:
  183.                             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  184.                             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
  185.                             ShowBoard()
  186.                             counter = 0
  187.  
  188.         elif int(ruch[1]) == int(ruch[4]): #dla tej samej kolumny
  189.             if int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): #do gory
  190.                 for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]]), -1):
  191.                     if plansza[i][int(ruch[1])] == '#':
  192.                         counter = counter + 1
  193.                         if counter == int(wiersz[ruch[0]]) - int(wiersz[ruch[3]]) - 1:
  194.                             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  195.                             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
  196.                             ShowBoard()
  197.                             counter = 0
  198.  
  199.             elif int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): #do dolu
  200.                 for i in range(int(wiersz[ruch[0]]), int(wiersz[ruch[3]])):
  201.                     if plansza[i][int(ruch[1])] == '#':
  202.                         counter = counter + 1
  203.                     if counter == int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]) - 1:
  204.                         plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  205.                         plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'w'
  206.                         ShowBoard()
  207.                         counter = 0
  208.  
  209.  
  210.  
  211.     ### RUCH I BICIE DUZEGO SKOCZKA ###
  212.     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):
  213.         counter = 0
  214.         if int(ruch[1]) < int(ruch[4]):  # w prawo
  215.             for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
  216.                 if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # prawo dol
  217.                     if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) + i] == '#':
  218.                         counter += 1
  219.                 elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # prawo gora
  220.                     if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) + i] == '#':
  221.                         counter += 1
  222.         elif int(ruch[1]) > int(ruch[4]):  # w lewo
  223.             for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
  224.                 if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]): # lewo dol
  225.                     if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) - i] == '#':
  226.                         counter += 1
  227.                 elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]): # lewo gora
  228.                     if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) - i] == '#':
  229.                         counter += 1
  230.  
  231.         if counter == int(math.fabs(int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]))) - 1:
  232.             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  233.             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 'S'
  234.             ShowBoard()
  235.  
  236.  
  237.     ### RUCH I BICIE MALEGO SKOCZKA ###
  238.     elif plansza[int(wiersz[ruch[0]])][int(ruch[1])] == 's' and math.fabs(int(ruch[4]) - int(ruch[1])) == math.fabs(
  239.             int(wiersz[ruch[3]]) - int(wiersz[ruch[0]])) and (
  240.             plansza[int(wiersz[ruch[3]])][int(ruch[4])] == '#' or plansza[int(wiersz[ruch[3]])][
  241.         int(ruch[4])] in biali):
  242.         counter = 0
  243.         if int(ruch[1]) < int(ruch[4]):  # w prawo
  244.             for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
  245.                 if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]):  # prawo dol
  246.                     if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) + i] == '#':
  247.                         counter += 1
  248.                 elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]):  # prawo gora
  249.                     if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) + i] == '#':
  250.                         counter += 1
  251.         elif int(ruch[1]) > int(ruch[4]):  # w lewo
  252.             for i in range(0, int(math.fabs(int(ruch[4]) - int(ruch[1])))):
  253.                 if int(wiersz[ruch[0]]) < int(wiersz[ruch[3]]):  # lewo dol
  254.                     if plansza[int(wiersz[ruch[0]]) + i][int(ruch[1]) - i] == '#':
  255.                         counter += 1
  256.                 elif int(wiersz[ruch[0]]) > int(wiersz[ruch[3]]):  # lewo gora
  257.                     if plansza[int(wiersz[ruch[0]]) - i][int(ruch[1]) - i] == '#':
  258.                         counter += 1
  259.  
  260.         if counter == int(math.fabs(int(wiersz[ruch[3]]) - int(wiersz[ruch[0]]))) - 1:
  261.             plansza[int(wiersz[ruch[0]])][int(ruch[1])] = '#'
  262.             plansza[int(wiersz[ruch[3]])][int(ruch[4])] = 's'
  263.             ShowBoard()
  264.  
  265.  
  266.  
  267.  
  268.  
  269.     else:
  270.         print("Nieprawidlowy ruch")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement