forked from kiok46/Slide-Puzzle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
55 lines (44 loc) · 1.42 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import pygame, sys, random
from pygame.locals import*
BOARDWIDTH = 4
BOARDHEIGHT = 4
TILESIZE = 80
WINDOWWIDTH = 640
WINDOWHEIGHT = 480
FPS = 30
BLANK = None
BLACK = (0,0,0,128)
WHITE = (255,255,255,128)
BRIGHTBLUE = (0,50,255,128)
DARKTURQUOISE = (3,54,73,128)
NAVYBLUE = (0,0,128,128)
BGCOLOR = DARKTURQUOISE
TILECOLOR = NAVYBLUE
TEXTCOLOR = WHITE
BORDERCOLOR = BRIGHTBLUE
BASICFONTSIZE = 20
BUTTONCOLOR = WHITE
BUTTONTEXTCOLOR = BLACK
MESSAGECOLOR = WHITE
XMARGIN = int((WINDOWWIDTH - (TILESIZE * BOARDWIDTH + (BOARDWIDTH - 1))) / 2)
YMARGIN = int((WINDOWHEIGHT - (TILESIZE * BOARDHEIGHT + (BOARDHEIGHT - 1))) / 2)
UP = 'up'
DOWN = 'down'
LEFT = 'left'
RIGHT = 'right'
def main():
global FPSCLOCK, DISPLAYSURF , BASICFONT, RESET_SURF, RESET_RECT, NEW_SURF, NEW_RECT,SOLVE_SURF,SOLVE_RECT
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT))
pygame.display.set_caption('Slide Puzzle')
BASICFONT = pygame.font.Font('freesansbold.ttf',BASICFONTSIZE)
#buttons
RESET_SURF,RESET_RECT = makeText('Reset', TEXTCOLOR,TILECOLOR,WINDOWWIDTH-120,WINDOWWIDTH-90)
NEW_SURF,NEW_RECT = makeText('New Game', TEXTCOLOR,TILECOLOR,WINDOWWIDTH-120,WINDOWHEIGHT-60)
SOLVE_SURF,SOLVE_RECT = makeText('Solve Puzzle',TEXTCOLOR,TILECOLOR,WINDOWWIDTH-120,WINDOWHEIGHT-30)
mainBoard,solutionSeq = generateNewPuzzle(50)
SOLVEBOARD = getStartingBoard()
allMoves = []
while True:
slideTo = None