python实现机器人卡牌
介绍
这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息。
代码部分非原创只是做了些许修改和整理使得更易阅读。
图片和文件资源请访问git仓库获取:链接地址
涉及以下知识点:
1.文件读取
2.字典
3.turtle库的使用
4.控制语句
实现的效果
代码
#!/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实现机器人行走效果的具体代码,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,
-
教你用Python创建微信聊天机器人
最近研究微信API,发现个非常好用的python库:wxpy.wxpy基于itchat,使用了 Web 微信的通讯协议,实现了微信登录.收发消息.搜索好友.数据统计等功能. 这里我们就来介绍一下这个库,并在最后实现一个聊天机器人. 有没有很兴奋?有没有很期待? 好了,接下来,开始我们的正题. 准备工作 安装非常简单,从官方源下载安装 pip install -U wxpy 或者从豆瓣源安装 pip install -U wxpy -i "https://pypi.doubanio.com/sim
-
使用Python的Tornado框架实现一个简单的WebQQ机器人
我打算将WebQQ单独出来运行, 一开始直接拷贝了pyxmpp2的mainloop, 但是跑起来问题多多, 所以我又研究了利用Tornado进行网络编程(这里), 所以我放弃了Pyxmpp2的mainloop,使用Tornado进行重写 首先放出项目代码 引子 WebQQ协议是一套基于HTTP的QQ协议, 而用Python的urllib2库进行请求太慢, 因为HTTP本身就使用socket请求, 所以改用多路复用I/O模型, 而Tornado简单高效, 看过代码后可以轻松上手.平台兼容性很好,
-
快速实现基于Python的微信聊天机器人示例代码
最近听说一个很好玩的图灵机器人api,正好可以用它做一个微信聊天机器人,下面是实现 # test.py import requests import itchat #这是一个用于微信回复的库 KEY = '8edce3ce905a4c1dbb965e6b35c3834d' #这个key可以直接拿来用 # 向api发送请求 def get_response(msg): apiUrl = 'http://www.tuling123.com/openapi/api' data = { 'key' :
-
采用python实现简单QQ单用户机器人的方法
采用python实现简单QQ单用户机器人的方法如下: 一.首先我们查看一下关于3GQQ的相关协议: 对此,打开一个支持WAP的浏览器,可以使用Firefox的wmlbrowser插件,打开FF后,访问地址 https://addons.mozilla.org/zh-CN/firefox/search/?q=wmlbrowser&cat=all&x=17&y=11 二.进入3GQQ的进行协议分析 3GQQ的地址是:http://pt.3g.qq.com/s?ai
-
基于Python如何使用AIML搭建聊天机器人
借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人.AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的. AIML 是什么? AIML由Richard Wallace发明.他设计了一个名为 A.L.I.C.E. (Artificial Linguistics Internet Comp
-
Python实现聊天机器人的示例代码
一.AIML是什么 AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由RichardS. Wallace 博士和Alicebot开源软件组织于1995-2000年间发明创造的.AIML是一种为了匹配模式和确定响应而进行规则定义的 XML 格式. 二.实现第一个聊天机器人 (一)安装Python aiml库 pip install aiml (二)获取alice资源 Python aiml安
-
python使用itchat库实现微信机器人(好友聊天、群聊天)
itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友.添加好友.拉好友群聊.微信机器人等等.详细用户请看文档介绍,在这里. 本文主要使用该库完成一个能够处理微信消息的的图灵机器人,包括好友聊天.群聊天. 1.itchat库的安装 pip install itchat 安装完成后运行以下代码,会出现出现一张二维码,扫码登陆之后将会登陆微信网页. 2.登陆 import itchat # 登陆 itchat.auto_login() # 可设置hotRelo
-
python基于itchat实现微信群消息同步机器人
最近 全栈数据工程师养成攻略 的微信群已经将近500人,开了二群之后为了打通不同微信群之间的消息,花了点时间做了个消息同步机器人,在任意群收到消息时同步到其他群,并且将聊天内容上传至数据库,以供进一步分析.统计和展示. 基本思路是,用 Python 模拟微信登陆,接收到群里消息后,对文本.图片.分享等各类消息类型分别处理,并转发至其他群. 前期准备 首先得有一个微信号,用于代码模拟登陆.由于我的微信号得自己留着用,现阶段注册微信又必须要手机号,于是只好特意办了个电信号,用来申请了一个新的微信,微
-
python实现机器人卡牌
介绍 这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息. 代码部分非原创只是做了些许修改和整理使得更易阅读. 图片和文件资源请访问git仓库获取:链接地址 涉及以下知识点: 1.文件读取 2.字典 3.turtle库的使用 4.控制语句 实现的效果 代码 #!/bin/python3 from turtle import * from random import choice screen = Screen() screen.setup(400, 400) scree
-
Android利用Camera实现中轴3D卡牌翻转效果
在Android系统API中,有两个Camera类: android.graphics.Camera android.hardware.Camera 第二个应用于手机硬件中的相机相关的操作,本文讲述的是利用第一个Camera类实现中轴3D转换的卡牌翻转效果,开始之前,先看一下Android系统中的坐标系: 对应于三维坐标系中的三个方向,Camera提供了三种旋转方法: rotateX() rotateY() rotateX() 调用这三种方法,传入旋转角度参数,即可实现视图沿着坐标轴旋转的功能.
-
js CSS3实现卡牌旋转切换效果
我们经常会在游戏里看到一些几张卡牌左右切换的效果,中间的一张最突出醒目,向左或向右滑动可切换到另一张,今天我们就用CSS3来实现下这种效果. 我们先来看个demo,具体的样式各位可以自己调整: (PC下可点击按钮切换,移动端可左右滑动切换) 从效果上我们可以看到,这5个div可以左右的切换,每次切换时总会有一个在中间显眼的位置进行展示.在切换时,看起来是div进行了移动,进行了DOM的增删操作.但是如果审查下元素,就能看到,DOM元素没有变换位置,它依然在那个位置,我们只是切换了每个元素上的cl
-
Unity实现卡牌翻动效果
本文实例为大家分享了Unity实现卡牌翻动效果展示的具体代码,供大家参考,具体内容如下 事实上这是项目需要,我改的一个代码,实际上就是利用unity的一些基础属性实现其效果.啥也不多说了,先上原代码: /// Credit Mrs. YakaYocha /// Sourced from - https://www.youtube.com/channel/UCHp8LZ_0-iCvl-5pjHATsgw /// Please donate: https://www.paypal.com/cgi-b
-
Unity3D利用DoTween实现卡牌翻转效果
利用Unity的UGUI制作了2D卡牌翻转的效果,如果是sprite对象的话,原理应该也是一样的,以下是效果图 图1 卡牌翻转效果 关于DoTween DoTween是一款十分强大且好用的动画效果插件,有免费版和收费版,免费版就可以满足大部分需求了,在Unity Assets Store里就可以下载,在本效果里就用了DoTween的旋转功能. 设计思路 创建一个空物体,空物体下有两个image对象,一个是正面,一个是背面.假设我们从正面开始,则初始状态下正面的旋转角度为(0,0,0) (0,0,
-
Unity实现游戏卡牌滚动效果
最近项目中的活动面板要做来回滚动卡牌预览效果,感觉自己来写的话,也能写,但是可能会比较耗时,看到Github上有开源的项目,于是就借用了,Github的资源地址,感谢作者的分享. 本篇博客旨在告诉大家如何利用这个插件. 插件的核心在于工程中的6个脚本,以下是六个脚本的源码: DragEnhanceView.cs using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.EventSys
-
Unity3D UGUI实现缩放循环拖动卡牌展示效果
本文实例为大家分享了Unity3D UGUI实现缩放循环拖动卡牌展示的具体代码,供大家参考,具体内容如下 需求:游戏中展示卡牌这种效果也是蛮酷炫并且使用的一种常见效果,下面我们就来实现以下这个效果是如何实现. 思考:第一看看到这个效果,我们首先会想到UGUI里面的ScrollRect,当然也可以用ScrollRect来实现缩短ContentSize的width来自动实现重叠效果,然后中间左右的卡牌通过计算来显示缩放,这里我并没有用这种思路来实现,我提供另外一种思路,就是自己去计算当前每个卡牌的位
-
python实现斗地主分牌洗牌
本文实例为大家分享了python实现斗地主分牌洗牌的具体代码,供大家参考,具体内容如下 1.建立一个序列,共54个元素,表示一副扑克牌,初始化时是有顺序的. 2.编写一段代码完成洗牌功能,即将刚才的序列从有序的排列变成随机的无序排列. 3.编写一段代码完成切牌功能,即找到一个1-54的随机数,将刚才洗牌后的序列从这个随机数开始. 4.编写一段代码完成发牌功能,将刚才这个切牌后的无序序列,按顺序分发到三个序列中去,并剩余三张底牌(也是一个序列). 5.编写一段代码完成理牌功能,首先将分牌后的每个序
-
python制作机器人的实现方法
是否也像拥有自己的机器人呢? 不挨个展示了. 比如说你想实现一个夸人的功能: """ 作者:川川 时间:2021/4/6 """ from nonebot.adapters.cqhttp import Message, PokeNotifyEvent,Bot from nonebot import on_notice import warnings from nonebot.permission import * import requests
随机推荐
- AngularJS中比较两个数组是否相同
- MUI实现上拉加载和下拉刷新效果
- jQuery自定义数值抽奖活动代码
- JavaScript 数组的深度复制解析
- DataGridView中绑定DataTable数据及相关操作实现代码
- ASP.NET简单实现注销功能
- C#中使用SQLite数据库的方法介绍
- 深入理解用mysql_fetch_row()以数组的形式返回查询结果
- 使用Appcan客户端自动更新PHP版本号(全)
- python使用os模块的os.walk遍历文件夹示例
- SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案
- Android在高jar包版本的工程中修改方法
- Android中Listview点击item不变颜色及设置listselector 无效的解决方案
- JavaScript实现快速排序(自已编写)
- MYSQL5 masterslave数据同步配置方法第1/3页
- Fedora环境下装MySQL命令方法介绍
- Hutia 的 JS 代码集
- Javascript中常见的校验如域名、手机、邮箱等等
- java 删除数组元素与删除重复数组元素的代码
- 管理与维护宽带路由器的注意事项