python实现机器人卡牌


Posted in Python onOctober 06, 2019

介绍

这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息。

代码部分非原创只是做了些许修改和整理使得更易阅读。

图片和文件资源请访问git仓库获取:链接地址

涉及以下知识点:

1.文件读取
2.字典
3.turtle库的使用
4.控制语句 

实现的效果

python实现机器人卡牌

代码

#!/bin/python3
 
from turtle import *
from random import choice
 
screen = Screen()
screen.setup(400, 400)
screen.bgcolor('white')
penup()
hideturtle()
robots = {}
 
file = open('resource/cards.txt', 'r')
 
# 将文件中机器人信息装载到字典中
for line in file.read().splitlines():
 name, battery, intelligence, usefulness, speed, image, colour = line.split(', ')
 robots[name] = [battery, intelligence, usefulness, speed, image, colour]
 screen.register_shape('img/' + image)
file.close()
 
print('Robots: ', ', '.join(robots.keys()), ' (or random)')
 
while True:
 robot = input("Choose a robot: ")
 if robot == "random":
 robot = choice(list(robots.keys()))
 print(robot)
 
 if robot in robots:
 stats = robots[robot]
 style = ('Courier', 14, 'bold')
 clear()
 color(stats[5])
 goto(0, 100)
 shape('img/' + stats[4])
 setheading(90)
 # 将当前位置上的形状复制到画布上
 stamp()
 setheading(-90)
 forward(70)
 write('Name: ' + robot, font=style, align='center')
 forward(25)
 write('Battery: ' + stats[0], font=style, align='center')
 forward(25)
 write('Intelligence: ' + stats[1], font=style, align='center')
 forward(25)
 write('Usefulness: ' + stats[2], font=style, align='center')
 forward(25)
 write('Speed: ' + stats[3], font=style, align='center')
 else:
 print("Robot doesn't exist!")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
python3中的md5加密实例
May 29 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
python基于tkinter实现gif录屏功能
May 19 Python
pytorch 带batch的tensor类型图像显示操作
May 20 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
Jun 21 Python
Django实现文件上传下载功能
Oct 06 #Python
使用turtle绘制五角星、分形树
Oct 06 #Python
wxPython:python首选的GUI库实例分享
Oct 05 #Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 #Python
python是否适合网页编程详解
Oct 04 #Python
为什么说Python可以实现所有的算法
Oct 04 #Python
python的命名规则知识点总结
Oct 04 #Python
You might like
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
php微信支付之APP支付方法
2015/03/04 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
幼儿园感恩节活动方案
2014/10/06 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
如何利用python实现列表嵌套字典取值
2022/06/10 Python