From d02e9dcde7da8c711349c11dbc1300ff98186fdf Mon Sep 17 00:00:00 2001 From: jona605a Date: Fri, 7 Aug 2020 02:12:14 +0200 Subject: [PATCH] :fireworks: Hex now playable! --- .gitignore | 1 + funcs/games/hex.py | 36 +----- funcs/games/hexDraw.py | 112 ++++++++---------- .../hexBoards/board739463392431177832.png | Bin 74895 -> 0 bytes 4 files changed, 51 insertions(+), 98 deletions(-) delete mode 100644 resources/games/hexBoards/board739463392431177832.png diff --git a/.gitignore b/.gitignore index 938c7e8..6c0d94b 100644 --- a/.gitignore +++ b/.gitignore @@ -160,6 +160,7 @@ resources/starWars/destinyPoints.txt resources/games/blackjackTables/ resources/games/oldImages/ resources/games/4InARowBoards/ +resources/games/hexBoards/ resources/games/monopolyBoards/ resources/games/investments.json resources/lookup/monsters.json diff --git a/funcs/games/hex.py b/funcs/games/hex.py index 542431c..1dc7d5f 100644 --- a/funcs/games/hex.py +++ b/funcs/games/hex.py @@ -110,10 +110,9 @@ def placeHex(channel : str,player : int,position : str): if channel in data: board = data[channel]["board"] + logThis("Placing a piece on the board with placeHex()") # Places on board board = placeOnHexBoard(board,player,position) - # Updates the drawing - hexDraw.drawHexPlacement(channel,player,position) if isinstance(board, list): # If the move is valid: @@ -141,7 +140,7 @@ def placeHex(channel : str,player : int,position : str): message += " Adding "+str(winAmount)+" GwendoBucks to their account." else:""" gameWon = False - message = data[channel]["players"][player-1]+" placed at "+position+". It's now "+data[channel]["players"][turn]+"'s turn." + message = getName(data[channel]["players"][player-1])+" placed at "+position+". It's now "+getName(data[channel]["players"][turn])+"'s turn." with open("resources/games/hexGames.json", "w") as f: json.dump(data,f,indent=4) @@ -229,37 +228,6 @@ def AICalcHexPoints(board,player): score = 0 otherPlayer = player%2+1 - # Adds points for middle placement - for row in range(len(board)): - if board[row][3] == player: - score += AIScoresHex["middle"] - - # Checks horizontal - for row in range(boardWidth): - rowArray = [int(i) for i in list(board[row])] - for place in range(boardWidth-3): - window = rowArray[place:place+4] - score += evaluateWindow(window,player,otherPlayer) - - # Checks Vertical - for column in range(boardWidth): - columnArray = [int(i[column]) for i in list(board)] - for place in range(boardWidth-3): - window = columnArray[place:place+4] - score += evaluateWindow(window,player,otherPlayer) - - # Checks right diagonal - for row in range(boardWidth-3): - for place in range(boardWidth-3): - window = [board[row][place],board[row+1][place+1],board[row+2][place+2],board[row+3][place+3]] - score += evaluateWindow(window,player,otherPlayer) - - # Checks left diagonal - for row in range(boardWidth-3): - for place in range(3,boardWidth): - window = [board[row][place],board[row+1][place-1],board[row+2][place-2],board[row+3][place-3]] - score += evaluateWindow(window,player,otherPlayer) - ## Checks if anyone has won #won = isHexWon(board)[0] diff --git a/funcs/games/hexDraw.py b/funcs/games/hexDraw.py index 04ae78f..9746d33 100644 --- a/funcs/games/hexDraw.py +++ b/funcs/games/hexDraw.py @@ -3,30 +3,36 @@ import math import os from PIL import Image, ImageDraw, ImageFont -#from funcs import logThis, getName +from funcs import logThis, getName + +# Defining all the variables +CANVAS_WIDTH = 2400 +CANVAS_HEIGHT = 1800 +SIDELENGTH = 75 +X_OFFSET = CANVAS_WIDTH/2 - 8*math.sqrt(3)*SIDELENGTH # The offsets centers the board in the picture +Y_OFFSET = CANVAS_HEIGHT/2 - 8*SIDELENGTH # The offsets are the coordinates of the upperleft point in the upperleftmost hexagon +HEXAGONWIDTH = math.sqrt(3) * SIDELENGTH # the whole width of one hexagon +HEXAGONHEIGHT = 1.5 * SIDELENGTH # not really the entire height, but the height difference between two layers +FONTSIZE = 45 +TEXTCOLOR = (0,0,0) +fnt = ImageFont.truetype('resources/futura-bold.ttf', FONTSIZE) +PIECECOLOR = {1:(237,41,57),2:(0,165,255)} # player1 is red, player2 is blue +LINETHICKNESS = 15 +HEXTHICKNESS = 6 +X_THICKNESS = HEXTHICKNESS * math.cos(math.pi/6) +Y_THICKNESS = HEXTHICKNESS * math.sin(math.pi/6) +BACKGROUND_COLOR = (230,230,230) +BETWEEN_COLOR = BACKGROUND_COLOR +BLANK_COLOR = "lightgrey" +BOARDCOORDINATES = [ [(X_OFFSET + HEXAGONWIDTH*(column + row/2),Y_OFFSET + HEXAGONHEIGHT*row) for column in range(11)] for row in range(11)] # These are the coordinates for the upperleft corner of every hex +COLHEXTHICKNESS = 4 +COLX_THICKNESS = COLHEXTHICKNESS * math.cos(math.pi/6) +COLY_THICKNESS = COLHEXTHICKNESS * math.sin(math.pi/6) + def drawBoard(channel): - #logThis("Drawing Hex board") + logThis("Drawing empty Hex board") - # Defining all the variables - CANVAS_WIDTH = 2400 - CANVAS_HEIGHT = 1800 - SIDELENGTH = 75 - X_OFFSET = CANVAS_WIDTH/2 - 8*math.sqrt(3)*SIDELENGTH # The offsets centers the board in the picture - Y_OFFSET = CANVAS_HEIGHT/2 - 8*SIDELENGTH # The offsets are the coordinates of the upperleft point in the upperleftmost hexagon - HEXAGONWIDTH = math.sqrt(3) * SIDELENGTH # the whole width of one hexagon - HEXAGONHEIGHT = 1.5 * SIDELENGTH # not really the entire height, but the height difference between two layers - FONTSIZE = 45 - TEXTCOLOR = (0,0,0) - fnt = ImageFont.truetype('resources/futura-bold.ttf', FONTSIZE) - PIECECOLOR = {1:(237,41,57),2:(0,165,255)} # player1 is red, player2 is blue - LINETHICKNESS = 15 - HEXTHICKNESS = 6 - X_THICKNESS = HEXTHICKNESS * math.cos(math.pi/6) - Y_THICKNESS = HEXTHICKNESS * math.sin(math.pi/6) - BACKGROUND_COLOR = (230,230,230) - BETWEEN_COLOR = BACKGROUND_COLOR - BLANK_COLOR = "lightgrey" # Creates the empty image @@ -34,10 +40,10 @@ def drawBoard(channel): # 'd' is a shortcut to drawing on the image d = ImageDraw.Draw(im,"RGBA") - # These are the coordinates for the upperleft corner of every hex - boardCoordinates = [ [(X_OFFSET + HEXAGONWIDTH*(column + row/2),Y_OFFSET + HEXAGONHEIGHT*row) for column in range(11)] for row in range(11)] + + # The board is indexed with [row][column] - for column in boardCoordinates: + for column in BOARDCOORDINATES: for startingPoint in column: x = startingPoint[0] y = startingPoint[1] @@ -60,16 +66,16 @@ def drawBoard(channel): # Draw color on the outside of the board # Top line, red - d.line(sum((sum([(point[0],point[1],point[0]+HEXAGONWIDTH/2,point[1]-HEXAGONHEIGHT+SIDELENGTH) for point in boardCoordinates[0]],()),(boardCoordinates[0][10][0]+HEXAGONWIDTH*3/4,boardCoordinates[0][10][1]-SIDELENGTH/4)),()), + d.line(sum((sum([(point[0],point[1],point[0]+HEXAGONWIDTH/2,point[1]-HEXAGONHEIGHT+SIDELENGTH) for point in BOARDCOORDINATES[0]],()),(BOARDCOORDINATES[0][10][0]+HEXAGONWIDTH*3/4,BOARDCOORDINATES[0][10][1]-SIDELENGTH/4)),()), fill = PIECECOLOR[1],width = LINETHICKNESS) # Bottom line, red - d.line(sum(((boardCoordinates[10][0][0]+HEXAGONWIDTH/4,boardCoordinates[10][0][1]+SIDELENGTH*5/4),sum([(point[0]+HEXAGONWIDTH/2,point[1]+HEXAGONHEIGHT,point[0]+HEXAGONWIDTH,point[1]+SIDELENGTH) for point in boardCoordinates[10]],())),()), + d.line(sum(((BOARDCOORDINATES[10][0][0]+HEXAGONWIDTH/4,BOARDCOORDINATES[10][0][1]+SIDELENGTH*5/4),sum([(point[0]+HEXAGONWIDTH/2,point[1]+HEXAGONHEIGHT,point[0]+HEXAGONWIDTH,point[1]+SIDELENGTH) for point in BOARDCOORDINATES[10]],())),()), fill = PIECECOLOR[1],width = LINETHICKNESS) # Left line, blue - d.line(sum((sum([(row[0][0],row[0][1],row[0][0],row[0][1]+SIDELENGTH) for row in boardCoordinates],()),(boardCoordinates[10][0][0]+HEXAGONWIDTH/4,boardCoordinates[10][0][1]+SIDELENGTH*5/4)),()), + d.line(sum((sum([(row[0][0],row[0][1],row[0][0],row[0][1]+SIDELENGTH) for row in BOARDCOORDINATES],()),(BOARDCOORDINATES[10][0][0]+HEXAGONWIDTH/4,BOARDCOORDINATES[10][0][1]+SIDELENGTH*5/4)),()), fill = PIECECOLOR[2],width = LINETHICKNESS) # Right line, blue - d.line(sum(((boardCoordinates[0][10][0]+HEXAGONWIDTH*3/4,boardCoordinates[0][10][1]-SIDELENGTH/4),sum([(row[10][0]+HEXAGONWIDTH,row[10][1],row[10][0]+HEXAGONWIDTH,row[10][1]+SIDELENGTH) for row in boardCoordinates],())),()), + d.line(sum(((BOARDCOORDINATES[0][10][0]+HEXAGONWIDTH*3/4,BOARDCOORDINATES[0][10][1]-SIDELENGTH/4),sum([(row[10][0]+HEXAGONWIDTH,row[10][1],row[10][0]+HEXAGONWIDTH,row[10][1]+SIDELENGTH) for row in BOARDCOORDINATES],())),()), fill = PIECECOLOR[2],width = LINETHICKNESS) # Writes "abc..", "123.." on the columns and rows @@ -100,28 +106,14 @@ def drawBoard(channel): else: player2 = getName(players[1]) """ - #im.save("board"+channel+".png") im.save("resources/games/hexBoards/board"+channel+".png") def drawHexPlacement(channel,player,position): - # Same variables as above - CANVAS_WIDTH = 2400 - CANVAS_HEIGHT = 1800 - SIDELENGTH = 75 - X_OFFSET = CANVAS_WIDTH/2 - 8*math.sqrt(3)*SIDELENGTH # The offsets centers the board in the picture - Y_OFFSET = CANVAS_HEIGHT/2 - 8*SIDELENGTH # The offsets are the coordinates of the upperleft point in the upperleftmost hexagon - HEXAGONWIDTH = math.sqrt(3) * SIDELENGTH # the whole width - HEXAGONHEIGHT = 1.5 * SIDELENGTH # not really the entire height, but the height difference between two layers - PIECECOLOR = {1:(237,41,57),2:(0,165,255)} # player1 is red, player2 is blue - #PIECEDIAMETER = 30 - HEXTHICKNESS = 4 - X_THICKNESS = HEXTHICKNESS * math.cos(math.pi/6) - Y_THICKNESS = HEXTHICKNESS * math.sin(math.pi/6) - - boardCoordinates = [ [(X_OFFSET + HEXAGONWIDTH*(column + row/2),Y_OFFSET + HEXAGONHEIGHT*row) for column in range(11)] for row in range(11)] + FILEPATH = "resources/games/hexBoards/board"+channel+".png" + logThis("Drawing a newly placed hex. Filepath:"+FILEPATH) # Translates position # We don't need to error-check, because the position is already checked in placeOnHexBoard() @@ -129,35 +121,27 @@ def drawHexPlacement(channel,player,position): column = ord(position[0])-97 # ord() translates from letter to number row = int(position[1])-1 - """ # Find the coordinates for the piece-drawing - x = X_OFFSET + HEXAGONWIDTH*(column + row/2 + 1/2) - PIECEDIAMETER/2 - y = Y_OFFSET + HEXAGONHEIGHT*row + HEXAGONHEIGHT/2 - PIECEDIAMETER/math.sqrt(2) """ # Find the coordinates for the filled hex drawing hexCoords = [ - (boardCoordinates[row][column][0]+X_THICKNESS, boardCoordinates[row][column][1] + Y_THICKNESS), - (boardCoordinates[row][column][0]+HEXAGONWIDTH/2, boardCoordinates[row][column][1]-0.5*SIDELENGTH + HEXTHICKNESS), - (boardCoordinates[row][column][0]+HEXAGONWIDTH-X_THICKNESS, boardCoordinates[row][column][1] + Y_THICKNESS), - (boardCoordinates[row][column][0]+HEXAGONWIDTH-X_THICKNESS, boardCoordinates[row][column][1]+SIDELENGTH - Y_THICKNESS), - (boardCoordinates[row][column][0]+HEXAGONWIDTH/2, boardCoordinates[row][column][1]+1.5*SIDELENGTH - HEXTHICKNESS), - (boardCoordinates[row][column][0]+X_THICKNESS, boardCoordinates[row][column][1]+SIDELENGTH - Y_THICKNESS), - ] + (BOARDCOORDINATES[row][column][0]+COLX_THICKNESS, BOARDCOORDINATES[row][column][1] + COLY_THICKNESS), + (BOARDCOORDINATES[row][column][0]+HEXAGONWIDTH/2, BOARDCOORDINATES[row][column][1]-0.5*SIDELENGTH + COLHEXTHICKNESS), + (BOARDCOORDINATES[row][column][0]+HEXAGONWIDTH-COLX_THICKNESS, BOARDCOORDINATES[row][column][1] + COLY_THICKNESS), + (BOARDCOORDINATES[row][column][0]+HEXAGONWIDTH-COLX_THICKNESS, BOARDCOORDINATES[row][column][1]+SIDELENGTH - COLY_THICKNESS), + (BOARDCOORDINATES[row][column][0]+HEXAGONWIDTH/2, BOARDCOORDINATES[row][column][1]+1.5*SIDELENGTH - COLHEXTHICKNESS), + (BOARDCOORDINATES[row][column][0]+COLX_THICKNESS, BOARDCOORDINATES[row][column][1]+SIDELENGTH - COLY_THICKNESS), + ] # Opens the image - #logThis("Finding and opening the board-image at hex"+channel+".png") try: - with Image.open("resources/games/hexBoards/board"+channel+".png") as im: + with Image.open(FILEPATH) as im: d = ImageDraw.Draw(im,"RGBA") - # Draws the piece + # Draws the hex piece d.polygon(hexCoords,fill = PIECECOLOR[player]) - #d.ellipse([(x,y),(x + PIECEDIAMETER,y + PIECEDIAMETER)], fill = PIECECOLOR[player]) - # Draw some fancy connection thing - #something something - + # Save - im.save("board"+channel+".png") + im.save(FILEPATH) except: - #logThis("Error loading board-image (error code 1541") - print("Oh no, error error") + logThis("Error drawing new hex on board (error code 1541") if __name__ == '__main__': drawBoard("HexTest2") diff --git a/resources/games/hexBoards/board739463392431177832.png b/resources/games/hexBoards/board739463392431177832.png deleted file mode 100644 index f10fd8f4f51d8c38f8d2e5ce4e0e0917a7f774f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74895 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 MhMszs+7AE!0+p|lWB>pF