00ll00 6 лет назад
Родитель
Сommit
2f8bc04dd0

+ 2 - 0
data/ltw/functions/state/3/newarray.mcfunction

@@ -0,0 +1,2 @@
+scoreboard players set $randarray_max mem 3
+function lib:randarray/call

+ 10 - 6
data/ltw/functions/state/3/state_enter.mcfunction

@@ -8,13 +8,17 @@ scoreboard objectives setdisplay sidebar total_score
 # 初始化倒计时
 scoreboard players set $countdown mem 3
 
-# 决定进行哪个小游戏
+# 决定进行哪个小游戏(old)
 # 1 跑酷;2 TNT Run;3 热土豆
-scoreboard players set $random_min mem 1
-scoreboard players set $random_max mem 3
-function lib:random
-scoreboard players operation $mini_type mem = $random mem
-# TODO 优化下一次游戏的选择:生成一个 1~[最大游戏编号] 的 randomarray,每次从其中取下一个数。如果数组取完了,就生成一个新数组,但是要保证新数组的开头和老数组的结尾不一样,这样就不会连续玩两次相同的游戏了
+#scoreboard players set $random_min mem 1
+#scoreboard players set $random_max mem 3
+#function lib:random
+#scoreboard players operation $mini_type mem = $random mem
+
+# 优化下一次游戏的选择:生成一个 1~[最大游戏编号] 的 randomarray,每次从其中取下一个数。如果数组取完了,就生成一个新数组,但是要保证新数组的开头和老数组的结尾不一样,这样就不会连续玩两次相同的游戏了
+execute unless data storage lib:randarray out[0] run function ltw:state/3/newarray
+execute store result score $mini_type mem run data get storage lib:randarray out[0]
+data remove storage lib:randarray out[0]
 
 # 初始化小游戏
 function mini:main/game_init