AlfonsoPEREZ

Checkers using TKINTER

May 4th, 2020
1,110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 22.94 KB | None | 0 0
  1. from tkinter import *
  2. import tkinter.messagebox
  3.  
  4. class CheckerBoard(Frame):
  5.  
  6.     def __init__(self, parent, icoord, prev_itm, moves, illegal, gnum, rnum, is_moved, ocrowns, gcrowns):
  7.         Frame.__init__(self,parent)
  8.  
  9.         self.parent = parent
  10.         self.icoord = icoord
  11.         self.prev_itm = prev_itm
  12.         self.moves = moves
  13.         self.illegal = illegal
  14.         self.gnum = gnum
  15.         self.rnum = rnum
  16.         self.is_moved = is_moved
  17.         self.ocrowns = ocrowns
  18.         self.gcrowns = gcrowns
  19.  
  20.         self.InitUI()
  21.  
  22.     def InitUI(self):
  23.  
  24.         self.parent.title("Let's play Checkers!")
  25.         self.pack(fill=BOTH, expand=1)
  26.  
  27.         canvas = Canvas(self,bg="white")
  28.  
  29.         drag_data = {"x": 0, "y": 0, "item": None}
  30.         init_data = {"x": 0, "y": 0, "item": None}
  31.         final_coord = [0,0]
  32.  
  33.         re1 = canvas.create_rectangle(40, 30, 90, 80, outline="tomato", fill="tomato", tags="red")
  34.         bl2 = canvas.create_rectangle(40, 80, 90, 130, outline="black", fill="black", tags="black")
  35.         re3 = canvas.create_rectangle(40, 130, 90, 180, outline="tomato", fill="tomato", tags="red")
  36.         bl4 = canvas.create_rectangle(40, 180, 90, 230, outline="black", fill="black", tags="black")
  37.         re5 = canvas.create_rectangle(40, 230, 90, 280, outline="tomato", fill="tomato", tags="red")
  38.         bl6 = canvas.create_rectangle(40, 280, 90, 330, outline="black", fill="black", tags="black")
  39.         re7 = canvas.create_rectangle(40, 330, 90, 380, outline="tomato", fill="tomato", tags="red")
  40.         bl8 = canvas.create_rectangle(40, 380, 90, 430, outline="black", fill="black", tags="black")
  41.  
  42.  
  43.         bl9 = canvas.create_rectangle(90, 30, 140, 80, outline="black", fill="black", tags="black")
  44.         re10 = canvas.create_rectangle(90, 80, 140, 130, outline="tomato", fill="tomato", tags="red")
  45.         bl11 = canvas.create_rectangle(90, 130, 140, 180, outline="black", fill="black", tags="black")
  46.         re12 = canvas.create_rectangle(90, 180, 140, 230, outline="tomato", fill="tomato", tags="red")
  47.         bl13 = canvas.create_rectangle(90, 230, 140, 280, outline="black", fill="black", tags="black")
  48.         re14 = canvas.create_rectangle(90, 280, 140, 330, outline="tomato", fill="tomato", tags="red")
  49.         bl15 = canvas.create_rectangle(90, 330, 140, 380, outline="black", fill="black", tags="black")
  50.         re16 = canvas.create_rectangle(90, 380, 140, 430, outline="tomato", fill="tomato", tags="red")
  51.  
  52.         re17 = canvas.create_rectangle(140, 30, 190, 80, outline="tomato", fill="tomato", tags="red")
  53.         bl18 = canvas.create_rectangle(140, 80, 190, 130, outline="black", fill="black", tags="black")
  54.         re19 = canvas.create_rectangle(140, 130, 190, 180, outline="tomato", fill="tomato", tags="red")
  55.         bl20 = canvas.create_rectangle(140, 180, 190, 230, outline="black", fill="black", tags="black")
  56.         re21 = canvas.create_rectangle(140, 230, 190, 280, outline="tomato", fill="tomato", tags="red")
  57.         bl22 = canvas.create_rectangle(140, 280, 190, 330, outline="black", fill="black", tags="black")
  58.         re23 = canvas.create_rectangle(140, 330, 190, 380, outline="tomato", fill="tomato", tags="red")
  59.         bl24 = canvas.create_rectangle(140, 380, 190, 430, outline="black", fill="black", tags="black")
  60.  
  61.  
  62.         bl25 = canvas.create_rectangle(190, 30, 240, 80, outline="black", fill="black", tags="black")
  63.         re26 = canvas.create_rectangle(190, 80, 240, 130, outline="tomato", fill="tomato", tags="red")
  64.         bl27 = canvas.create_rectangle(190, 130, 240, 180, outline="black", fill="black", tags="black")
  65.         re28 = canvas.create_rectangle(190, 180, 240, 230, outline="tomato", fill="tomato", tags="red")
  66.         bl29 = canvas.create_rectangle(190, 230, 240, 280, outline="black", fill="black", tags="black")
  67.         re30 = canvas.create_rectangle(190, 280, 240, 330, outline="tomato", fill="tomato", tags="red")
  68.         bl31 = canvas.create_rectangle(190, 330, 240, 380, outline="black", fill="black", tags="black")
  69.         re32 = canvas.create_rectangle(190, 380, 240, 430, outline="tomato", fill="tomato", tags="red")
  70.  
  71.  
  72.         re33 = canvas.create_rectangle(240, 30, 290, 80, outline="tomato", fill="tomato", tags="red")
  73.         bl34 = canvas.create_rectangle(240, 80, 290, 130, outline="black", fill="black", tags="black")
  74.         re35 = canvas.create_rectangle(240, 130, 290, 180, outline="tomato", fill="tomato", tags="red")
  75.         bl36 = canvas.create_rectangle(240, 180, 290, 230, outline="black", fill="black", tags="black")
  76.         re37 = canvas.create_rectangle(240, 230, 290, 280, outline="tomato", fill="tomato", tags="red")
  77.         bl38 = canvas.create_rectangle(240, 280, 290, 330, outline="black", fill="black", tags="black")
  78.         re39 = canvas.create_rectangle(240, 330, 290, 380, outline="tomato", fill="tomato", tags="red")
  79.         bl40 = canvas.create_rectangle(240, 380, 290, 430, outline="black", fill="black", tags="black")
  80.  
  81.  
  82.         bl41 = canvas.create_rectangle(290, 30, 340, 80, outline="black", fill="black", tags="black")
  83.         re42 = canvas.create_rectangle(290, 80, 340, 130, outline="tomato", fill="tomato", tags="red")
  84.         bl43 = canvas.create_rectangle(290, 130, 340, 180, outline="black", fill="black", tags="black")
  85.         re44 = canvas.create_rectangle(290, 180, 340, 230, outline="tomato", fill="tomato", tags="red")
  86.         bl45 = canvas.create_rectangle(290, 230, 340, 280, outline="black", fill="black", tags="black")
  87.         re46 = canvas.create_rectangle(290, 280, 340, 330, outline="tomato", fill="tomato", tags="red")
  88.         bl47 = canvas.create_rectangle(290, 330, 340, 380, outline="black", fill="black", tags="black")
  89.         re48 = canvas.create_rectangle(290, 380, 340, 430, outline="tomato", fill="tomato", tags="red")
  90.  
  91.         re49 = canvas.create_rectangle(340, 30, 390, 80, outline="tomato", fill="tomato", tags="red")
  92.         bl50 = canvas.create_rectangle(340, 80, 390, 130, outline="black", fill="black", tags="black")
  93.         re51 = canvas.create_rectangle(340, 130, 390, 180, outline="tomato", fill="tomato", tags="red")
  94.         bl52 = canvas.create_rectangle(340, 180, 390, 230, outline="black", fill="black", tags="black")
  95.         re53 = canvas.create_rectangle(340, 230, 390, 280, outline="tomato", fill="tomato", tags="red")
  96.         bl54 = canvas.create_rectangle(340, 280, 390, 330, outline="black", fill="black", tags="black")
  97.         re55 = canvas.create_rectangle(340, 330, 390, 380, outline="tomato", fill="tomato", tags="red")
  98.         bl56 = canvas.create_rectangle(340, 380, 390, 430, outline="black", fill="black", tags="black")
  99.  
  100.         bl57 = canvas.create_rectangle(390, 30, 440, 80, outline="black", fill="black", tags="black")
  101.         re58 = canvas.create_rectangle(390, 80, 440, 130, outline="tomato", fill="tomato", tags="red")
  102.         bl59 = canvas.create_rectangle(390, 130, 440, 180, outline="black", fill="black", tags="black")
  103.         re60 = canvas.create_rectangle(390, 180, 440, 230, outline="tomato", fill="tomato", tags="red")
  104.         bl61 = canvas.create_rectangle(390, 230, 440, 280, outline="black", fill="black", tags="black")
  105.         re62 = canvas.create_rectangle(390, 280, 440, 330, outline="tomato", fill="tomato", tags="red")
  106.         bl63 = canvas.create_rectangle(390, 330, 440, 380, outline="black", fill="black", tags="black")
  107.         re64 = canvas.create_rectangle(390, 380, 440, 430, outline="tomato", fill="tomato", tags="red")
  108.  
  109.  
  110.         def OnTokenButtonPress(event):
  111.             drag_data["item"] = canvas.find_closest(event.x, event.y)[0]
  112.             drag_data["x"] = event.x
  113.             drag_data["y"] = event.y
  114.  
  115.  
  116.             init_data["item"] = drag_data["item"]
  117.             init_data["x"] = drag_data["x"]
  118.             init_data["y"] = drag_data["y"]
  119.  
  120.             item_below = canvas.find_overlapping(event.x,event.y,event.x,event.y)[0]
  121.             self.icoord = ColumnRowCoords(item_below)
  122.  
  123.  
  124.         def OnTokenButtonRelease(event):
  125.             drag_data["item"] = None
  126.             drag_data["x"] = 0
  127.             drag_data["y"] = 0
  128.  
  129.         def OnTokenMotion(event):
  130.             delta_x = event.x - drag_data["x"]
  131.             delta_y = event.y - drag_data["y"]
  132.  
  133.             canvas.move(drag_data["item"], delta_x, delta_y)
  134.             drag_data["x"] = event.x
  135.             drag_data["y"] = event.y
  136.  
  137.         def ColumnRowCoords(objID):
  138.             coord = []
  139.  
  140.             if objID > 0 and objID < 9:
  141.                 coord.append(1)
  142.             elif objID >= 9 and objID < 17:
  143.                 coord.append(2)
  144.             elif objID >= 17 and objID < 25:
  145.                 coord.append(3)
  146.             elif objID >= 25 and objID < 33:
  147.                 coord.append(4)
  148.             elif objID >= 33 and objID < 41:
  149.                 coord.append(5)
  150.             elif objID >= 41 and objID < 49:
  151.                 coord.append(6)
  152.             elif objID >= 49 and objID < 57:
  153.                 coord.append(7)
  154.             else:
  155.                 coord.append(8)
  156.  
  157.             if objID % 8 == 0:
  158.                 coord.append(8)
  159.             elif objID % 8 == 1:
  160.                 coord.append(1)
  161.             elif objID % 8 == 2:
  162.                 coord.append(2)
  163.             elif objID % 8 == 3:
  164.                 coord.append(3)
  165.             elif objID % 8 == 4:
  166.                 coord.append(4)
  167.             elif objID % 8 == 5:
  168.                 coord.append(5)
  169.             elif objID % 8 == 6:
  170.                 coord.append(6)
  171.             elif objID % 8 == 7:
  172.                 coord.append(7)
  173.  
  174.             return coord
  175.  
  176.         def RectDims(coords):
  177.             dims = []
  178.             x1 = 0
  179.             x2 = 0
  180.             y1 = 0
  181.             y2 = 0
  182.             i = 1
  183.  
  184.             while i < 9:
  185.                 if coords[0] == i:
  186.                     if i == 1:
  187.                         x1 = 40
  188.                         x2 = 90
  189.                     elif i == 2:
  190.                         x1 = 90
  191.                         x2 = 140
  192.                     elif i == 3:
  193.                         x1 = 140
  194.                         x2 = 190
  195.                     elif i == 4:
  196.                         x1 = 190
  197.                         x2 = 240
  198.                     elif i == 5:
  199.                         x1 = 240
  200.                         x2 = 290
  201.                     elif i == 6:
  202.                         x1 = 290
  203.                         x2 = 340
  204.                     elif i == 7:
  205.                         x1 = 340
  206.                         x2 = 390
  207.                     elif i == 8:
  208.                         x1 = 390
  209.                         x2 = 440
  210.  
  211.                 if coords[1] == i:
  212.                     if i == 1:
  213.                         y1 = 30
  214.                         y2 = 80
  215.                     elif i == 2:
  216.                         y1 = 80
  217.                         y2 = 130
  218.                     elif i == 3:
  219.                         y1 = 130
  220.                         y2 = 180
  221.                     elif i == 4:
  222.                         y1 = 180
  223.                         y2 = 230
  224.                     elif i == 5:
  225.                         y1 = 230
  226.                         y2 = 280
  227.                     elif i == 6:
  228.                         y1 = 280
  229.                         y2 = 330
  230.                     elif i == 7:
  231.                         y1 = 330
  232.                         y2 = 380
  233.                     elif i == 8:
  234.                         y1 = 380
  235.                         y2 = 430
  236.                 i += 1
  237.  
  238.             dims.append(x1)
  239.             dims.append(y1)
  240.             dims.append(x2)
  241.             dims.append(y2)
  242.  
  243.             return dims
  244.        
  245.  
  246.         g1 = canvas.create_oval(50,90,80,120, outline="SlateGray4", fill="SlateGray4", tags="oval")
  247.         g2 = canvas.create_oval(50,190,80,220, outline="SlateGray4", fill="SlateGray4", tags="oval")
  248.         g3 = canvas.create_oval(50,290,80,320, outline="SlateGray4", fill="SlateGray4", tags="oval")
  249.         g4 = canvas.create_oval(50,390,80,420, outline="SlateGray4", fill="SlateGray4", tags="oval")
  250.  
  251.         g5 = canvas.create_oval(100,40,130,70, outline="SlateGray4", fill="SlateGray4", tags="oval")
  252.         g6 = canvas.create_oval(100,140,130,170, outline="SlateGray4", fill="SlateGray4", tags="oval")
  253.         g7 = canvas.create_oval(100,240,130,270, outline="SlateGray4", fill="SlateGray4", tags="oval")
  254.         g8 = canvas.create_oval(100,340,130,370, outline="SlateGray4", fill="SlateGray4", tags="oval")
  255.  
  256.         g9 = canvas.create_oval(150,90,180,120, outline="SlateGray4", fill="SlateGray4", tags="oval")
  257.         g10 = canvas.create_oval(150,190,180,220, outline="SlateGray4", fill="SlateGray4", tags="oval")
  258.         g11 = canvas.create_oval(150,290,180,320, outline="SlateGray4", fill="SlateGray4", tags="oval")
  259.         g12 = canvas.create_oval(150,390,180,420, outline="SlateGray4", fill="SlateGray4", tags="oval")
  260.  
  261.         r1 = canvas.create_oval(300,40,330,70, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  262.         r2 = canvas.create_oval(300,140,330,170, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  263.         r3 = canvas.create_oval(300,240,330,270, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  264.         r4 = canvas.create_oval(300,340,330,370, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  265.  
  266.         r5 = canvas.create_oval(350,90,380,120, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  267.         r6 = canvas.create_oval(350,190,380,220, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  268.         r7 = canvas.create_oval(350,290,380,320, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  269.         r8 = canvas.create_oval(350,390,380,420, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  270.  
  271.         r9 = canvas.create_oval(400,40,430,70, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  272.         r10 = canvas.create_oval(400,140,430,170, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  273.         r11 = canvas.create_oval(400,240,430,270, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  274.         r12 = canvas.create_oval(400,340,430,370, outline="OrangeRed2", fill="OrangeRed2", tags="oval")
  275.  
  276.         def PieceLogic(event):
  277.             if self.is_moved == True:
  278.                 self.is_moved = False
  279.  
  280.             OnTokenButtonRelease(event)
  281.             bl_tags = canvas.find_withtag("black")
  282.             cur_itm = canvas.find_closest(event.x,event.y)[0]
  283.             item_below = canvas.find_overlapping(event.x,event.y,event.x,event.y)[0]
  284.             itm_tuple = canvas.find_overlapping(event.x,event.y,event.x,event.y)
  285.  
  286.             final_coord = ColumnRowCoords(item_below)
  287.  
  288.             row_diff = abs(final_coord[1] - self.icoord[1])
  289.             col_diff = abs(final_coord[0] - self.icoord[0])
  290.  
  291.             same_colour = False
  292.             if ((self.prev_itm > 64 and self.prev_itm < 77) and (cur_itm > 64 and cur_itm < 77)) \
  293.                     and self.illegal != True:
  294.                 same_colour = True
  295.                 tkinter.messagebox.showinfo(title=None, message="Orange's Turn!")
  296.                 if self.is_moved != True:
  297.                     delta_x = init_data["x"] - event.x
  298.                     delta_y = init_data["y"] - event.y
  299.                     canvas.move(init_data["item"],delta_x,delta_y)
  300.                     self.is_moved = True
  301.  
  302.  
  303.             elif ((self.prev_itm > 76 and self.prev_itm < 90) and (cur_itm > 76 and cur_itm < 90)) \
  304.                     and self.illegal != True:
  305.                 same_colour = True
  306.                 tkinter.messagebox.showinfo(title=None, message="Gray's Turn!")
  307.                 if self.is_moved != True:
  308.                     delta_x = init_data["x"] - event.x
  309.                     delta_y = init_data["y"] - event.y
  310.                     canvas.move(init_data["item"],delta_x,delta_y)
  311.                     self.is_moved = True
  312.  
  313.  
  314.             for item in bl_tags:
  315.                 if item == item_below and len(itm_tuple) == 2 and row_diff > 0 and col_diff > 0:
  316.                     sq_dims = RectDims(final_coord)
  317.                     self.moves += 1
  318.                     if final_coord[0] == 1 and cur_itm > 76 and same_colour != True:
  319.                         canvas.itemconfig(cur_itm,fill="OrangeRed4",outline="OrangeRed4")
  320.                         self.ocrowns.append(cur_itm)
  321.                     elif final_coord[0] == 8 and cur_itm < 77 and same_colour != True:
  322.                         canvas.itemconfig(cur_itm,fill="gray25",outline="gray25")
  323.                         self.gcrowns.append(cur_itm)
  324.  
  325.                     gcrn_itm = 0
  326.                     for i in self.gcrowns:
  327.                         if i == cur_itm and same_colour != True:
  328.                             gcrn_itm = i
  329.                             break
  330.  
  331.                     ocrn_itm = 0
  332.                     for i in self.ocrowns:
  333.                         if i == cur_itm and same_colour != True:
  334.                             ocrn_itm = i
  335.                             break
  336.  
  337.                     if col_diff == 2 and row_diff == 2 and self.moves > 1:
  338.                         dpiece_coord = []
  339.                         dpiececol = 0
  340.                         dpiecerow = 0
  341.                         self.prev_itm = cur_itm
  342.                         if final_coord[0] > self.icoord[0] and final_coord[1] > self.icoord[1]:
  343.                             if cur_itm < 77 or ocrn_itm == cur_itm:
  344.                                 dpiececol = self.icoord[0] + 1
  345.                                 dpiecerow = self.icoord[1] + 1
  346.                                 dpiece_coord.append(dpiececol)
  347.                                 dpiece_coord.append(dpiecerow)
  348.                             else:
  349.                                 self.illegal = True
  350.                                 delta_x = init_data["x"] - event.x
  351.                                 delta_y = init_data["y"] - event.y
  352.                                 canvas.move(init_data["item"],delta_x,delta_y)
  353.                                 break
  354.                         elif final_coord[0] > self.icoord[0] and final_coord[1] < self.icoord[1]:
  355.                             if cur_itm < 77 or ocrn_itm == cur_itm:
  356.                                 dpiececol = self.icoord[0] + 1
  357.                                 dpiecerow = self.icoord[1] - 1
  358.                                 dpiece_coord.append(dpiececol)
  359.                                 dpiece_coord.append(dpiecerow)
  360.                             else:
  361.                                 self.illegal = True
  362.                                 delta_x = init_data["x"] - event.x
  363.                                 delta_y = init_data["y"] - event.y
  364.                                 canvas.move(init_data["item"],delta_x,delta_y)
  365.                                 break
  366.                         elif final_coord[0] < self.icoord[0] and final_coord[1] > self.icoord[1]:
  367.                             if cur_itm > 76 or gcrn_itm == cur_itm:
  368.                                 dpiececol = self.icoord[0] - 1
  369.                                 dpiecerow = self.icoord[1] + 1
  370.                                 dpiece_coord.append(dpiececol)
  371.                                 dpiece_coord.append(dpiecerow)
  372.                             else:
  373.                                 self.illegal = True
  374.                                 delta_x = init_data["x"] - event.x
  375.                                 delta_y = init_data["y"] - event.y
  376.                                 canvas.move(init_data["item"],delta_x,delta_y)
  377.                                 break
  378.                         elif final_coord[0] < self.icoord[0] and final_coord[1] < self.icoord[1]:
  379.                             if cur_itm > 76 or gcrn_itm == cur_itm:
  380.                                 dpiececol = self.icoord[0] - 1
  381.                                 dpiecerow = self.icoord[1] - 1
  382.                                 dpiece_coord.append(dpiececol)
  383.                                 dpiece_coord.append(dpiecerow)
  384.                             else:
  385.                                 self.illegal = True
  386.                                 delta_x = init_data["x"] - event.x
  387.                                 delta_y = init_data["y"] - event.y
  388.                                 canvas.move(init_data["item"],delta_x,delta_y)
  389.                                 break
  390.  
  391.                         if len(dpiece_coord) != 0 and same_colour != True:
  392.                             dims = RectDims(dpiece_coord)
  393.                             dpiece = canvas.find_enclosed(dims[0],dims[1],dims[2],dims[3])
  394.                             if len(dpiece) == 0:
  395.                                 delta_x = init_data["x"] - event.x
  396.                                 delta_y = init_data["y"] - event.y
  397.                                 canvas.move(init_data["item"],delta_x,delta_y)
  398.                                 break
  399.                             else:
  400.                                 if (cur_itm < 77 and dpiece[0] > 76) or (cur_itm > 76 and dpiece[0] < 77):
  401.                                     canvas.delete(dpiece)
  402.                                     if dpiece[0] < 77:
  403.                                         self.gnum -= 1
  404.                                     else:
  405.                                         self.rnum -= 1
  406.  
  407.                                     if self.gnum == 0 or self.rnum == 0:
  408.                                         if self.gnum > self.rnum:
  409.                                             tkinter.messagebox.showinfo(title=None,message="Game Over! Gray Wins!")
  410.                                         else:
  411.                                             tkinter.messagebox.showinfo(title=None,message="Game Over! Orange Wins!")
  412.                                 else:
  413.                                     delta_x = init_data["x"] - event.x
  414.                                     delta_y = init_data["y"] - event.y
  415.                                     canvas.move(init_data["item"],delta_x,delta_y)
  416.                                     self.prev_itm = 0
  417.                         break
  418.  
  419.                     elif col_diff == 1 and row_diff == 1:
  420.                         if (cur_itm > 64 and cur_itm < 77) and cur_itm != gcrn_itm:
  421.                             if final_coord[0] < self.icoord[0]:
  422.                                 continue
  423.                         elif (cur_itm > 76 and cur_itm < 90) and cur_itm != ocrn_itm:
  424.                             if final_coord[0] > self.icoord[0]:
  425.                                 continue
  426.  
  427.                         self.prev_itm = cur_itm
  428.                         break
  429.  
  430.             else:
  431.                 if same_colour == False:
  432.                     delta_x = init_data["x"] - event.x
  433.                     delta_y = init_data["y"] - event.y
  434.                     canvas.move(init_data["item"],delta_x,delta_y)
  435.  
  436.  
  437.  
  438.         canvas.tag_bind("oval", "<ButtonPress-1>", OnTokenButtonPress)
  439.         canvas.tag_bind("oval", "<B1-Motion>", OnTokenMotion)
  440.         canvas.tag_bind("oval", "<ButtonRelease-1>", PieceLogic)
  441.         canvas.pack(fill=BOTH, expand=1)
  442.  
  443.  
  444. def main():
  445.     root = Tk()
  446.     rturn = False
  447.     gturn = False
  448.     gcount = 0
  449.     rcount = 0
  450.     ex = CheckerBoard(root, [], 0, 0, False, 12, 12, False, [], [])
  451.     root.geometry("480x460+500+200")
  452.     root.mainloop()
  453.  
  454. if __name__ == '__main__':
  455.     main()
  456.  
  457.  
  458. #Created by AVMP, https://www.youtube.com/channel/UCQor7IURWM-lGT-tmFbFSCw
Add Comment
Please, Sign In to add comment