python设计拼图游戏tkinter_python tkinter实现连连看游戏

需要自己添加图片素材呦

运行效果:

完整代码

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Date : 2017-10-02 15:19:24

# @Author : Salamander(1906747819@qq.com)

# @Link : http://51lucy.com

import os, random

import tkinter as tk

import tkinter.messagebox

from PIL import Image, ImageTk

class MainWindow():

__gameTitle = "连连看游戏"

__windowWidth = 700

__windowHeigth = 500

__icons = []

__gameSize = 10 # 游戏尺寸

__iconKind = __gameSize * __gameSize / 4 # 小图片种类数量

__iconWidth = 40

__iconHeight = 40

__map = [] # 游戏地图

__delta = 25

__isFirst = True

__isGameStart = False

__formerPoint = None

EMPTY = -1

NONE_LINK = 0

STRAIGHT_LINK = 1

ONE_CORNER_LINK = 2

TWO_CORNER_LINK = 3

def __init__(self):

self.root = tk.Tk()

self.root.title(self.__gameTitle)

self.centerWindow(self.__windowWidth, self.__windowHeigth)

self.root.minsize(460, 460)

self.__addComponets()

self.extractSmallIconList()

self.root.mainloop()

def __addComponets(self):

self.menubar = tk.Menu(self.root, bg="lightgrey", fg="black")

self.file_menu = tk.Menu(self.menubar, tearoff=0, bg="lightgrey", fg="black")

self.file_menu.add_command(label="新游戏", command=self.file_new, accelerator="Ctrl+N")

self.menubar.add_cascade(label="游戏", menu=self.file_menu)

self.root.configure(menu=self.menubar)

self.canvas = tk.Canvas(self.root, bg = 'white', width = 450, height = 450)

self.canvas.pack(side=tk.TOP, pady = 5)

self.canvas.bind('', self.clickCanvas)

def centerWindow(self, width, height):

screenwidth = self.root.winfo_screenwidth()

screenheight = self.root.winfo_screenheight()

size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)

self.root.geometr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值