import pgzrun
import ybc_ai
import random
def calculate(a,b,c):
if c == '加':
return a + b
elif c == '减':
return a - b
elif c == '乘':
return a * b
elif c == '除':
return a / b
# 以下是C3游戏开发的代码,后续课程我们会学习到哦!
sound_0 = '化整为零的零' # 0
sound_1 = '一往无前的一' # 1
sound_2 = '二龙戏珠的二' # 2
sound_3 = '三阳开泰的三' # 3
sound_4 = '四面楚歌的四' # 4
sound_5 = '五彩斑斓的五' # 5
sound_6 = '六六大顺的六' # 6
sound_7 = '七步成诗的七' # 7
sound_8 = '八仙过海的八' # 8
sound_9 = '一言九鼎的九' # 9
sound_10 = '执行加法运算' # 加
sound_11 = '执行减法运算' # 减
sound_12 = '执行乘法运算' # 乘
sound_13 = '执行除法运算' # 除
sound_14 = ' 快来瞅瞅结果吧 ' # 等于
sound_15 = '清除~' # 清空
def sound(a):
n = random.choice([6, 8, 9, 10])
if a == '0':
ybc_ai.text2voice(sound_0,'music/w0.wav', n)
music.play_once('w0.wav')
elif a == '1':
ybc_ai.text2voice(sound_1,'music/w1.wav', n)
music.play_once('w1.wav')
elif a == '2':
ybc_ai.text2voice(sound_2,'music/w2.wav', n)
music.play_once('w2.wav')
elif a == '3':
ybc_ai.text2voice(sound_3,'music/w3.wav', n)
music.play_once('w3.wav')
elif a == '4':
ybc_ai.text2voice(sound_4,'music/w4.wav', n)
music.play_once('w4.wav')
elif a == '5':
ybc_ai.text2voice(sound_5,'music/w5.wav', n)
music.play_once('w5.wav')
elif a == '6':
ybc_ai.text2voice(sound_6,'music/w6.wav', n)
music.play_once('w6.wav')
elif a == '7':
ybc_ai.text2voice(sound_7,'music/w7.wav', n)
music.play_once('w7.wav')
elif a == '8':
ybc_ai.text2voice(sound_8,'music/w8.wav', n)
music.play_once('w8.wav')
elif a == '9':
ybc_ai.text2voice(sound_9,'music/w9.wav', n)
music.play_once('w9.wav')
elif a == '加':
ybc_ai.text2voice(sound_10,'music/w10.wav', n)
music.play_once('w10.wav')
elif a == '减':
ybc_ai.text2voice(sound_11,'music/w11.wav', n)
music.play_once('w11.wav')
elif a == '乘':
ybc_ai.text2voice(sound_12,'music/w12.wav', n)
music.play_once('w12.wav')
elif a == '除':
ybc_ai.text2voice(sound_13,'music/w13.wav', n)
music.play_once('w13.wav')
elif a == '等于':
ybc_ai.text2voice(sound_14,'music/w14.wav', n)
music.play_once('w14.wav')
elif a == '清空':
ybc_ai.text2voice(sound_15,'music/w15.wav', n)
music.play_once('w15.wav')
WIDTH = 1200
HEIGHT = 720
bg = Actor('bg',[600, 360])
ni_list = ['0','1','2','3','4','5','6','7','8','9']
n_list = []
for i in ni_list:
n = Actor(i)
n_list.append(n)
n_list[1].pos = [300,260]
n_list[2].pos = [500,260]
n_list[3].pos = [700,260]
n_list[4].pos = [300,360]
n_list[5].pos = [500,360]
n_list[6].pos = [700,360]
n_list[7].pos = [300,460]
n_list[8].pos = [500,460]
n_list[9].pos = [700,460]
n_list[0].pos = [500,560]
fi_list = ['加','减','乘','除']
f_list = []
for i in fi_list:
f = Actor(i)
f_list.append(f)
f_list[0].pos = [940, 240]
f_list[1].pos = [940, 350]
f_list[2].pos = [940, 460]
f_list[3].pos = [940, 570]
num1 = Actor('数字框',[250, 130])
n1 = ''
num2 = Actor('数字框',[600, 130])
n2 = ''
res = Actor('数字框',[940, 130])
r = ''
fuhao = Actor('符号',[425, 130])
fh = ''
dy = Actor('等于1',[770, 130])
dy1 = Actor('等于',[300, 560])
qk = Actor('清空',[700, 560])
fs1 = 30
fs2 = 30
fs3 = 30
def draw():
global fs1,fs2,fs3
bg.draw()
for n in n_list:
n.draw()
for f in f_list:
f.draw()
num1.draw()
num2.draw()
res.draw()
fuhao.draw()
dy.draw()
dy1.draw()
qk.draw()
if len(n1) <= 7:
fs1 = 55 - len(n1)*3.5 + 4
elif len(n1) > 7 and len(n1) <= 14:
fs1 = 35 - len(n1)*1.5 + 4
elif len(n1) > 14 and len(n1) <= 28:
fs1 = 25 - len(n1)*0.5 + 4
else:
fs1 = -1
if len(n2) <= 7:
fs2 = 55 - len(n1)*3.5 + 4
elif len(n2) > 7 and len(n2) <= 14:
fs2 = 35 - len(n1)*1.5 + 4
elif len(n2) > 14 and len(n2) <= 28:
fs2 = 25 - len(n1)*0.5 + 4
else:
fs2 = -1
if len(r) <= 7:
fs3 = 55 - len(n1)*3.5 + 4
elif len(r) > 7 and len(r) <= 14:
fs3 = 35 - len(n1)*1.5 + 4
elif len(r) > 14 and len(r) <= 28:
fs3 = 25 - len(n1)*0.5 + 4
else:
fs3 = -1
screen.draw.text(n1,(170, 100),color = 'black',fontsize = fs1)
screen.draw.text(n2,(520, 100), color = 'black',fontsize = fs2)
screen.draw.text(r,(860, 100), color = 'black',fontsize = fs3)
flag1 = 0
def on_mouse_down(pos):
global flag1,n1,n2,r,fh
if flag1 == 0:
for i in n_list:
if i.collidepoint(pos):
if (n1 == '' or n1 == '0') and i.image == '0':
n1 = '0'
elif n1 == '0':
n1 = i.image
else:
n1 += i.image
flag1 = 1
sound(i.image)
elif flag1 == 1:
for i in n_list:
if i.collidepoint(pos):
if (n1 == '' or n1 == '0') and i.image == '0':
n1 = '0'
elif n1 == '0':
n1 = i.image
else:
n1 += i.image
sound(i.image)
for j in f_list:
if j.collidepoint(pos):
fuhao.image = j.image+'1'
flag1 = 2
sound(j.image)
elif flag1 == 2:
for j in f_list:
if j.collidepoint(pos):
fuhao.image = j.image+'1'
sound(j.image)
for i in n_list:
if i.collidepoint(pos):
if (n2 == '' or n2 == '0') and i.image == '0':
n2 = '0'
elif n2 == '0':
n2 = i.image
else:
n2 += i.image
flag1 = 3
sound(i.image)
elif flag1 == 3:
for i in n_list:
if i.collidepoint(pos):
if (n2 == '' or n2 == '0') and i.image == '0':
n2 = '0'
elif n2 == '0':
n2 = i.image
else:
n2 += i.image
sound(i.image)
if dy.collidepoint(pos) or dy1.collidepoint(pos):
flag1 = 4
if fuhao.image == '加1':
fh = '加'
elif fuhao.image == '减1':
fh = '减'
elif fuhao.image == '乘1':
fh = '乘'
elif fuhao.image == '除1':
fh = '除'
sound(dy1.image)
r = str(calculate(int(n1),int(n2),fh)) #调用calculate函数
if qk.collidepoint(pos):
n1 = ''
n2 = ''
fh = ''
r = ''
fuhao.image = '符号'
flag1 = 0
sound(qk.image)
pgzrun.go()
没有合适的资源?快使用搜索试试~ 我知道了~
Python项目‘数字计算器’的形成用这个!
共30个文件
png:20个
wav:9个
py:1个
需积分: 5 0 下载量 170 浏览量
2023-08-30
22:11:15
上传
评论
收藏 765KB ZIP 举报
温馨提示
简介: Python项目‘数字计算器’的形成用这个!,这个文件里有丰足的素材: 素材型号:.“py”;.“png”;.“wav”。 .py文件会让你思路清晰,.png文件会让你个看过引,.wav文件会让你听过引 经过步骤:找班,找课,找到,导出,聚集,包和,压缩 资源精彩无比,收藏第一 编程语言:ybcsPython;文件资源超多!!!!!,发资者一定会收到很多赞。 记得思考出思路来哦~;也记得点赞哦~ 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 介绍: Python项目‘数字计算器’的形成用这个!,这个文件里有丰足的素材: 素材型号:.“py”;.“png”;.“wav”。 .py文件会让你思路清晰,.png文件会让你个看过引,.wav文件会让你听过引 经过步骤:找班,找课,找到,导出,聚集,包和,压缩 资源精彩无比,
资源推荐
资源详情
资源评论
收起资源包目录
数字计算器.zip (30个子文件)
数字计算器
加减乘除等
符号.png 4KB
数字框.png 11KB
等于1.png 13KB
减1.png 17KB
加.png 16KB
清空.png 20KB
乘.png 15KB
除.png 16KB
等于.png 15KB
1.py 7KB
数字建
9.png 18KB
3.png 17KB
0.png 17KB
1.png 18KB
6.png 18KB
5.png 17KB
4.png 17KB
8.png 18KB
7.png 17KB
2.png 17KB
新建文件夹
bg.png 168KB
sound
w9.wav 43KB
w2.wav 30KB
w6.wav 31KB
w7.wav 43KB
新建文件夹
w乘.wav 37KB
w3.wav 41KB
w5.wav 36KB
w0.wav 35KB
w等.wav 50KB
共 30 条
- 1
资源评论
冯思存
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功