本来想做个小游戏的。但是不太熟悉tkinter怎么操控图形界面。
所以拿了别人的程序看了一下。
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 7 14:09:18 2020
@author: liyan
"""
from tkinter import *
from tkinter.messagebox import *
class Chess(object):
def bf_start(self):
self.set_btn_state("start")
self.is_start = True
self.is_black = True
self.matrix = [[0 for y in range(self.column)] for x in range(self.row)]
self.draw_board()
self.l_info.config(text="黑方下棋")
# 重来跟开始的效果一样
def bf_restart(self):
self.bf_start()
def __init__(self):
#############
# param #
#######################################
self.row, self.column = 15, 15
self.mesh = 25
self.ratio = 0.9
self.board_color = "#CDBA96"
self.header_bg = "#CDC0B0"
self.btn_font = ("黑体", 12, "bold")
self.step = self.mesh / 2
self.chess_r = self.step * self.ratio
self.point_r = self.step * 0.2
self.matrix = [[0 for y in range(self.column)] for x in range(self.row)]
self.is_start = False
self.is_black = True
self.last_p = None
###########
# GUI #
#######################################
self.root = Tk()
self.root.title("Gobang By Young")
self.root.resizable(width=False, height=False)
self.f_header = Frame(self.root, highlightthickness=0, bg=self.header_bg) ###感觉这里把人家的窗口分了一条出来。但是没有具体定位啊
self.f_header.pack(fill=BOTH, ipadx=10)
self.b_start = Button(self.f_header, text="开始", command=self.bf_start, font=self.btn_font)
self.b_restart = Button(self.f_header, text="重来", command=self.bf_restart, state=DISABLED, font=self.btn_font)
self.b_start.pack(side=LEFT, padx=20)
self.b_restart.pack(side=LEFT)
self.c_chess = Canvas(self.root, bg=self.board_color, width=(self.column + 1) * self.mesh,
height=(self.row + 1) * self.mesh, highlightthickness=0)
self.c_chess.pack()
self.root.mainloop()
if __name__ == '__main__':
Chess()