马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 leech 于 2024-8-16 13:31 编辑
基于个人需求写的一点小东西
写都写了,就把这盘九转大肠捧出来给大家品鉴一下
#使用的话希望能著一下我名Maz
#被您使用是我的荣幸(请狠狠的使用
#观前提示
由于本人对编程语言掌握的十分的水
所以基本都是由自己掌握的简单代码依靠逻辑堆叠而成的屎山,望轻喷
使用说明和思路会以注释写在代码里,即插即用
效果图
C:\Users\Administrator\Desktop\图层 70.png
C:\Users\Administrator\Desktop\图层 71.png
C:\Users\Administrator\Desktop\图层 72.png
C:\Users\Administrator\Desktop\图层 73.png
[RenPy] 纯文本查看 复制代码 ### 猜球盅迷你游戏 ####################################################
# 使用说明/必看
# 本系统由 Maz 用 屎山 编写
# 主要面向 renpy 新手用户进行定制化,基本由 renpy 简单代码编写完成
# 将系统模块化,即插即用,并内置使用说明
# 如果您嫌说明过长,仅需关注【】内的使用说明
# 注1 为了避免变量名冲突,此系统内变量名均为注释中()内汉字的拼音首字母+英文
# 注2 为了避免文件名冲突,系统包内文件均特殊命名化,请在使用前对文件名进行查重
# 注3 注释中【】内的注释为简单定制化操作的说明
# 注4 如果您使用的是ATOM文本编辑器,快捷键 ctrl+shift+alt+{ 收起全部缩进更方便您对本系统的查阅
# 注5 如果您使用的是VSC文本编辑器,快捷键 ctrl+K,ctrl+0 收起全部缩进更方便您对本系统的查阅
# 此系统的思路是通过screen的不断交替形成动画
# 难点在于三个球盅位置属性的逻辑交换以及差值计算式
###################################################################################
### 系统正文 #######################################################################
#包括动效在内的预定义
image grboxi1 = "minigame/rollbox1.png"
image grboxi2 = "minigame/rollbox2.png"
image grboxi3 = "minigame/rollbox3.png"
image grboxi4 = "minigame/rollbox4.png"
default grbox1 = "grboxi3"
default grbox2 = "grboxi4"
default grbox3 = "grboxi3"
#随机交换
default grsuiji = 0
#每回合交换次数
#【这一数值可自定义】
default grround = 3
#球盅的初始位置
#【这一数值可自定义】
#统一的y坐标
default grboxy = 150
#3个球盅的x坐标
default grbox1x = 159
default grbox2x = 417
default grbox3x = 675
###动效模块#######################################################################################
#【这一模块无需改动,已预设好了,如果完全了解此系统了,可通过更改timer值对动画的速度进行调整】
#默认位置
transform grpos1():
xanchor 0.5
xpos grbox1x
ypos grboxy
transform grpos2():
xanchor 0.5
xpos grbox2x
ypos grboxy
transform grpos3():
xanchor 0.5
xpos grbox3x
ypos grboxy
screen rollgame0():
imagebutton:
idle "[grbox1]" at grpos1
imagebutton:
idle "[grbox2]" at grpos2
imagebutton:
idle "[grbox3]" at grpos3
screen rollgame1():
imagebutton:
idle "grboxi1" at grpos1
imagebutton:
idle "grboxi1" at grpos2
imagebutton:
idle "grboxi1" at grpos3
timer 0.1 action Hide("rollgame0"),SetVariable("grround",grround-1)
if grround > -1:
$ grsuiji = renpy.random.randint(1, 3)
if grsuiji == 1:
timer 0.3 action SetVariable("grbox1x",grbox2x),SetVariable("grbox2x",grbox1x),ToggleScreen("rollgame2"),ToggleScreen("rollgame1")
if grsuiji == 2:
timer 0.3 action SetVariable("grbox2x",grbox3x),SetVariable("grbox3x",grbox2x),ToggleScreen("rollgame3"),ToggleScreen("rollgame1")
if grsuiji == 3:
timer 0.3 action SetVariable("grbox1x",grbox3x),SetVariable("grbox3x",grbox1x),ToggleScreen("rollgame4"),ToggleScreen("rollgame1")
else:
timer 0.1 action ToggleScreen("rollgame1"),ToggleScreen("rollgame5")
#位置1,2互换
transform change1():
xanchor 0.5
xpos grbox2x
ypos grboxy
linear 0.3 xpos grbox1x-(grbox1x-grbox2x)//2 ypos grboxy-30
linear 0.3 xpos grbox1x ypos grboxy
transform change2():
xanchor 0.5
xpos grbox1x
ypos grboxy
linear 0.3 xpos grbox2x+(grbox1x-grbox2x)//2 ypos grboxy+30
linear 0.3 xpos grbox2x ypos grboxy
screen rollgame2():
imagebutton:
idle "grboxi1" at change1
imagebutton:
idle "grboxi1" at change2
imagebutton:
idle "grboxi1" at grpos3
timer 0.6 action ToggleScreen("rollgame1"),ToggleScreen("rollgame2")
#位置2,3互换
transform change3():
xanchor 0.5
xpos grbox3x
ypos grboxy
linear 0.3 xpos grbox2x-(grbox2x-grbox3x)//2 ypos grboxy-30
linear 0.3 xpos grbox2x ypos grboxy
transform change4():
xanchor 0.5
xpos grbox2x
ypos grboxy
linear 0.3 xpos grbox3x+(grbox2x-grbox3x)//2 ypos grboxy+30
linear 0.3 xpos grbox3x ypos grboxy
screen rollgame3():
imagebutton:
idle "grboxi1" at grpos1
imagebutton:
idle "grboxi1" at change3
imagebutton:
idle "grboxi1" at change4
timer 0.6 action ToggleScreen("rollgame1"),ToggleScreen("rollgame3")
#位置1,3互换
transform change5():
xanchor 0.5
xpos grbox1x
ypos grboxy
linear 0.3 xpos grbox3x-(grbox3x-grbox1x)//2 ypos grboxy-30
linear 0.3 xpos grbox3x ypos grboxy
transform change6():
xanchor 0.5
xpos grbox3x
ypos grboxy
linear 0.3 xpos grbox1x+(grbox3x-grbox1x)//2 ypos grboxy+30
linear 0.3 xpos grbox1x ypos grboxy
screen rollgame4():
imagebutton:
idle "grboxi1" at change5
imagebutton:
idle "grboxi1" at grpos2
imagebutton:
idle "grboxi1" at change6
timer 0.6 action ToggleScreen("rollgame1"),ToggleScreen("rollgame4")
#胜负结算
screen rollgame5():
imagebutton:
idle "grboxi1" at grpos1
hover "grboxi2"
action Hide("rollgame5"),Jump("rollgamelose")
imagebutton:
idle "grboxi1" at grpos2
hover "grboxi2"
action Hide("rollgame5"),Jump("rollgamewin")
imagebutton:
idle "grboxi1" at grpos3
hover "grboxi2"
action Hide("rollgame5"),Jump("rollgamelose")
screen rollgame6():
imagebutton:
idle "grboxi3" at grpos1
imagebutton:
idle "grboxi4" at grpos2
imagebutton:
idle "grboxi3" at grpos3
label rollgamewin:
show screen rollgame6
"你赢了"
hide screen rollgame6
menu:
"继续游戏吗?"
"是":
jump rollgame
"否":
#【这里应调整成你需要跳转的地方】
return
label rollgamelose:
show screen rollgame6
"你输了"
hide screen rollgame6
menu:
"继续游戏吗?"
"是":
jump rollgame
"否":
#【这里应调整成你需要跳转的地方】
return
##############################################################################################################
#调用流程
#【在游戏主流程中使用jump rollgame或call rollgame即可调用整个系统】
label rollgame:
#【每次开始时应初始化数据,和预定义中的保持一致,以达成游戏循环】
$ grround = 3
$ grbox1 = "grboxi3"
$ grbox2 = "grboxi4"
$ grbox3 = "grboxi3"
$ grbox1x = 159
$ grbox2x = 417
$ grbox3x = 675
###########################################################
show screen rollgame0
"你准备好了吗?"
"开始!"
$ grbox1 = "grboxi1"
$ grbox2 = "grboxi1"
$ grbox3 = "grboxi1"
call screen rollgame1
素材格式和路径(当然您也可以自定义
C:\Users\Administrator\Desktop\图层 74.png
|