要制作一个机器人编程打卡牌,你可以使用Python的turtle库来动态展示不同机器人的图像和属性信息。以下是一个简单的示例代码,展示了如何实现这个功能:
准备机器人信息
创建一个名为`resource/cards.txt`的文件,其中包含每行机器人的信息,格式为`name, battery, intelligence, usefulness, speed, image, colour`。
读取文件并加载机器人信息
使用Python的`open`函数读取文件,并将每行信息分割成列表,然后存储到一个字典中。
使用turtle库绘制卡牌
创建一个turtle屏幕,并注册每个机器人的图像形状。
通过用户输入选择机器人,并显示其属性信息。
```python
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]
file.close()
显示所有机器人
print('Robots:', ', '.join(robots.keys()))
用户选择机器人
while True:
robot = input("Choose a robot (or type 'random' to select a random one): ")
if robot == "random":
robot = choice(list(robots.keys()))
else:
robot = robot.strip()
if robot in robots:
显示机器人属性
battery, intelligence, usefulness, speed, image, colour = robots[robot]
print(f"Name: {robot}")
print(f"Battery: {battery}%")
print(f"Intelligence: {intelligence}")
print(f"Usefulness: {usefulness}")
print(f"Speed: {speed}")
print(f"Image: {image}")
print(f"Colour: {colour}")
绘制机器人图像
screen.register_shape('img/' + image)
pen.shape('img/' + image)
pen.color(colour)
pen.forward(100)
pen.left(90)
pen.forward(100)
pen.left(90)
pen.forward(100)
pen.left(90)
pen.forward(100)
else:
print("Robot not found. Please try again.")
```
建议
图像文件:
确保在`resource/cards.txt`文件中提到的图像文件路径是正确的,并且图像文件存在于指定的目录中。
用户输入:
这个示例代码假设用户会正确输入机器人名称。在实际应用中,你可能需要添加一些错误处理来确保用户输入的有效性。
界面美化:
这个示例代码只是一个基础版本,你可以根据需要添加更多的美化元素,例如动画效果、字体样式等,以使打卡牌更加吸引人。