「●ランダム座標作成」の編集履歴(バックアップ)一覧に戻る
●ランダム座標作成 - (2008/10/02 (木) 03:11:20) の編集履歴(バックアップ)
情報
概要
指定した範囲でN個のランダム座標を作成し、XX(X座標配列)、YY(Y座標配列)に格納
解説
引数
XX:X座標リストを格納する配列
YY:Y座標リストを格納する配列
X1,Y1:座標(左上)
X2,Y2:座標(右下)
N:作成する座標の個数
サンプルプログラム
Aとは配列=空。
Bとは配列=空。
A,Bに100,100から200,200で5のランダム座標作成。
Aを言う。
Bを言う。
//本体
●ランダム座標作成({参照渡し}XX,{参照渡し}YYにX1,Y1からX2,Y2でNの)
もし、X2<X1ならば、X1とX2を交換。//修正
もし、Y2<Y1ならば、Y1とY2を交換。//修正
Xdとは数値=(X2-X1)の絶対値+1。# 乱数の幅。乱数の範囲は 0~N-1 なので、0~N を得るために、
Ydとは数値=(Y2-Y1)の絶対値+1。# プラス1している。X2<X1だといけないので一応絶対値をとっている。
(N)回、
X1+(Xdの乱数)をXXに配列追加。# 基準(左上座標)+乱数 を、
Y1+(Ydの乱数)をYYに配列追加。# 結果用の変数 XX,YY に格納
●交換({参照渡し}Aと{参照渡し}Bを)
M=B。N=A。A=M。B=N。戻る。
- X2<X1の場合は、Xdだけ絶対値とってもX1が右上になるのでNGでは? -- SWinX (2008-09-28 22:21:39)
- ん? すいませんちょっとよくわかんないですー -- 管理人 (2008-09-30 21:33:23)
- ホントですねぇ。0~Nとか思いっきり間違えてる、というか+1してる意味も分からないorz。。。昔の自分、何やってんのもー 勘弁してください(ぇ -- U D (2008-10-02 03:00:08)
- ガーン -- 管理人 (2008-10-02 03:02:26)
- あ なるほどー ちょっと修正してみますー -- 管理人 (2008-10-02 03:05:20)
- ●ランダム座標作成({参照渡し}XX,{参照渡し}YYにX1,Y1からX2,Y2でNの) Xdとは整数。Ydとは整数 もしX1<X2ならばX1,X2を入れ替える。 もしY1<Y2ならばY1,Y2を入れ替える。 Xd=INT(X2-X1)。Yd=INT(Y2-Y1) (N)回 X1+(Xdの乱数)をXXに配列追加。 Y1+(Ydの乱数)をYYに配列追加。 ●入れ替え({参照渡し}A,{参照渡し}Bを)Cとは変数=A;A=B;B=C -- U D (2008-10-02 03:06:18)
- まさかの高速レスw 驚いた しかも改行消えるのかorz -- U D (2008-10-02 03:06:47)
- ガーン そっちに入れかえますー -- 管理人 (2008-10-02 03:11:20)