PICO-8スネークゲーム「ピコニョロ」を作るにあたり、「条件を満たす位置にアイテムを配置する」について、「どの様に処理の流れを作るか」考えました。
幾つかの条件は、if文とfor文で実現できると考えました。
実際にコードを記述する前に、実験で試しのコードを書いてみました。
cls()
t={1,2,3,4,5,6,7}
flag=true
while flag do
a=flr(rnd(9))
print(a)
if t[3] < a then
if a%2==0 then
print("-------")
for i in all(t) do
if i == a then
print("mach!"..a)
flag=false
break
else print(i)
end
print("if i == a end")
end
print("for i in all(t) end")
end
print("if a%2==0 end")
end
print("if t[3] < a end")
end
架空の幾つかの条件を満たすと、「mach!」と表示するプログラムです。
個別で比較する条件は、if文で。
テーブルの中を総当りでチェックするには、for文を使います。
また、endの外側に「どのチェックが終わったのか?」を目で確認できるようにprint文を記述しました。
そして、実行してみました。
for文の中で、if文でbreak文が実行されるとどうなるかわかります(if文を囲むfor文から抜けることがわかります)。
頭の中で、「多分こうなっているだろう」と考えますが、いざ実装するにあたると、「多分でなく、確証を得たい!」となります。
時々、この様に実験をして、多分を確証にしています。
コメント