投稿
ネタバレ
Daisuke 0909daiki09
プチコン初心者です。白い行を示す何か(名称を知りません…)から下のプログラムがノートに書いたりしてかなり考えたんですが、分かりません。親切な方教えてください…変数は K=1 VV[I]( VV[0]=-H VV[1]=H VV[2]=-1 VV[3]=1) H=32 P=13*H+16 となっていました。(見辛い書き方ですいません…)
2そうだね
プレイ済み
返信[1]
親投稿
マギー M191246
57行目のその行番号の すぐ右にある縦線のことなら、 『カーソル』といいます。
1そうだね
プレイ済み
返信[2]
親投稿
マギー M191246
Hは、マップの横幅ですね。 Pは、座標を一つの数字で表しています。 例えば、H=5なら 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 マップの場所をこう表している感じです。 上下に移動したら、-H(-5),+H(+5) となるわけです。
2そうだね
プレイ済み
返信[3]
親投稿
マギー M191246
実際にLOCATEなどで表示する為に X座標,Y座標で表す必要がありますけど、 その時は、 PをHで割った余り P MOD Hが、X座標になって 割った答の整数部分がY座標になります。
2そうだね
プレイ済み
返信[4]
親投稿
マギー M191246
最初の十字ボタン入力の所は、 Iが、0,1,2,3と変化する間に Kを、1,2,4,8と変化させて ボタンの番号として比較し 座標をそれに対応する方向へ 移動させる準備をしています。
1そうだね
プレイ済み
返信[5]
親投稿
Daisuke 0909daiki09
移動のさせ方は分かったんですが、 P MOD H がX座標になってその余りがY座標になるというのがイマイチ分かりません…出来ればもう一度簡単に説明してくれませんか?お願いします。
0そうだね
プレイ済み
返信[6]
親投稿
ツララ LongIceSword
マギーさんが数字を座標の様に書いて説明されてくれてますので、もう一回よーく見てみましょうか。 MODは余りを算出する演算子なのでX=P MOD HでXに余りが入ります。 Y座標は余りではなく、マギーさんが説明している通り「割り算した整数部分」なので、少数を使う必要が無ければ / ではなく商を算出する演算子の DIV を使った方が読みやすいかもしれませんね。 ちなみに最初の数字は「0」から数え始めるプチコンのルールを念頭に置いておくと理解しやすいと思いますよ。
1そうだね
プレイ済み
返信[7]
親投稿
実際にマギーさんのマップの数値を見ながら計算をしてみて、xとyがどうなったかをマップの位置を見ながら確認していくと感覚がわかってくるかも? ちなみに割り算の商と余りが座標になるのはほとんど定石みたいなものなので、感覚がわかったらそういう感じで使う時に使おうと考えるといいですよ。
2そうだね
プレイ済み
返信[8]
親投稿
Daisuke 0909daiki09
マギーさん、ツララさん、でんぺんさんありがとうございます!
1そうだね
プレイ済み
返信[9]
親投稿
say sayer.exe
Hを100にして処理を追ってみたら理解できるかも知れません あと他に 274分とは何時間何分か?(答え:4時間34分)と言う時間の計算も考え方の参考になると思います
1そうだね
プレイ済み
返信[10]
親投稿
Daisuke 0909daiki09
sayさんもありがとうございます!
1そうだね
プレイ済み