チャプター 4

Step 04

AIに聞いてみよう - トロフィーがバラバラになる!

追加したい機能きのうについてAIに聞いてみる

火の玉がトロフィーにぶつかった時に、派手はでにバラバラになる感じにしたいと考えました。そこでこんな質問をしてみます。

「このコードを変えて、火の玉がtrophyに当たったらバラバラに壊れて、破片が飛び散るようにしたいです」
それに続いてGenerateTrophyのスクリプトをそのままコピペします。

するとこんな関数を教えてくれました。
-- トロフィーを壊す関数
function breakTrophy(trophy)
for i = 1, 10 do
local fragment = Instance.new("Part")
fragment.Size = Vector3.new(1, 1, 1)
fragment.Position = trophy.Position + Vector3.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2))
fragment.Velocity = Vector3.new(math.random(-50, 50), math.random(50, 100), math.random(-50, 50))
fragment.BrickColor = trophy.BrickColor
fragment.Anchored = false
fragment.CanCollide = true
fragment.Parent = game:GetService("Workspace")
game:GetService("Debris"):AddItem(fragment, 5) -- 5秒後に破片を削除
end
trophy:Destroy()
end

-- トロフィーを5秒ごとに生成
while true do
createTrophy()
wait(5) --5秒に一回出現する
end

これをぶつかった時に呼び出せば、バラバラに破片はへんが飛び散るようになります。
機能を追加したいところのコードを見せてAIに質問すると、よい回答が得られる確率かくりつが上がりそうですね!