読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

二次元配列の作り方・その2

アルゴリズム ブループリント コンピューター全般 ノード解説

関連記事imoue.hatenablog.com

妹「昨日言ってた、横幅を足したり引いたりして上下に動かす案なんだけどさ、あれだと横にいきすぎた時のループ処理とか出来なくない? 現在位置がどうなってるかわからないから、普通に1足すと次の段にカーソルがいっちゃうような」

「それは割った時の余りで調べればいいんだよ」

妹「余り?」

0 1 2
3 4 5
6 7 8
9 10 11

「例えばこんな感じの配列になってるとする。1足すと右に、3足すと下に進む状態。で、それぞれの数字が横の並びの中のどこかっていうのは、横幅の3で割った時の、余りを見るとわかるんだよ。0だったら左端、2だったら右端。2の部分は横幅-1で計算出来る」

妹「1番上の列と同じになるのか……でもアマリって、そんなブループリントあったっけ?」

f:id:una_unagi:20151122222743p:plain

「こういう感じの、%で検索すると出てくるんだけど、上のピン÷下のピンの余りが出力されるノードがある」

妹「モジュロ?」

「ってなるよね。余りを英語で書くとmoduloになって、それをカタカナで書くとそうなる」

妹「そりゃカタカナ訳がいいとは言ったけどさ……モジュ郎……」

「あと縦の位置関係を調べる時は、横幅で割るとわかる。余りは切り捨てだけど、Integer同士の割り算なら自動で余りは捨てられるからそのままで」

妹「これも横なの? 縦の長さで割るんじゃなくて?」

「横幅で合ってるよ。012は割ると0、345だと1、678は2になって、必要な数字が出てくる。計算で縦の長さを使う事はまずないと思う。あ、でもこれは横に並べてる入れるの場合だから」

0 3 6 9
1 4 7 10
2 5 8 11

「こういう具合に縦→横に並べてる場合は逆になって、計算は全部縦が基準になる」