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 下载量 57 浏览量
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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于滑动窗口模型的合作结构分析及队伍战略优化 -以足球比赛为例
- java多商户版健身房saas管理系统 含小程序、总后台管理、多商户前后端分离的后端接口api,用户于健身房工作人员小程序api.zip
- 足球比赛中基于社会网络分析的团队表现改进模型
- 【小程序毕业设计】互动打卡小程序源码(完整前后端+mysql+说明文档).zip
- 基于网络科学与回归模型的足球队伍合作表现量化分析
- 基于传球网络与对抗回归评估足球团队合作表现的综合研究
- 足球团队多级网络与性能评估模型及其实际应用
- JavaScript 每周一个小程序.zip
- c语言基于51单片机设计的火灾报警器源码(包含labview的上位机)高分项目
- USB的UAC设备开发(STM32)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功