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程序中进行文件读取和写入操作的教程
Apr 28 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python如何拆分含有多种分隔符的字符串
Mar 20 Python
Python+pandas计算数据相关系数的实例
Jul 03 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
python实现一个简单的udp通信的示例代码
Feb 01 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
Python中zipfile压缩包模块的使用
May 14 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
Vue自定义弹窗指令的实现代码
2018/08/13 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
Python正规则表达式学习指南
2016/08/02 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
校班主任推荐信范文
2013/12/03 职场文书
出生公证委托书
2014/04/03 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis