from .constants import RED, WHITE, SQUARE_SIZE, GREY, CROWN, BLACK, RED_outline, WHITE_outline
import pygame

class Piece:
	PADDING = 15
	OUTLINE = 2

	def __init__(self, row, col, color):
		self.row = row
		self.col = col
		self.color = color
		self.king = False	
		self.x = 0
		self.y = 0
		self.calc_pos()

	def calc_pos(self):
		self.x = SQUARE_SIZE * self.col + SQUARE_SIZE // 2
		self.y = SQUARE_SIZE * self.row + SQUARE_SIZE // 2

	def make_king(self):
		self.king = True

	def draw(self, win):
		radius = SQUARE_SIZE//2 - self.PADDING
		if self.color == RED:
			pygame.draw.circle(win, RED_outline, (self.x, self.y), radius + self.OUTLINE)
		if self.color == WHITE:
			pygame.draw.circle(win, WHITE_outline, (self.x, self.y), radius + self.OUTLINE)
		pygame.draw.circle(win, self.color, (self.x, self.y), radius)
		if self.king:
			win.blit(CROWN, (self.x - CROWN.get_width()//2, self.y - CROWN.get_height()//2))

	def move(self, row, col):
		self.row = row
		self.col = col
		self.calc_pos()

	def __repr__(self):
		return str(self.color)