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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
import simplegui import random
state = 0 tures = 0 before1 = -1 before2 = -1 list_word = range(8) list_word = list_word + list_word
list_word_exposed = [] for i in range(16): list_word_exposed.append(False)
def clear_exposion(): global list_word_exposed for i in range(16): list_word_exposed[i] = False
def win(): win = 0 for i in range(16): if list_word_exposed[i] == True: win += 1 if win >= 16: return True else: return False
def new_game(): global state, list_word random.shuffle(list_word) clear_exposion() state = 0 before = None tures = 0
def mouseclick(pos): global state, tures, list_word_exposed, before click = pos[0] // 50 global state if list_word_exposed[click] == False: global before1, before2 if state == 0: before1 = click print "before1", before1 state = 1 elif state == 1: before2 = click print "before2", before2 state = 2 else: tures += 1 if not list_word[before1] == list_word[before2]: list_word_exposed[before2] = False list_word_exposed[before1] = False before1 = click print "before1", before1 label.set_text("Tures =" + str(tures)) state = 1 list_word_exposed[click] = True
def draw(canvas): if win() and not state == 0: canvas.draw_text("YOU WIN!!!! haha :)", (5, 80), 80, 'white', 'serif') else: for index, word in enumerate(list_word): canvas.draw_text(str(word), (index * 50 + 5, 80), 80, 'white', 'serif') for index, exposed in enumerate(list_word_exposed): if(not exposed and index % 2 == 0): canvas.draw_polygon([[index * 50 + 30, 3], [index * 50 + 20, 95]], 50, 'pink') elif(not exposed and index % 2 == 1): canvas.draw_polygon([[index * 50 + 30, 3], [index * 50 + 20, 95]], 50, 'white')
def button_handler(): new_game()
frame = simplegui.create_frame("Memory", 800, 100) frame.add_button("Reset", new_game) label = frame.add_label("Turns = 0")
frame.set_mouseclick_handler(mouseclick) frame.set_draw_handler(draw)
new_game() frame.start()
|