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)
完整代码下载链接点这里
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年09月23日
2024年09月23日
- 金池VS刘罡2009《双声情》[WAV+CUE]
- 冯奥迪《卄》[320K/MP3][67.08MB]
- 冯奥迪《卄》[FLAC/分轨][172.46MB]
- Merryland《Merryland》[320K/MP3][69.48MB]
- 苏芮.1991-停在我心里的温柔【福茂】【WAV+CUE】
- 苏慧伦.2020-面面Every.Side.of.Me【相信音乐】【WAV+CUE】
- 群星.1991-不一样的感觉REMIX【宝丽金】【WAV+CUE】
- 银霞.1983-《你那好冷的小手》珍藏纪念版[WAV分轨]
- 银霞.2002-《国语巨星专辑VOL.3》2CD台湾版[WAV+CUE]
- 金池刘罡《昨日情歌HQ》头版限量编号[低速原抓WAV+CUE]
- 段奥娟.2024-23·岁碎念【白米范】【FLAC分轨】
- 顺子.2001-昨日·唯一·更多·顺子自选辑【魔岩】【WAV+CUE】
- 无印良品.1999-私藏三首·原创相对论(EP)【滚石】【WAV+CUE】
- Merryland《Merryland》[FLAC/分轨][170.22MB]
- 庄锭欣 ELKIE《没有你的未来》[320K/MP3][15.78MB]