书签 分享 收藏 举报 版权申诉 / 20
上传文档赚钱

类型Python游戏设计案例实战第5章-Tkinter图形界面设计-图形版发牌程序.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3371784
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:20
  • 大小:284.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python游戏设计案例实战第5章-Tkinter图形界面设计-图形版发牌程序.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python 游戏 设计 案例 实战 Tkinter 图形界面 图形 发牌 程序
    资源描述:

    1、第第5章章 Tkinter 图形绘制图形绘制图形图形版发牌程序版发牌程序主讲主讲 夏敏捷夏敏捷计算机学院副教授计算机学院副教授5.1 扑克牌发牌窗体程序功能介绍 4名牌手打牌,计算机随机将52张牌(不含大王和小王)发给4名牌手,在屏幕上显示每位牌手的牌,程序的运行效果如图所示。接下来,我们以Tkinter模块图形Canvas绘制为例学习建立一些简单的GUI(图形用户界面)游戏界面。5.2 程序设计的思路 将要发的52张牌,按梅花012,方块1325,红桃2638,黑桃3951顺序编号并存储在pocker列表(未洗牌之前),列表元素存储的是某张牌(实际上是牌的编号)。同时按此编号顺序存储扑克牌图

    2、片imgs列表中。也就是说imgs0存储梅花A的图片,imgs1存储梅花2的图片,则imgs14存储方块2的图片。发牌后,根据每位牌手(p1,p2,p3,p4)各自牌的编号列表,从imgs获取对应牌的图片并使用create_image(x坐标,y坐标),image=图像文件)显示在指定位置。5.3 Canvas图形绘制技术 5.3.1 Canvas5.3.1 Canvas画布组件画布组件 Canvas(画布)是一个长方形的区域,用于图形绘制或复杂的图形界面布局。可以在画布上绘制图形、文字,放置各种组件和框架。5.3 图形绘制5.3.2 Canvas5.3.2 Canvas上的图形对象上的图形对

    3、象Canvas画布上可以绘制各种图形对象。通过调用如下绘制函数实现。create_arc()绘制圆弧。create_line()绘制直线。create_bitmap()绘制位图。create_image()绘制位图图像。create_oval()绘制椭圆。create_polygon()绘制多边形。create_window()绘制子窗口。create_text()创建一个文字对象图形对象id、标记(tag)id1=cv.create_line(10,10,100,80,width=2,dash=7)#绘制直线id1可以得到绘制对象直线id。使用属性tags设置图形对象的标记(tag)rt=c

    4、v.create_rectangle(10,10,110,110,tags=r1)上面的语句指定矩形对象rt具有一个标记r1。rt=cv.create_rectangle(10,10,110,110,tags=(r1,r2,r3)上面的语句指定矩形对象rt具有3个标记r1,r2,r3。使用find_withtag(r1)方法可以获取到指定tag的图形对象。【例5-1】使用属性tags设置图形对象标记的例子。from tkinter import*root=Tk()#创建一个Canvas,设置其背景色为白色cv=Canvas(root,bg=white,width=200,height=200)

    5、#使用tags指定给第一个矩形指定3个tagrt=cv.create_rectangle(10,10,110,110,tags=(r1,r2,r3)cv.pack()cv.create_rectangle(20,20,80,80,tags=r3)#使用tags指定给第2个矩形指定1个tag#将所有与tag(r3)绑定的item边框颜色设置为蓝色for item in cv.find_withtag(r3):cv.itemconfig(item,outline=blue)root.mainloop()2绘制圆弧 Canvas对象.create_arc(弧外框矩形左上角的x坐标,弧外框矩形左上角的

    6、y坐标,弧外框矩形右下角的x坐标,弧外框矩形右下角的y坐标,选项,.)【例5-2】使用create_ arc()方法创建圆弧的例子。3绘制线条 canvas.create_line(x0,y0,x1,y1,.,xn,yn,选项)参数x0,y0,x1,y1,.,xn,yn是线段的端点。【例5-3】使用create_line()方法创建线条对象的例子。from tkinter import*root=Tk()cv=Canvas(root,bg=white,width=200,height=100)cv.create_line(10,10,100,10,arrow=none)#绘制没有箭头线段cv.

    7、create_line(10,20,100,20,arrow=first)#绘制起点有箭头线段cv.create_line(10,30,100,30,arrow=last)#绘制终点有箭头线段cv.create_line(10,40,100,40,arrow=both)#绘制两端有箭头线段cv.create_line(10,50,100,100,width=3,dash=7)#绘制虚线cv.pack()root.mainloop()4绘制矩形 使用create_ rectangle()方法可以创建矩形对象。Canvas对象.create_rectangle(矩形左上角的x坐标,矩形左上角的y坐

    8、标,矩形右下角的x坐标,矩形右下角的y坐标,选项,.)创建矩形对象时的常用选项:outline指定边框颜色,fill指定填充颜色,width指定边框的宽度,dash指定边框为虚线,stipple使用指定自定义画刷填充矩形。【例5-4】使用create_rectangle()方法创建矩形对象的例子。运行效果如图5-4所示。5绘制多边形 使用create_polygon()方法可以创建一个多边形对象,Canvas对象.create_polygon(顶点1的x坐标,顶点1的y坐标,顶点2的x坐标,顶点2的y坐标,顶点n的x坐标,顶点n的y坐标,选项,.)【例5-5】创建三角形、正方形、对顶三角形对象

    9、的例子。6绘制椭圆 使用create_oval()方法可以创建一个椭圆对象 Canvas对象.create_oval(包裹椭圆的矩形左上角x坐标,包裹椭圆的矩形左上角y坐标,包裹椭圆的矩形右下角x坐标,包裹椭圆的矩形右下角y坐标,选项,.)7绘制文字 7绘制文字 使用create_text()方法可以创建一个文字对象 文字对象=Canvas对象.create_text(文本左上角的x坐标,文本左上角的y坐标),选项,.)8绘制位图和图像(1)绘制位图使用create_bitmap()方法可以绘制Python内置的位图Canvas对象.create_bitmap(x坐标,y坐标),bitmap=

    10、位图字符串,选项,.)其中:(x坐标,y坐标)是位图放置的中心中心坐标;常用选项有bitmap、activebitmap和disabledbitmap,分别用于指定正常、活动、禁用状态显示的位图。(2)绘制图像在游戏开发中需要使用大量图像,采用create_image()方法可以绘制图形图像,具体方法如下:Canvas对象.create_image(x坐标,y坐标),image=图像文件对象,选项,.)【例5-9】绘制图像示例,运行效果如图5-9所示。9修改图形对象的坐标使用coords()方法可以修改图形对象的坐标,具体方法如下:Canvas对象.coords(图形对象,(图形左上角的x坐标

    11、,图形左上角的y坐标,图形右下角的x坐标,图形右下角的y坐标)【例5-10】修改图形对象的坐标示例,运行效果如图5-10所示。10移动指定图形对象 使用move()方法可以修改图形对象的坐标,具体方法如下:Canvas对象.move(图形对象,x坐标偏移量,y坐标偏移量)11删除图形对象使用delete()方法可以删除图形对象Canvas对象.delete(图形对象)例如:cv.delete(rt1)#删除rt1图形对象12缩放图形对象 使用scale()方法可以缩放图形对象,具体方法如下:Canvas对象.scale(图形对象,x轴偏移量,y轴偏移量,x轴缩放比例,y轴缩放比例)扑克牌发牌程序窗体图形版 4名牌手打牌,电脑随机将52张牌(不含大小鬼)发给4名打牌,在屏幕上显示每位牌手的牌。程序的运行效果如图所示。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python游戏设计案例实战第5章-Tkinter图形界面设计-图形版发牌程序.ppt
    链接地址:https://www.163wenku.com/p-3371784.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库