用户:
Kimi_hjh查看:70 回复:42 评论:70 创建时间:2022-02-23T19:14:11
【作品展示】

【作品介绍】
通过家灵cAZd建议后改动的作品
【作品源代码】
import time
import turtle
import random
__Pen = turtle.Pen()
time.sleep(1)
a = 0
mypen = turtle.Pen()
length = 200
mypen.pensize(40)
mypen.pencolor('lightsalmon')
mypen.forward(length)
mypen.pensize(30)
mypen.pencolor('white')
mypen.backward(length)
# 出数总和
total = 0
while (total < 20):
# 玩家输入整数
myscreen = turtle.Screen()
try:
player_num = int(turtle.textinput('谁先达到20!', '请输入1~3范围的整数:'))
if (player_num > 3):
print('请输入1~3范围的整数!')
else:
print('玩家出的信息', player_num)
mypen.pencolor('mistyrose')
mypen.forward((player_num * 10))
total = (total + player_num)
print("总和:", total)
if (total == 20):
print('玩家赢了!')
elif (total > 20):
print('玩家输了!')
else:
# 电脑随机出整数
com_num = random.randint(1, 3)
print('电脑出的数', com_num)
mypen.pencolor('salmon')
mypen.forward((com_num * 10))
total = (total + com_num)
print('总和:', total)
if (total == 20):
print('电脑赢了!')
elif (total > 20):
print('电脑输了!')
else:
print('-----------------')
except ValueError:
print('请输入整数!')
mypen.hideturtle()
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn你看一下我做的一些小作品,有意见可提出
import random
y = 0
h = 0
aaa = 0
def ab():
print('a=?')
print('b=?')
c = int(input())
d = int(input())
if (a == c and b == d):
print('yes')
print('很好,继续努力')
print()
y += 1
else:
print('no')
print('错了,继续努力')
print('a是', a)
print('b是', b)
print()
while aaa != 'no':
mz = str(input('请问你的名字是'))
print(mz, '我们来玩一个游戏吧(简单)')
try:
print('请选择题数')
h = int(input())
e = str(input('是否进行;‘yes’或‘no’'))
if (e == 'yes'):
for __count in range(h):
a = random.randint(1, 100)
b = random.randint(1, 100)
print('前面是100-a')
print('后面是100-b')
print((100 - a))
print((100 - b))
ab()
else:
e = str(input('是否开始;‘yes’或‘no’'))
if (e == 'yes'):
print('普通')
for __count in range(h):
z = random.randint(1, 100)
x = random.randint(1, 100)
a = random.randint(1, 50)
b = random.randint(1, 50)
print('前面是', z, '*a')
print('后面是', x, '*b')
print((z * a))
print((x * b))
ab()
else:
e = str(input('是否退出;‘yes’或‘no’'))
if (e == 'no'):
print('困难')
for __count in range(h):
z = random.randint(100, 5000)
x = random.randint(100, 5000)
r = random.randint(1, 100)
g = random.randint(1, 100)
a = random.randint(50, 100)
b = random.randint(50, 100)
print('前面是', z, '*a*', r)
print('后面是', x, '*b*', g)
print(((z * a) * r))
print(((x * b) * g))
ab()
print('一共有', h, '题', '你的答对了', y, '题')
aaa = str(input('是否重来'))
except:
print('请输入数字')
aaa = str(input('是否重来'))
点赞1
评论
import time
import random
b = 0
d = 0
play = [0, 1, 2, 3, 4, 5, 6, 7, 8]
name = str(input('你叫什么名字?'))
print('你好', name)
a = str(input('要下井字棋吗?no 或 点Enter'))
if (a == 'no'):
print('那你走吧')
else:
print('开始吧')
print('\n0', '1', '2', '\n3', '4', '5', '\n6', '7', '8\n')
print('这是位置对应键盘数字')
while (d != 1):
a1n = int(input('你这手下哪?'))
if (a1n > 8 or a1n < 0):
print('这里不能下')
else:
if (play[a1n] != 'O'):
if (play[a1n] != 'X'):
play[a1n] = 'O'
print('\n', play[0], play[1], play[2], '\n', play[3], play[4], play[5], '\n', play[6], play[7], play[8])
else:
print('这里已经有棋子了')
continue
else:
print('这里已经有棋子了')
continue
if play[0] == play[1] == play[2] == 'O':
print('你赢了')
d = 1
elif play[0] == play[1] == play[2] == 'X':
print('你输了')
d = 1
elif play[3] == play[4] == play[5] == 'O':
print('你赢了')
d = 1
elif play[3] == play[4] == play[5] == 'X':
print('你输了')
d = 1
elif play[6] == play[7] == play[8] == 'O':
print('你赢了')
d = 1
elif play[6] == play[7] == play[8] == 'X':
print('你输了')
d = 1
elif play[0] == play[3] == play[6] == 'O':
print('你赢了')
d = 1
elif play[0] == play[3] == play[6] == 'X':
print('你输了')
d = 1
elif play[1] == play[4] == play[7] == 'O':
print('你赢了')
d = 1
elif play[1] == play[4] == play[7] == 'X':
print('你输了')
d = 1
elif play[2] == play[5] == play[8] == 'O':
print('你赢了')
d = 1
elif play[2] == play[5] == play[8] == 'X':
print('你输了')
d = 1
elif play[0] == play[4] == play[8] == 'O':
print('你赢了')
d = 1
elif play[0] == play[4] == play[8] == 'X':
print('你输了')
d = 1
elif play[2] == play[4] == play[6] == 'O':
print('你赢了')
d = 1
elif play[2] == play[4] == play[6] == 'X':
print('你输了')
d = 1
else:
if (play[0] != 0 and play[1] != 1 and play[2] != 2 and play[3] != 3 and play[4] != 4 and play[5] != 5 and play[6] != 6 and play[7] != 7 and play[8] != 8):
print('打平了')
d = 1
if (d != 1):
print('到我了')
time.sleep(2)
for __count in range(100000):
c = random.randint(0, 8)
if (play[c] != 'X'):
if (play[c] != 'O'):
break
play[c] = 'X'
print('\n', play[0], play[1], play[2], '\n', play[3], play[4], play[5], '\n', play[6], play[7], play[8])
点赞1
评论
import os
import webbrowser
from pyecharts import Bar, Line, Pie
def A(a):
b = str(input('是否继续(yes;no)'))
while b == 'yes':
try:
a1m = int(input('项数选择数量'))
a2m = []*a1m
a3m = []*a1m
a4m = []*a1m
if a == 'a' or 'b':
print('注意:饼状图没有复式')
an1 = str(input('是否选择复式(yes不选可直接点Enter)'))
if an1 == 'yes':
for i in range(a1m):
a1 = str(input('项目'))
a2 = int(input('数目一'))
a4 = int(input('数目二'))
a2m.append(a1)
a3m.append(a2)
a4m.append(a4)
else:
for i in range(a1m):
a1 = input('项目')
a2 = int(input('数目'))
a2m.append(a1)
a3m.append(a2)
if a == 'b':
a3 = Bar(str(input('主题')))
if a == 'a':
a3 = Line(str(input('主题')))
if a == 'c':
a3 = Pie(str(input('主题')))
if an1 == 'yes':
if a == 'b':
a3.add(str(input('项目一名字')), a2m, a3m, is_convert=True)
a3.add(str(input('项目二名字')), a2m, a4m,is_convert=True)
if a == 'c':
a3.add(str(input('项目名字')), a2m, a3m, is_label_show=True, gend_orient="horizontal", legend_pos="center", label_formatter="{c}", radius=[60, 75])
if a == 'a':
a3.add(str(input('项目一名字')), a2m, a3m,mark_point=["max", "min", "average"])
a3.add(str(input('项目二名字')), a2m, a4m,mark_point=["max", "min", "average"])
else:
if a == 'b':
a3.add(str(input('项目名字')), a2m, a3m, is_convert=True)
if a == 'c':
a3.add(str(input('项目名字')), a2m, a3m, is_label_show=True,gend_orient="horizontal", legend_pos="center", label_formatter="{c}", radius=[60, 75])
if a == 'a':
a3.add(str(input('项目名字')), a2m, a3m,mark_point=["max", "min", "average"])
a3.render()
webbrowser.open('file://' + os.path.realpath('render.html'))
b = str(input('是否继续(yes;no)'))
b1 = str(input('是否修改统计图(yes;no)'))
if b1 == 'yes':
a = str(input('选择统计图(折线图a,柱状图b,饼状图c)'))
except:
print('请认真填写')
if __name__ == '__main__':
print('项目统计器')
y = str(input('选择统计图(折线图a,柱状图b,饼状图c)'))
if y != ('a' or 'b' or 'c'):
print('没有此项,默认为饼状图c')
A('c')
A(y)
点赞1
评论
Kimi_hjh我试了一下你的这个,我玩完后,显示的是“玩家赢了”同时和“电脑赢了”有点问题imgsrc="http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e9/sk_thumb.gif"alt="emotion_思考"imgsrc="http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e9/sk_thumb.gif"alt="emotion_思考"imgsrc="http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e9/sk_thumb.gif"alt="emotion_思考" importtime importturtle importrandom __Pen=turtle.Pen() time.sleep(1) a=0 mypen=turtle.Pen() length=200 mypen.pensize(40) mypen.pencolor('lightsalmon') mypen.forward(length) mypen.pensize(30) mypen.pencolor('white') mypen.backward(length) #出数总和 total=0 while(total<20): #玩家输入整数 myscreen=turtle.Screen() try: player_num=int(turtle.textinput('谁先达到20!','请输入1~3范围的整数:')) if(player_num>3): print('请输入1~3范围的整数!') else: print('玩家出的信息',player_num) mypen.pencolor('mistyrose') mypen.forward((player_num*10)) total=(total+player_num) print("总和:",total) if(total==20): print('玩家赢了!') elif(total>20): print('玩家输了!') else: #电脑随机出整数 com_num=random.randint(1,3) print('电脑出的数',com_num) mypen.pencolor('salmon') mypen.forward((com_num*10)) total=(total+com_num) print('总和:',total) if(total==20): print('电脑赢了!') elif(total>20): print('电脑输了!') else: print('-----------------') exceptValueError: print('请输入整数!') mypen.hideturtle() turtle.done()
点赞1
评论
Kimi_hjh elif play[0] == play[1] == play[2] == 'X':
print('你输了')
d = 1
elif play[3] == play[4] == play[5] == 'O':
print('你赢了')
d = 1
elif play[3] == play[4] == play[5] == 'X':
print('你输了')
d = 1
elif play[6] == play[7] == play[8] == 'O':
print('你赢了')
d = 1
elif play[6] == play[7] == play[8] == 'X':
print('你输了')
d = 1
elif play[0] == play[3] == play[6] == 'O':
print('你赢了')
d = 1
elif play[0] == play[3] == play[6] == 'X':
print('你输了')
d = 1
elif play[1] == play[4] == play[7] == 'O':
print('你赢了')
d = 1
elif play[1] == play[4] == play[7] == 'X':
print('你输了')
d = 1
elif play[2] == play[5] == play[8] == 'O':
print('你赢了')
d = 1
elif play[2] == play[5] == play[8] == 'X':
print('你输了')
d = 1
elif play[0] == play[4] == play[8] == 'O':
print('你赢了')
d = 1
elif play[0] == play[4] == play[8] == 'X':
print('你输了')
d = 1
elif play[2] == play[4] == play[6] == 'O':
print('你赢了')
d = 1
elif play[2] == play[4] == play[6] == 'X':
print('你输了')
d = 1
我觉得这里可以简化
点赞1
评论
改好了
import turtle
import time
import random
__Pen = turtle.Pen()
__Pen.hideturtle()
turtle.bgcolor('skyblue')
time.sleep(1)
a = 0
new_pen = turtle.Pen()
mypen = turtle.Pen()
mypen.hideturtle()
new_pen.hideturtle()
new_pen.pencolor('midnightblue')
new_pen.penup()
new_pen.goto((-200), (-200))
new_pen.pendown()
mypen.penup()
mypen.goto((-200), 0)
mypen.pendown()
__Pen.penup()
__Pen.pensize(200)
__Pen.goto((-50), 200)
__Pen.write('谁先达到20!', font = ('Arial', 20, 'bold'))
__Pen.goto(0, 100)
__Pen.pendown()
length = 400
mypen.pensize(50)
mypen.pencolor('lightsalmon')
mypen.forward(length)
mypen.pensize(40)
mypen.pencolor('white')
mypen.backward(length)
# 出数总和
total = 0
# 玩家输入整数
myscreen = turtle.Screen()
while (total < 20):
try:
player_num = int(turtle.textinput('谁先达到20!', '请输入1~3范围的整数:'))
if (player_num > 3):
new_pen.write('请输入\n1~3范\n围的整数!', font = ('Arial', 20, 'bold'))
time.sleep(1)
new_pen.pencolor('skyblue')
new_pen.dot(250)
new_pen.pencolor('midnightblue')
else:
new_pen.write('玩家出\n的信息', font = ('Arial', 20, 'bold'))
new_pen.penup()
new_pen.forward((150))
new_pen.pendown()
new_pen.write(player_num, font = ('Arial', 20, 'bold'))
new_pen.forward((-150))
time.sleep(1)
new_pen.pencolor('skyblue')
new_pen.dot(350)
new_pen.pencolor('midnightblue')
mypen.pencolor('mistyrose')
mypen.forward((player_num * 20))
total = (total + player_num)
__Pen.write(total, font = ('Arial', 20, 'bold'))
__Pen.pencolor('skyblue')
time.sleep(1)
__Pen.dot(100)
__Pen.pencolor('black')
if (total == 20):
__Pen.pencolor('yellow')
__Pen.write('玩家赢了!', font = ('Arial', 20, 'bold'))
elif (total > 20):
__Pen.pencolor('red')
__Pen.write('玩家输了!', font = ('Arial', 20, 'bold'))
else:
# 电脑随机出整数
com_num = random.randint(1, 3)
new_pen.write('电脑出\n的信息', font=('Arial', 20, 'bold'))
__Pen.right(40)
new_pen.penup()
new_pen.forward((150))
new_pen.pendown()
new_pen.write(com_num, font=('Arial', 20, 'bold'))
new_pen.forward((-150))
time.sleep(1)
new_pen.pencolor('skyblue')
new_pen.dot(350)
new_pen.pencolor('midnightblue')
mypen.pencolor('salmon')
mypen.forward((com_num * 20))
total = (total + com_num)
__Pen.write(total, font = ('Arial', 20, 'bold'))
__Pen.pencolor('skyblue')
time.sleep(1)
__Pen.dot(100)
__Pen.pencolor('black')
if (total == 20):
__Pen.pencolor('red')
__Pen.write('电脑赢了!', font = ('Arial', 20, 'bold'))
elif (total > 20):
__Pen.pencolor('yellow')
__Pen.write('电脑输了!', font = ('Arial', 20, 'bold'))
else:
pass
except ValueError:
new_pen.write('请输入\n整数!', font = ('Arial', 20, 'bold'))
time.sleep(1)
new_pen.pencolor('skyblue')
new_pen.dot(250)
new_pen.pencolor('midnightblue')
mypen.hideturtle()
turtle.done()点赞1
评论
Kimi_hjhimport turtle
import random
myscreen = turtle.Screen()
mypen = turtle.Pen()
mypen.hideturtle()
mypen.penup()
mypen.goto(-112.5 , 0)
mypen.pendown()
count = 0
p_win = 0
c_win = 0
flag = False
while count < 10 :
player = int(myscreen.textinput("剪刀1-石头2-布3","请输入猜拳对应的数字:"))
computer = random.randint(1 , 3)
if player == 1:
print("玩家出了,剪刀")
elif player == 2:
print("玩家出了,石头")
elif player == 3:
print("玩家出了,布")
else :
print("玩家输入数字超出范围")
flag = True
if computer == 1:
print("计算机出了,剪刀")
elif computer == 2:
print("计算机出了,石头")
else:
print("计算机出了,布")
#判断胜负
if player == computer or flag:
print("此局平局或废局")
mypen.pencolor("gray")
mypen.dot(20)
flag = False
elif player == 1 and computer == 3 or player == 2 and computer == 1 or player == 3 and computer == 2:
print("此局玩家胜")
p_win = p_win + 1
mypen.pencolor("darkgreen")
mypen.dot(20)
elif player == 3 and computer == 1 or player == 1 and computer == 2 or player == 2 and computer == 3:
print("此局计算机胜")
c_win = c_win + 1
mypen.pencolor("red3")
mypen.dot(20)
mypen.penup()
mypen.forward(25)
mypen.pendown()
count = count + 1
print("--------------")
print("玩家的胜局数为:" , p_win)
print("计算机的胜局数为:", c_win)
turtle.done()
点赞0
评论
imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"
点赞0
评论
作品太长发不出来imgsrc="https://static.codemao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%BF%BB%E7%99%BD%E7%9C%BC.gif"alt="emotion_编程猫_翻白眼"
点赞0
评论
from arcade import *
from PIL import Image
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 400
SCREEN_TITLE = 'Rocket Composition'
W = SCREEN_WIDTH // 2
H = SCREEN_HEIGHT // 2
class Background(Sprite):
def __init__(self, image):
super().__init__(image)
self.center_x = W
self.center_y = H
class RocketComposition(arcade.Window):
def __init__(self, width, height, title):
super().__init__(width, height, title)
self.setup()
self.process = 0
self.number_of_clicks = 0
self.flame_state = True
def mydraw(self):
draw_rectangle_filled(W, H+114, 50, 90, color.WHITE)
draw_circle_outline(W, H+114, 10, color.COBALT, 7)
draw_triangle_filled(W+25, H+160, W-25, H+160, W, H+200, color.RED)
draw_rectangle_filled(W, H+12, 30, 110, color.WHITE)
draw_rectangle_filled(W, H-90, 50, 90, color.WHITE)
draw_rectangle_filled(W-41, H-90, 25, 90, color.BLUE)
draw_rectangle_filled(W+41, H-90, 25, 90, color.BLUE)
if self.flame_state:
draw_rectangle_filled(W-41, H-90-50-50, 25, 80, color.ORANGE)
draw_rectangle_filled(W, H-90-50-60, 50, 100, color.ORANGE)
draw_rectangle_filled(W+41, H-90-50-50, 25, 80, color.ORANGE)
else:
draw_rectangle_filled(W-41, H-90-50-40, 25, 80, color.ORANGE)
draw_rectangle_filled(W, H-90-50-50, 50, 100, color.ORANGE)
draw_rectangle_filled(W+41, H-90-50-40, 25, 80, color.ORANGE)
def change_flame(self):
self.flame_state = not self.flame_state
def setup(self):
set_background_color(color.SILVER)
self.teacher = Background('素材/老师.png')
self.teacher.center_x = 100
self.teacher.center_y = H - 150
self.teacher.append_texture(load_texture(
'素材/老师.png', mirrored=True, scale=1))
background = ['素材/初始背景.png', '素材/万户.png', '素材/星空.png', '素材/水星.png',
'素材/金星.png', '素材/地球.png', '素材/火星.png', '素材/木星.png', '素材/土星.png', '素材/天王星.png']
for i in background:
image = Image.open(i).resize((SCREEN_WIDTH, SCREEN_HEIGHT)).save(i)
self.background1 = Background('素材/初始背景.png')
self.background2 = Background('素材/万户.png')
self.background3 = Background('素材/星空.png')
self.background4 = Background('素材/水星.png')
self.background5 = Background('素材/金星.png')
self.background6 = Background('素材/地球.png')
self.background7 = Background('素材/火星.png')
self.background8 = Background('素材/木星.png')
self.background9 = Background('素材/土星.png')
self.background10 = Background('素材/天王星.png')
self.background11 = Background('素材/海王星.png')
self.background12 = Background('素材/再见.png')
def on_draw(self):
if self.process == 5:
self.background3.draw()
if self.number_of_clicks == 26:
draw_text('太阳系有七大行星,它们分\n别是水星、金星、地球、火\n星、木星、土星、天王星。', W, H,
color.RED, 20, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 27:
draw_text('而我们本次要按它们离太阳\n的远近来分别介绍。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 28:
self.process = 6
if self.process == 6:
self.background4.draw()
if self.number_of_clicks == 29:
draw_text('这个是水星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 30:
draw_text('水星是太阳系的八大行星中最\n小且最靠近太阳的行星。轨道\n周期是87.9691天,', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 31:
draw_text('116天左右与地球会合一次,\n公转速度远远超过太阳系的其\n它行星。水星是表面昼夜温\n差最大的行星,', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 32:
draw_text('大气层极为稀薄无法有效保存\n热量,白天时赤道地区温度可\n达432°C,夜间可降至', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 33:
draw_text('-172°C。水星的轴倾斜是太阳\n系所有行星中最小的(大约1\n/30度),但有最大的轨道偏', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 34:
draw_text('心率。水星在远日点的距离大约\n是在近日点的1.5倍。水星\n表面遍布环形山,与月球和\n其他', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')点赞0
评论
if self.number_of_clicks == 35:
draw_text('卫喵似,其地质在数十亿年来\n都处于非活动状态。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 36:
self.process = 7
if self.process == 7:
self.background5.draw()
if self.number_of_clicks == 37:
draw_text('这个是金星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 38:
draw_text('金星在夜空中的亮度仅次于\n月球,是第二亮的天体,视\n星等可以达到-4.7等,足以', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 39:
draw_text('在地面照射出影子。由于金\n星是在地球内侧的内行星,\n它永远不会远离太阳运行:', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 40:
draw_text('它的离日度最大值为47.8°。\n金星是一颗与地球相似的类\n地行星,常被称为地球的姊', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 41:
draw_text('妹星。它有着四颗类地行星\n中最浓厚的大气层,其中超\n过96 % 都是二氧化碳,金星表', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 42:
draw_text('面的大气压力是地球的92倍\n。其表面的平均温度高达73\n5 K(462 °C),是太阳系\n中最热的行星,', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 43:
draw_text('比最靠近太阳的水星还要热。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 44:
self.process = 8
if self.process == 8:
self.background6.draw()
if self.number_of_clicks == 45:
draw_text('这是我们熟知的地球。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 46:
draw_text('是距离太阳的第三颗行星,\n也是目前已知的唯一孕育和\n支持生命的天体。地球表面\n的大', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 47:
draw_text('约 29.2 % 是由大陆和岛屿组成\n的陆地。剩余的 70.8 % 被水覆盖,\n大部分被海洋、', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 48:
draw_text('海湾和其他咸水体覆盖,也\n被湖泊、河流和其他淡水覆\n盖,它们共同构成了水圈。\n地球', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 49:
draw_text('的大部分极地地区都被冰覆\n盖。地球外层分为几个刚性\n构造板块,它们在数百万年', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 50:
draw_text('的时间里在地表迁移,而其\n内部仍然保持活跃,有一个\n固体铁内核、', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 51:
draw_text('一个产生地球磁场的液体外\n核,以及一个驱动板块构造\n的对流地幔。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 52:
self.process = 9
if self.process == 9:
self.background7.draw()
if self.number_of_clicks == 53:
draw_text('这是火星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 54:
draw_text('火星大气以二氧化碳为主(95.3 %),\n既稀薄又寒冷,遍布撞击坑、\n峡谷、沙丘和砾石,', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 55:
draw_text('没有稳定的液态水。南半球\n是古老、充满撞击坑的高地,\n北半球则是较年轻的低地平\n原。火', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 56:
draw_text('星上有太阳系已知最大的山—\n奥林帕斯山和最大的峡谷—\n水手号峡谷。火星有两个天\n然卫星:火卫一和火卫二,', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 57:
draw_text('形状不规则,可能是捕获的\n小行星。根据观测的证据,\n在火星观察到类似地下水涌\n出的现象,南极冰冠有', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 58:
draw_text('部分退缩,雷达数据显示两\n极和中纬度地表下存在大量\n的水冰。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 59:
self.process = 10
if self.process == 10:
self.background8.draw()
if self.number_of_clicks == 60:
draw_text('这个是木星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 61:
draw_text('木星是颗巨行星,质量是太\n阳的千分之一,但却是太阳\n系其他行星质量总和的2.5倍。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 62:
draw_text('木星的主要成分是氢,但只\n占十分之一分子数量的氦,\n却占了总质量的四分之一;', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 63:
draw_text('它可能有喵核心和重元素\n,但没有可以明确界定的固\n体表面。由于快速地自转,\n木星的外观呈现', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 喵:
draw_text('扁球体。大气层依纬度成不\n同的区与带,在彼此的交界\n处有湍流和风暴作用着。最\n显著的例子就是大', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 65:
draw_text('红斑,这是17世纪第一次被\n望远镜见到后就未曾停歇过\n的巨大风暴。环绕着木星的\n还有微弱的行星环', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 66:
draw_text('和强大的磁层,包括4颗161\n0年发现的伽利略卫星,至2\n019年12月已经发现79颗卫\n星。木卫三是其中', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')点赞0
评论
if self.number_of_clicks == 67:
draw_text('最大的一颗,其直径大于行\n星中的水星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 68:
self.process = 11
if self.process == 11:
self.background9.draw()
if self.number_of_clicks == 69:
draw_text('这是土星。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 70:
draw_text('土星是气态巨行星,主要由氢\n组成,还有少量的氦与少量\n元素,内部的核心包括喵\n和冰,喵', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 71:
draw_text('由数层金属氢和气体包覆着。\n最外层的大气层在外观上通\n常情况下都是平淡的,虽然\n有时会有长', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 72:
draw_text('时间存在的特殊出现。土星的\n风速高达1800千米/时,风\n速明显比木星快。土星的行星\n磁场强度介于地球和', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 73:
draw_text('更强的木星之间。土星有一个\n显著的行星环系统,主要的\n成分是冰的微粒和较少数的岩\n石残骸以及', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 74:
draw_text('尘土。2019年确认的土星的卫\n星有82颗,是八大行星中最\n多的一个。其中,土卫六是土\n星系统中最大和太阳', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 75:
draw_text('系中第二大的卫星,仅次于木\n卫三,比行星中的水星还要\n大,并且土卫六是太阳系仅有\n的拥有明显大气层的卫', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 76:
draw_text('星。土星自转一周等于10小时\n33分38秒,大约是地球的半\n天时长。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 77:
self.process = 12
if self.process == 12:
self.background10.draw()
if self.number_of_clicks == 78:
draw_text('这个是天王星', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 79:
draw_text('天王星大气的主要成分是氢、\n氦、甲烷和氘。据推测,其\n内部可能含有丰富的重元素。\n地幔由甲烷和氨的冰组成,\n可能含', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 80:
draw_text('有水。内核由冰和喵组成。\n天王星是太阳系内大气层最\n冷的行星,最低温度为49K(-224℃)。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 81:
self.process = 13
if self.process == 13:
self.background11.draw()
if self.number_of_clicks == 82:
draw_text('这个是海王星', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 83:
draw_text('海王星的大气层的化学组成\n以氢分子和氦为主。此外,\n海王星大气中还有微量的甲\n烷,这是使行星呈蓝色的原\n因之一。海王星有着强烈', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 84:
draw_text('的风暴,测量到的风速高达\n2400km/h。海王星云顶温度\n是-218摄氏度(55K),比\n天王星云顶温度稍高。', W, H, color.RED, 20, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 85:
self.process = 14
if self.process == 14:
self.background1.draw()
self.teacher.draw()
self.teacher.center_x = 100
self.teacher.center_y = H-150
if self.number_of_clicks == 86:
draw_text('同学们,上面只是\n太阳系的部分知\n识,有兴趣可以自\n己去了解。', self.teacher.center_x+50, self.teacher.center_y+45, color.BLUE, 10, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 87:
draw_text('同学们,既然了解\n了太阳系,那我\n的课程正式结束了。', self.teacher.center_x+50, self.teacher.center_y+30, color.BLUE, 10, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 88:
draw_text('或许这个过程很短\n,但了解到了很\n多知识也是很好的。', self.teacher.center_x+50, self.teacher.center_y+30, color.BLUE, 10, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 89:
draw_text('而现在,已经完成\n了课程那也要说\n再见了,希望以后\n也能继续相见。', self.teacher.center_x+50, self.teacher.center_y+45, color.BLUE, 10, font_name=(
'simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 90:
self.process = 15
if self.process == 15:
self.background12.draw()
if self.process == 3:
self.change_flame()
start_render()
if self.process == 0:
self.teacher.set_texture(1)
self.background1.draw()
if self.process == 4:
self.teacher.set_texture(1)
self.background1.draw()
self.teacher.draw()
self.teacher.center_x = 100
self.teacher.center_y = H - 150
if self.number_of_clicks == 24:
draw_text('那么大家,既然了\n解了火箭,就让我\n们去了解一下太阳系吧。', self.teacher.center_x + 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 25:
self.process = 5
if self.process == 3:
self.mydraw()
self.teacher.set_texture(0)点赞0
评论
self.teacher.center_x = 550
self.teacher.center_y = H
self.teacher.draw()
if self.number_of_clicks == 11:
draw_text('同学们,这是一个\n三级火箭的基础模\n型。', self.teacher.center_x - 50, self.teacher.center_y + 30,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 12:
draw_text('让我们来了解一下\n火箭吧。', self.teacher.center_x - 50, self.teacher.center_y + 15,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 13:
draw_text('火箭常用的运载火\n箭按其所用的推进\n剂来分,可', self.teacher.center_x - 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 14:
draw_text('分为固体火箭、液\n体火箭和固液混合\n型火箭三种类型。', self.teacher.center_x - 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 15:
draw_text('像我国的长征三号\n运载火箭是一种三\n级液体火箭。', self.teacher.center_x - 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 16:
draw_text('而我国的长征一号\n运载火箭则是一种\n固液混合型的三级\n火箭。', self.teacher.center_x - 50, self.teacher.center_y +
45, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 17:
draw_text('其第一级、第二级\n是液体火箭,而第\n三级是固体火箭。', self.teacher.center_x - 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 18:
draw_text('再举一个例子,美\n国的“飞马座”运载\n火箭则是一种三级\n固体火箭。', self.teacher.center_x - 50, self.teacher.center_y +
45, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 19:
draw_text('如果按级数来分,\n运载火箭又可分为\n单级火箭、多级火\n箭。', self.teacher.center_x - 50, self.teacher.center_y +
45, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 20:
draw_text('其中多级火箭按级\n与级之间的连接型\n式来分,又可分为\n串联型、', self.teacher.center_x - 50, self.teacher.center_y +
45, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 21:
draw_text('并联型(俗称捆绑\n式)、串并联混合\n型三种类型。', self.teacher.center_x - 50, self.teacher.center_y +
30, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 22:
draw_text('关于火箭的资料还\n有很多,大家有兴\n趣可以自己了解一\n下,我就不一一介\n绍了。', self.teacher.center_x - 50, self.teacher.center_y +
60, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 23:
self.process = 4
if self.process == 1:
self.background2.draw()
if self.process == 0:
self.teacher.draw()
if self.process == 2:
self.background1.draw()
self.teacher.center_x = 100
self.teacher.center_y = H - 150
self.teacher.draw()
draw_text('那么同学们,既然知\n道了火箭的起源,那\n我们就来了解一下\n火箭吧。', self.teacher.center_x + 50, self.teacher.center_y +
45, color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 10:
self.process = 3
if self.number_of_clicks == 0:
draw_text('哈喽,大家好。我是\n本次科普课程的老师。', self.teacher.center_x + 50, self.teacher.center_y + 30,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 1:
draw_text('本次科普的主角是\n我们的火箭。', self.teacher.center_x + 50, self.teacher.center_y + 30,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 2:
draw_text('想要了解火箭就要\n先了解它的起源。', self.teacher.center_x + 50, self.teacher.center_y + 30,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 3 and self.process == 0:
draw_text('想要了解的话就先\n跟我来。', self.teacher.center_x + 50, self.teacher.center_y + 30,
color.BLUE, 10, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.teacher.right != SCREEN_WIDTH:
self.teacher.center_x += 5
elif self.teacher.right == SCREEN_WIDTH:
self.process = 1
if self.process == 1:
if self.number_of_clicks == 4:
draw_text('其实我们中国在古时候就已\n经十分好奇地球外的世界了。', W, H+30, color.RED, 20,
font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 5:
draw_text('但是哪一个时候并没有我们\n这样发达的科技,所以只得\n幻想太空的故事,像《牛\n郎织女》、《嫦娥奔月》都\n是由人们幻想出来的故事。', W, H+60,
color.RED, 20, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 6:
draw_text('而在明朝的时候,有一个叫\n万户的官员,为了实现自己\n的航天梦想,自己制作了\n47支火箭绑在了椅子上/', W, H+45, color.RED,
20, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 7:
draw_text('自己坐在椅子上,双手举着\n大风筝。设想利用火箭的推\n力,飞上天空,然后利用\n风筝平稳着陆。', W, H+45, color.RED,
20, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 8:
draw_text('不幸火箭爆炸,万户也为此\n献出了生命。但也因此人们\n称他为“世界航天第一人”。', W, H+30, color.RED,
20, font_name=('simhei', 'PingFang'), anchor_x='center', anchor_y='center')
if self.number_of_clicks == 9:
self.process = 2
def on_key_release(self, symbol, modifiers):
if (symbol == key.S and self.number_of_clicks < 3) or (symbol == key.S and self.process != 0):
self.number_of_clicks += 1
if __name__ == '__main__':
game = RocketComposition(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
run()
点赞0
评论