python实现棋盘覆盖图形界面,供大家参考,具体内容如下
一、解决方案和关键代码
工具: python tkinter库
问题描述:
解决方法:递归与分治法
算法关键代码
def chessBoard(tr,tc,dr,dc,size): global tile global board if (size==1): return 0 tile+=1 t=tile s=size//2 #the upper left corner if (dr<tr+s and dc<tc+s): chessBoard(tr,tc,dr,dc,s) else: board[tr+s-1,tc+s-1]=t chessBoard(tr,tc,tr+s-1,tc+s-1,s) #the upper right corner if (dr<tr+s and dc>=tc+s): chessBoard(tr,tc+s,dr,dc,s) else: board[tr+s-1,tc+s]=t chessBoard(tr,tc+s,tr+s-1,tc+s,s) #the lower left corner if (dr>=tr+s and dc<tc+s): chessBoard(tr+s,tc,dr,dc,s) else: board[tr+s,tc+s-1]=t chessBoard(tr+s,tc,tr+s,tc+s-1,s) #the lower right corner if (dr>=tr+s and dc>=tc+s): chessBoard(tr+s,tc+s,dr,dc,s) else: board[tr+s,tc+s]=t chessBoard(tr+s,tc+s,tr+s,tc+s,s)
画棋盘关键代码:
def drawboard(canvas1,board,colors,startx=50,starty=50,cellwidth=50): width=2*startx+len(board)*cellwidth height=2*starty+len(board)*cellwidth canvas1.config(width=width,height=height)#布置画布 for i in range(len(board)): for j in range(len(board)): index=board[i][j] if index== 0: color='white'#特殊方格显示为白色 else: color=colors[6*index]#为了间隔开颜色 cellx=startx+i*50 celly=starty+j*50 canvas1.create_rectangle(cellx,celly,cellx+cellwidth,celly+cellwidth,fill=color,outline="black")#画方格 canvas1.update()
二、数据测试
特殊方格坐标为(1,1),棋盘大小为(2^2*2^2)
特殊方格坐标为(2,2),棋盘大小为(2^3*2^3)
完整代码下载链接点这里
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“python自带tkinter库实现棋盘覆盖图形界面”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月09日
2024年11月09日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]