あまり間隔を空けずに質問をして申し訳ないですが、
表題にある通り、指定の座標でカーソル移動量を変化させる動作についてです。
単純にカーソルを十字キーで動かす記述は講座等で勉強してうまくいきましたが、
ある座標で移動量を変化させたい時、条件に現在位置の座標と指定の座標がイコール等とすると、
変化させたい位置の手前から一気に飛んでしまい(条件を2重に達成している?)
どうもうまくいきません。
質問用のサンプルとして下記を用意しました。
「お」と「は」は1マス分離れているので、「お」の座標にきた時は、
screen 0,400,150 cls 4 x=5 ;カーソル初期位置X y=25 ;カーソル初期位置Y mx=33 ;カーソル移動量X my=18 ;カーソル移動量Y mx2=48 ;カーソル移動量X2 repeat redraw 0 color 0,0,0 boxf pos 25,25 color 255,255,255 mes "あ い う え お は ひ ふ へ ほ" mes "か き く け こ ま み む め も" mes "さ し す せ そ や ゆ よ ゛ ゜" mes "た ち つ て と ら り る れ ろ" mes "な に ぬ ね の わ を ん おわり" pos x,y mes "→" redraw 1 stick key if key=2&y>25 :y-my ;上 if key=8&y<97 :y+my ;下 if key=1&x>25 :x-mx ;左 if key=4&x<137 :x+mx ;右 if key=4&x=137 :x+mx ;右2(137は「お」にカーソルがある時の座標) wait 1 loop stop
次は移動量を変えて「は」に移動させたいのですが、
「え」からいきなり大移動をしてしまいます。
「右2」の条件は演算子を色々変えて、試してはみたんですが、どうもうまくいきません。
(重複しない様な条件にすればいいのだと解釈してはいるのですが・・・)
どういった記述にすれば良いでしょうか?