Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Horizontaal: a, x, letters, [1]
- #verticaal: b, y, cijfers, [0]
- import time
- import replit
- import random
- replit.clear()
- #creeer een bord
- bord = [
- [" A B C D E F G H \n"],
- ['1','___','___','___','___','___','___','___','___', '\n'],
- ['2','___','___','___','___','___','___','___','___', '\n'],
- ['3','___','___','___','___','___','___','___','___', '\n'],
- ['4','___','___','___','___','___','___','___','___', '\n'],
- ['5','___','___','___','___','___','___','___','___', '\n'],
- ['6','___','___','___','___','___','___','___','___', '\n'],
- ['7','___','___','___','___','___','___','___','___', '\n'],
- ['8','___','___','___','___','___','___','___','___', '\n']
- ]
- letters = ['','A','B','C','D','E','F','G','H']
- #print het bord zonder komma's
- def PrintBord():
- for i in bord:
- print(' '.join(i))
- #stukken in startpositie zetten
- def Startpositie():
- #Pionnen neerzetten
- for i in range (8):
- bord[2][i + 1] = z_symbolen[5]
- bord[7][i + 1] = w_symbolen[5]
- #Torens neerzetten
- bord[1][1], bord[1][8] = z_symbolen[2], z_symbolen[2]
- bord[8][1], bord[8][8] = w_symbolen[2], w_symbolen[2]
- #Koning neerzetten
- bord[1][5], bord[1][4] = z_symbolen[0], z_symbolen[0]
- bord[8][5], bord[8][4] = w_symbolen[0], w_symbolen[0]
- #het bijhouden van hoeveel koningen er in het spel zijn
- def tel_koningen():
- k = 0
- koningen = 0
- for i in bord:
- if(w_symbolen[0] in bord[k] or z_symbolen[0] in bord[k]):
- koningen += 1
- k += 1
- return koningen
- #het selecteren van een stuk en het controleren op fouten hierin
- #ook moeten de functies van de stukken worden uitgevoerd
- def Beurt():
- global y
- global x
- global speler
- global stuk
- #beurt geven aan speler wit
- print(speler, 'is aan de beurt.')
- #checken of het gekozen stuk wel op het bord staat
- valide = 0
- while(valide == 0):
- #opbreken van bv 2A naar ['2','A']
- keuze = input('Welk stuk wilt u verzetten? ')
- s = keuze[1].upper()
- keuze = keuze[0]+s
- print(keuze)
- #definieer plek van stuk
- #coördinaten van een stuk zijn bv 2A. 2 Zorgt dan voor rij nr. 2 in bord
- #index A in letters geeft x coördinaat
- try:
- y = int(keuze[0])
- x = int(letters.index(keuze[1]))
- except ValueError:
- y,x = 0,0
- stuk = bord[y][x]
- #speler alleen stukken van zijn kleur laten pakken
- #definieer naam van gekozen stuk
- if(speler == 'Wit'):
- if(stuk in w_symbolen):
- valide = 1
- else:
- print('Hier staat geen stuk van jou!')
- else:
- if(stuk in z_symbolen):
- valide = 1
- else:
- print('Hier staat geen stuk van jou!')
- #definieer de naam van het gekozen stuk
- try:
- naam = namen[w_symbolen.index(stuk)]
- except ValueError:
- naam = namen[z_symbolen.index(stuk)]
- print('Dit is een',naam+'!',stuk)
- if(naam == 'toren'):
- Toren()
- elif(naam == 'pion'):
- Pion()
- elif(naam == 'koning'):
- Koning()
- #functie om de toren te verzetten
- def Toren():
- if(speler == "Wit"):
- symbolen = w_symbolen
- elif(speler == "Zwart"):
- symbolen = z_symbolen
- global bestemming
- bestemming = list(input('Naar welk vakje wilt u? '))
- correct = False
- global x_co
- global y_co
- bestemming[1] = bestemming[1].upper()
- x_co = int(letters.index(bestemming[1]))
- y_co = int(bestemming[0])
- keuze_x = x_co
- keuze_y = y_co
- variabelen = False
- while(correct == False):
- #Verticaal
- if(y != int(bestemming[0])):
- if(x == x_co):
- correct = True
- As = 'y'
- break
- #Horizontaal
- elif(x != x_co):
- if(y == int(bestemming[0])):
- correct = True
- As = 'x'
- break
- bestemming = list(input('Dit is geen geldige zet, beweeg alleen over 1 as. '))
- correct = False
- while(correct == False):
- #controleren of er iets tussen staat
- #Horizontaal
- if(As == 'x'):
- if(x_co < x):
- while(x_co < x):
- if(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] not in symbolen):
- variabelen = True
- if(bord[y][x_co] == '___'):
- x_co += 1
- if(x_co == x):
- correct = True
- elif(variabelen == True and x_co == int(letters.index(bestemming[1]))):
- x_co += 1
- if(x_co == x):
- correct = True
- elif(variabelen != True):
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- if(x_co > x):
- while(x_co > x):
- if(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] not in symbolen):
- variabelen = True
- if(bord[y][x_co] == '___'):
- x_co -= 1
- if(x_co == x):
- correct = True
- elif(variabelen == True and x_co == int(letters.index(bestemming[1]))):
- x_co -= 1
- if(x_co == x):
- correct = True
- elif(variabelen != True):
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- elif(As == 'y'):
- if(y_co < y):
- if(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] not in symbolen):
- variabelen = True
- while(y_co < y):
- if(bord[y_co][x] == '___'):
- y_co += 1
- if(y_co == y):
- correct = True
- elif(variabelen == True and y_co == int(bestemming[0])):
- y_co += 1
- if(y_co == y):
- correct = True
- elif(variabelen != True):
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- if(y_co > y):
- while(y_co > y):
- if(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] not in symbolen):
- variabelen = True
- if(bord[y_co][x] == '___'):
- y_co -= 1
- if(y_co == y):
- correct = True
- elif(variabelen == True and y_co == int(bestemming[0])):
- y_co -= 1
- if(y_co == y):
- correct = True
- elif(variabelen != True):
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- elif(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] in symbolen):
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- correct = False
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- else:
- if(bord[y_co][x_co] in symbolen):
- zet = int(input("Dit is geen geldige zet, je probeert je eigen stuk te slaan. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- elif(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] in symbolen):
- zet = int(input("Dit is geen geldige zet, er staat een stuk in de weg. Kies een andere zet (1) of kies een ander stuk (2)."))
- if(zet == 1):
- correct = False
- bestemming = list(input('Naar welk vakje wilt u? '))
- elif(zet == 2):
- Beurt()
- #nieuwe positie printen
- bord[keuze_y][keuze_x] = stuk
- bord[y][x] = '___'
- #functie om de pion te verzetten
- def Pion():
- #de pion mag twee stappen zetten als hij op de beginpositie staat
- #bepalen wat de beginpositie moet zijn
- if(speler == "Wit"):
- y_waarde = 7
- elif(speler == "Zwart"):
- y_waarde = 2
- zet = int(input("Wil je vooruit (1) of wil je slaan(2)"))
- if(zet == 1):
- #zet
- keuze_y = 1
- if(y == y_waarde):
- #aantal stappen vragen
- keuze_y = int(input('Wilt u 1 of 2 stappen naar voren? '))
- #controleer of veld bezet iets
- if(speler == 'Wit'):
- bestemming = bord[y - keuze_y][x]
- elif(speler == 'Zwart'):
- bestemming = bord[y + keuze_y][x]
- if( y == y_waarde):
- if(bestemming != '___'):
- Beurt()
- else:
- if(bestemming != '___'):
- fout = int(input("Dit is geen goede zet, kies een ander stuk of sla een stuk. Kies 1 voor: Een ander stuk kiezen, kies 2 voor: Een stuk slaan."))
- while(fout not in range(1, 3)):
- fout = int(input("Kies het getal 1 of 2"))
- if(fout == 1):
- Beurt()
- while(keuze_y not in range(1,3)):
- print(keuze_y)
- keuze_y = int(input('Dit mag niet! Kies een stap tussen 1 en 2: '))
- #controleren of hij op de beginpositie staat
- if(y != y_waarde):
- keuze_y = 1
- #nieuwe positie printen
- if(speler == 'Wit'):
- new_y = y - keuze_y
- else:
- new_y = y + keuze_y
- bord[new_y][x] = stuk
- bord[y][x] = '___'
- elif(zet == 2):
- #slaan
- slabestemming = list(input('Welk stuk wilt u slaan?'))
- x_slastuk = int(letters.index(slabestemming[1]))
- y_slastuk = int(slabestemming[0])
- slastuk = bord[y_slastuk][x_slastuk]
- if(speler == 'Wit'):
- symbool = z_symbolen
- newwy = y - 1
- else:
- symbool = w_symbolen
- newwy = y + 1
- if(bord[y_slastuk][x_slastuk] in symbool):
- if(slastuk == bord[newwy][x -1] or slastuk == bord[newwy][x +1]):
- print('Dit stuk kun je slaan!', slastuk)
- bord[y][x] = '___'
- bord[y_slastuk][x_slastuk] = stuk
- else:
- print('Dit is geen geldige slag!')
- Beurt()
- else:
- print('Dit is geen wit stuk!')
- print(y_slastuk,x_slastuk)
- Beurt()
- #functie om de koning te verzetten
- def Koning():
- x_verschil = 0
- y_verschil = 0
- if(speler == "Wit"):
- symbolen = w_symbolen
- elif(speler == "Zwart"):
- symbolen = z_symbolen
- bestemming = input("Waar wil je heen?")
- x_verschil = x - int(letters.index(bestemming[1]))
- y_verschil = y - int(bestemming[0])
- while(x_verschil > 1 or x_verschil < -1):
- bestemming = input("Verplaats maar 1 vakje. ")
- while(y_verschil > 1 or y_verschil < -1):
- bestemming = input("Verplaats maar 1 vakje. ")
- while(x_verschil == y_verschil == 0):
- bestemming = input("Je mag niet blijven staan... ")
- while(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] != '___'):
- if(bord[int(bestemming[0])][int(letters.index(bestemming[1]))] in symbolen):
- bestemming = input("Hier staat al een stuk, kies iets anders. ")
- bord[y][x] = '___'
- bord[int(bestemming[0])][int(letters.index(bestemming[1]))] = symbolen[0]
- #functies for het slaan met stukken
- global geslagen
- geslagen = 0
- def PionSlaan():
- global geslagen
- geslagen = 0
- while(geslagen == 0):
- if(bord[a + 1][b + 1] != '___' and bord[a + 1][b + 1] in w_symbolen):
- new_a = a + 1
- new_b = b + 1
- bord[a][b] = '___'
- bord[new_a][new_b] = '\033[31m ♟ \033[00m'
- geslagen = 1
- elif(bord[a + 1][b - 1] != '___' and bord[a + 1][b - 1] in w_symbolen):
- new_a = a + 1
- new_b = b - 1
- bord[a][b] = '___'
- bord[new_a][new_b] = '\033[31m ♟ \033[00m'
- geslagen = 1
- else:
- geslagen = 2
- def TorenSlaan():
- time.sleep(0.1)
- global geslagen
- a_co = 1
- b_co = 1
- leeg = 0
- for i in range (7):
- if(bord[a_co][b] == '___' and [a_co, b] != [a, b]):
- leeg = leeg
- elif(bord[a_co][b] != '___' and [a_co, b] != [a, b]):
- leeg += 1
- elif(bord[a_co][b] in w_symbolen and geslagen != 1 and leeg == 0):
- bord[a_co][b] = '\033[31m ♜ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- a_co += 1
- leeg = 0
- for i in range (7):
- if(bord[a][b_co] == '___' and [a, b_co] != [a, b]):
- leeg = leeg
- elif(bord[a][b_co] != '___' and [a, b_co] != [a, b]):
- leeg += 1
- elif(bord[a][b_co] in w_symbolen and geslagen != 1):
- time.sleep(5)
- bord[a][b_co] = '\033[31m ♜ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- b_co += 1
- def KoningSlaan():
- global geslagen
- if(a != 1 and a != 8):
- #center
- if(b != 1 and b != 8):
- if(bord[a - 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b -1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #rechtsmidden
- elif(b == 8):
- if(bord[a - 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #linksmidden
- elif(b == 1):
- if(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #onder
- elif(a == 8):
- #middenonder
- if(b != 1 and b != 8):
- if(bord[a - 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #rechtsonder
- elif(b == 8):
- if(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #linksonder
- elif(b == 1):
- if(bord[a - 1][b] in w_symbolen and geslagen != 1):
- bord[a - 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a - 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a - 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #boven
- elif(a == 1):
- #middenboven
- if(b != 1 and b != 8):
- if(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #rechtsboven
- elif(b == 8):
- if(bord[a][b - 1] in w_symbolen and geslagen != 1):
- bord[a][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b - 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b - 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- #linksboven
- elif(b == 1):
- if(bord[a][b + 1] in w_symbolen and geslagen != 1):
- bord[a][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b] in w_symbolen and geslagen != 1):
- bord[a + 1][b] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- elif(bord[a + 1][b + 1] in w_symbolen and geslagen != 1):
- bord[a + 1][b + 1] = '\033[31m ♚ \033[00m'
- bord[a][b] = '___'
- geslagen = 1
- def Lopen():
- z = 0
- x = 0
- y = 0
- pionnen = []
- mogelijkx = []
- mogelijky = []
- torens = []
- for i in stukken:
- if(bord[stukken[z][0]][stukken[z][1]] == z_symbolen[5]):
- pionnen.append([stukken[z][0], stukken[z][1]])
- z += 1
- z = 0
- for i in stukken:
- if(bord[stukken[z][0]][stukken[z][1]] == z_symbolen[2]):
- torens.append([stukken[z][0], stukken[z][1]])
- z += 1
- keuze = ["pion", "pion", "pion", "toren"]
- keus = random.choice(keuze)
- time.sleep(1)
- if(keus == "pion"):
- z = random.randint(0, len(pionnen))
- k = stukken[z][0]
- l = stukken[z][1]
- if(k == 2):
- bord[k + 2][l] = z_symbolen[5]
- bord[k][l] = '___'
- else:
- bord[k + 1][l] = z_symbolen[5]
- bord[k][l] = '___'
- elif(keus == "toren"):
- lire = random.randint(0, len(torens))
- if(lire == 0):
- a = torens[0][0]
- b = torens[0][1]
- else:
- a = torens[1][0]
- b = torens[1][1]
- richtingen = ["links", "rechts", "boven", "onder"]
- if(a == 1):
- richtingen.remove("boven")
- elif(a == 8):
- richtingen.remove("onder")
- if(b == 1):
- richtingen.remove("links")
- if(b == 8):
- richtingen.remove("rechts")
- print(richtingen)
- if("rechts" in richtingen):
- while(x < 8):
- if(bord[a][b + x] == '___' or b + x == b):
- if(x != 0):
- mogelijkx.append(x)
- else:
- if(x == 0):
- richtingen.remove('rechts')
- break
- x += 1
- x = 0
- if("links" in richtingen):
- time.sleep(1)
- while(x < 8):
- if(bord[a][b - x] == '___' or b - x == b):
- if(x != 0):
- mogelijkx.append(x)
- else:
- if(x == 0):
- richtingen.remove('links')
- break
- x += 1
- print(mogelijkx)
- if("boven" in richtingen):
- while(y < 8):
- if(bord[a - y][b] == '___' or a - y == a):
- if(y != 0):
- mogelijkx.append(y)
- else:
- if(y == 0):
- richtingen.remove('boven')
- break
- y += 1
- y = 0
- if("onder" in richtingen):
- while(y < 8):
- if(bord[a + y][b] == '___' or a + y == a):
- if(y != 0):
- mogelijkx.append(y)
- else:
- if(y == 0):
- richtingen.remove('onder')
- break
- y += 1
- error = False
- if(mogelijky == []):
- try:
- richtingen.remove("onder")
- except ValueError:
- richtingen.remove("boven")
- error = True
- finally:
- if(error == False):
- try:
- richtingen.remove("boven")
- except ValueError:
- print('')
- error = False
- if(mogelijkx == []):
- try:
- richtingen.remove("links")
- except ValueError:
- richtingen.remove("rechts")
- error = True
- finally:
- if(error == False):
- try:
- richtingen.remove("rechts")
- except ValueError:
- print('')
- richting = random.choice(richtingen)
- time.sleep(2)
- if(richting == 'rechts'):
- zet = random.choice(mogelijkx)
- bord[a][b + zet] = z_symbolen[2]
- bord[a][b] = '___'
- elif(richting == 'links'):
- zet = random.choice(mogelijkx)
- bord[a][b - zet] = z_symbolen[2]
- bord[a][b] = '___'
- elif(richting == 'boven'):
- zet = random.choice(mogelijky)
- bord[a - zet][b] = z_symbolen[2]
- bord[a][b] = '___'
- elif(richting == 'onder'):
- zet = random.choice(mogelijky)
- bord[a + zet][b] = z_symbolen[2]
- bord[a][b] = '___'
- #De funcite om de AI een zet te laten maken
- def AI():
- global stukken
- stukken = []
- global z
- z = 0
- for i in bord:
- y = 1
- while(y < 9):
- x = 1
- while(x < 9):
- if(bord[y][x] in z_symbolen):
- if([y, x] not in stukken):
- stukken.append([y, x])
- x += 1
- y += 1
- z = 0
- for i in stukken:
- global a
- global b
- a = stukken[z][0]
- b = stukken[z][1]
- if(geslagen == 1):
- break
- if(bord[stukken[z][0]][stukken[z][1]] == z_symbolen[5] and geslagen != 1):
- PionSlaan()
- elif(bord[stukken[z][0]][stukken[z][1]] == z_symbolen[2] and geslagen != 1):
- TorenSlaan()
- elif(bord[stukken[z][0]][stukken[z][1]] == z_symbolen[0] and geslagen != 1):
- KoningSlaan()
- z += 1
- if(geslagen != 1):
- Lopen()
- #definieer stukken
- w_symbolen = [' ♔ ',' ♕ ',' ♖ ',' ♗ ',' ♘ ',' ♙ ']
- z_symbolen = ['\033[31m ♚ \033[00m','\033[31m ♛ \033[00m','\033[31m ♜ \033[00m','\033[31m ♝ \033[00m','\033[31m ♞ \033[00m','\033[31m ♟ \033[00m',]
- namen = ['koning','dame','toren','loper','paard','pion']
- #voer functies van het programma uit
- Startpositie()
- PrintBord()
- #Het uitvoeren van onze functies! Met controle op winnaar
- koningen = 4
- print('Beste Speler! \n \nWelkom bij ons schaakspel. Selecteer stukken op Algebraïsche volgorde AUB! \nBijvoorbeeld 7a of 7A \n')
- keuze_start = int(input('Wilt u tegen het AI(1) of met iemand anders(2) spelen? '))
- while(koningen == 4):
- speler = 'Wit'
- Beurt()
- time.sleep(1)
- replit.clear()
- PrintBord()
- tel_koningen()
- if(koningen < 4):
- print('Wit heeft gewonnen!')
- break
- speler = 'Zwart'
- geslagen = 0
- if(keuze_start == 1):
- AI()
- else:
- Beurt()
- geslagen = 0
- replit.clear()
- PrintBord()
- tel_koningen()
- if(koningen < 4):
- print('Zwart heeft gewonnen!')
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement