def draw_a_cover(BOARD,boxs,boxx,boxy,coverage):
#要有动画效果的话,底层总是要先画一下
pygame.draw.rect(DISPLAYSURF, boxs[boxx][boxy].color, (XRBW(boxs[boxx][boxy].x), YRBW(boxs[boxx][boxy].y), BOXWIDTH, BOXHEIGHT))
#pygame.draw.rect(DISPLAYSURF, COVERCOLOR, (XRBW(boxs[boxx][boxy].x)+coverage, YRBW(boxs[boxx][boxy].y), BOXWIDTH-coverage, BOXHEIGHT))
#print "coverage:",coverage
pygame.draw.rect(DISPLAYSURF, COVERCOLOR, (XRBW(boxs[boxx][boxy].x), YRBW(boxs[boxx][boxy].y), coverage, BOXHEIGHT))
pygame.display.update()
FPSCLOCK.tick(FPS)
def anim_reveal(boxs,boxx,boxy):
i = boxx
j = boxy
boxs[i][j].set_surf_color(boxs[i][j].color)
for coverage in range(BOXWIDTH, -1, -REVEALSPEED):
if coverage >=0:
draw_a_cover(BOARD,boxs, boxx, boxy, coverage)
def anim_cover(boxs,first_select,boxx,boxy):
for coverage in range(0, BOXWIDTH+1, REVEALSPEED):
if coverage >=0:
draw_a_cover(BOARD,boxs, first_select.boxx, first_select.boxy, coverage)
#print "omg"
draw_a_cover(BOARD,boxs, boxx, boxy, coverage)
def is_won(boxs):
for i in range(NUMBOXHORIZONTAL):
for j in range(NUMBOXVERTIVAL):
if boxs[i][j].is_revealed == False:
return False
return True
def main():
global FPSCLOCK,LIVES
FPSCLOCK = pygame.time.Clock()
mousex,mousey = 0,0
boxs = init_boxs_pixel_x_y_relative_BOARD()
shuffle_boxs_color(boxs)
first_select = None
lives = LIVES