●ランダム座標作成

「●ランダム座標作成」の編集履歴(バックアップ)一覧に戻る

●ランダム座標作成 - (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)
名前:
コメント:


ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。