亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? vec.java

?? 這是我模仿window自帶的小游戲掃雷編的,很簡(jiǎn)單,只實(shí)現(xiàn)了掃雷的基本功能,現(xiàn)拿出來(lái)與大家分享!
?? JAVA
字號(hào):
package edu.harvard.syrah.nc;

/*
 * NCLib - a network coordinate library 
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details ( see the LICENSE file ).
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

/*
 * A vector in the Euclidian space.
 */
public class Vec {
  
	final protected static int CLASS_HASH = Vec.class.hashCode();
	
	final protected double[] direction;
	final protected int num_dims;
  
  /*
	public static Vec add(Vec lhs, Vec rhs) {
		Vec sum = new Vec(lhs);
		sum.add(rhs);
		return sum;
	}
	
	public static Vec subtract(Vec lhs, Vec rhs) {
		Vec diff = new Vec(lhs);
		diff.subtract(rhs);
		return diff;
	}
	*/
  
	public static Vec scale(Vec lhs, double k) {
		Vec scaled = new Vec(lhs);
		scaled.scale(k);
		return scaled;
	}
	
  /*
	public static Vec makeUnit(Vec v) {
		Vec unit = new Vec(v);
		unit.makeUnit();
		return unit;
	}
	*/
  
  /*
  public static Vec makeRandomUnit(int num_dims) {
    final Vec v = makeRandom (num_dims, 1.); 
    v.makeUnit();
    return v;
  }
  */

  public static Vec makeRandom(int num_dims, double axisLength) {
    final Vec v = new Vec(num_dims);
    for (int i = 0; i < num_dims; ++i) {
      double length = VivaldiClient.random.nextDouble() * axisLength;
      if ( (!VivaldiClient.USE_HEIGHT || i < num_dims-1) &&
        (VivaldiClient.random.nextBoolean())) {
        length *= -1.;
      }
      v.direction[i] = length;
    }
    return v;
  }
  
  
	public Vec(int _num_dims) {
		direction = new double[_num_dims];
		if (VivaldiClient.USE_HEIGHT) _num_dims--;
    num_dims = _num_dims;
  }
	
	public Vec(Vec v) {
		this(v.direction, true);
	}

	// TODO isn't this missing the height coordinate?
	public Vec(double[] init_dir, boolean make_copy) {
		if (make_copy) {
			final int num_dims = init_dir.length;
			direction = new double[num_dims];
			System.arraycopy(init_dir, 0, direction, 0, num_dims);
		}
		else {
			direction = init_dir;
		}
    int _num_dims = init_dir.length;
    if (VivaldiClient.USE_HEIGHT) _num_dims--;
    num_dims = _num_dims;
	}
	
	public int getNumDimensions() {
	  // keep num_dimensions internal
    return direction.length;
	}
	
	public double[] getComponents() {
		final double[] dir_copy = new double[direction.length];
		System.arraycopy(direction, 0, dir_copy, 0, direction.length);
		return dir_copy;
	}
	
	//Same regardless of using height
	public void add(Vec v) {
		for (int i = 0; i < direction.length; ++i) {
			direction[i] += v.direction[i];
		}
	}
	  
  /*
	public void subtract(Vec v) {
		for (int i = 0; i < num_dims; ++i) {
			direction[i] -= v.direction[i];
		}
    if (VivaldiClient.USE_HEIGHT) {
      direction[direction.length-1] += v.direction[direction.length-1];
    }
	}
	*/
  
	public void scale(double k) {
		for (int i = 0; i < direction.length; ++i) {
			direction[i] *= k;
		}
	}
	
	public boolean isUnit() {
		return (getLength() == 1.0);
	}
	
  public double getLength() {
    double sum = getPlanarLength();
    if (VivaldiClient.USE_HEIGHT)
      sum += direction[direction.length-1];
    return sum;
  }

  double getPlanarLength() {
    double sum = 0;
    for (int i = 0; i < num_dims; ++i) {
      sum += (direction[i] * direction[i]);
    }
    return Math.sqrt(sum);
  }
  
	public void makeUnit() {
		final double length = getLength();
		if (length != 1.0) {
      scale (1./length);
    }
	}
  
	public Coordinate asCoordinateFromZero(boolean make_copy) {
		return new Coordinate(direction, make_copy);
	}
	
	public boolean equals(Object obj) {
		if (obj instanceof Vec) {
			Vec v = (Vec) obj;
			final int num_dims = direction.length;
			for (int i = 0; i < num_dims; ++i) {
				if (direction[i] != v.direction[i]) {
					return false;
				}
			}
			return true;
		}
		return false;
	}
	
	public int hashCode() {
		final int num_dims = direction.length;
		int hc = CLASS_HASH;
		for (int i = 0; i < num_dims; ++i) {
			hc ^= new Double(direction[i]).hashCode();
		}
		return hc;
	}
	
	public String toString() {
		final StringBuffer sbuf = new StringBuffer(1024);
		sbuf.append("[");
		final int num_dims = direction.length;
		for (int i = 0; true; ) {
      if (i == num_dims-1 && VivaldiClient.USE_HEIGHT) {
        sbuf.append('h');  
      }
			sbuf.append(VivaldiClient.nf.format(direction[i]));
			if (++i < num_dims) {
				sbuf.append(",");
			}
			else {
				break;
			}
		}
		sbuf.append("]");
		return sbuf.toString();
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清成人免费播放| 一级精品视频在线观看宜春院 | jiyouzz国产精品久久| 久久人人爽爽爽人久久久| 看电视剧不卡顿的网站| 日韩一区和二区| 狠狠狠色丁香婷婷综合久久五月| 精品国产不卡一区二区三区| 国产一区二区三区观看| 国产精品福利av| 91国产丝袜在线播放| 偷拍亚洲欧洲综合| 日韩精品一区在线观看| 国产大片一区二区| 中文字幕在线一区| 91丨九色丨蝌蚪富婆spa| 夜夜嗨av一区二区三区| 日韩午夜激情视频| av一本久道久久综合久久鬼色| 亚洲人成网站影音先锋播放| 欧美日韩电影一区| 高潮精品一区videoshd| 亚洲一二三四在线观看| 精品国产伦一区二区三区观看方式 | 亚洲午夜国产一区99re久久| 91精品国产综合久久久蜜臀图片| 国产成人激情av| 一区二区不卡在线播放 | 亚洲人成网站在线| 日韩午夜精品电影| 色一情一乱一乱一91av| 毛片一区二区三区| 亚洲精品中文字幕在线观看| 欧美一级免费观看| 色婷婷激情综合| 国产精品99精品久久免费| 亚洲国产美女搞黄色| 久久久www成人免费无遮挡大片| 在线观看亚洲精品视频| 国产高清亚洲一区| 日韩电影在线一区二区三区| 国产精品成人网| 久久久综合视频| 欧美一区二区三区性视频| 91丨九色丨蝌蚪富婆spa| 国产一区二区三区精品视频| 三级一区在线视频先锋 | 日韩一级欧美一级| 91极品视觉盛宴| 国产91在线观看丝袜| 麻豆国产91在线播放| 午夜亚洲福利老司机| 亚洲欧美国产毛片在线| 国产亚洲美州欧州综合国| 欧美一区二区在线播放| 在线观看不卡一区| 91在线精品一区二区| 成人黄色av网站在线| 久久超级碰视频| 麻豆精品一二三| 日本不卡一区二区三区高清视频| 亚洲精品老司机| 国产精品福利一区| 国产精品成人免费在线| 欧美国产一区二区| 国产三级一区二区| 久久综合色之久久综合| 欧美va日韩va| 精品国产成人在线影院| 日韩欧美国产综合一区| 51午夜精品国产| 欧美乱妇15p| 欧美肥妇free| 欧美一级久久久| 精品日韩99亚洲| 久久五月婷婷丁香社区| 精品国产凹凸成av人网站| 精品国产一区a| xfplay精品久久| 久久精品欧美日韩精品| 久久久久久久久久久久电影| 国产日韩欧美电影| 国产精品国产自产拍高清av王其| 中文字幕亚洲区| 一区二区三区 在线观看视频| 亚洲精品中文在线| 亚洲成人自拍一区| 蜜桃av噜噜一区| 国产一区二区日韩精品| 成人一区在线看| 91麻豆国产自产在线观看| 欧亚洲嫩模精品一区三区| 欧美日韩久久久久久| 日韩精品一区在线观看| 国产日产精品1区| ㊣最新国产の精品bt伙计久久| 亚洲激情自拍视频| 免费看欧美女人艹b| 国产一区二区按摩在线观看| 成人午夜av在线| 欧美性大战久久久久久久| 日韩一区二区在线观看视频| 国产欧美1区2区3区| 亚洲视频一区二区免费在线观看| 亚洲国产成人av网| 久久不见久久见免费视频1| 成人小视频在线| 欧美日韩久久一区| 国产午夜精品在线观看| 一区二区三区91| 国产麻豆视频一区| 一本大道久久a久久综合| 日韩视频在线一区二区| 国产精品久久毛片a| 日韩国产高清在线| av一区二区三区黑人| 91精品国产一区二区人妖| 中文在线免费一区三区高中清不卡 | 99久久国产综合精品色伊| 69堂成人精品免费视频| 国产精品对白交换视频| 免费成人小视频| 色8久久精品久久久久久蜜| 久久久噜噜噜久噜久久综合| 亚洲另类色综合网站| 国内精品伊人久久久久av影院 | 欧美高清一级片在线观看| 性欧美疯狂xxxxbbbb| 国产成人精品免费网站| 欧美一区日本一区韩国一区| 综合色中文字幕| 国产精品亚洲一区二区三区妖精| 欧美性受极品xxxx喷水| 国产日韩精品一区二区三区| 日韩电影一区二区三区四区| 北岛玲一区二区三区四区| 欧美电影免费提供在线观看| 亚洲综合精品久久| 国产盗摄精品一区二区三区在线| 欧美久久免费观看| 一区二区激情视频| 成人精品视频.| 久久亚洲综合av| 青青草91视频| 777午夜精品免费视频| 樱花草国产18久久久久| 成人激情视频网站| 国产清纯白嫩初高生在线观看91| 男女男精品视频网| 在线播放中文一区| 亚洲综合av网| 在线观看免费一区| 亚洲精品一二三| 94色蜜桃网一区二区三区| 亚洲国产精品国自产拍av| 国产另类ts人妖一区二区| 精品欧美乱码久久久久久| 男女激情视频一区| 日韩一二在线观看| 麻豆精品一区二区| 日韩久久精品一区| 美腿丝袜亚洲色图| 日韩免费在线观看| 精品在线免费观看| 精品剧情在线观看| 国产在线精品一区二区夜色| 精品少妇一区二区三区在线视频| 秋霞影院一区二区| 精品美女在线播放| 国产精品自拍av| 国产欧美日韩中文久久| 国产aⅴ精品一区二区三区色成熟| 国产日韩欧美综合在线| 成人a区在线观看| 1024国产精品| 在线观看国产一区二区| 午夜精品久久久久久久久久久| 欧美狂野另类xxxxoooo| 美女在线一区二区| 久久新电视剧免费观看| av一区二区久久| 亚洲综合成人网| 日韩欧美你懂的| 国产91丝袜在线播放| 亚洲日本护士毛茸茸| 欧美色手机在线观看| 美国十次综合导航| 国产欧美1区2区3区| 在线看一区二区| 精品午夜久久福利影院 | 欧美xingq一区二区| 成人免费视频caoporn| 亚洲最新视频在线观看| 欧美精品一级二级三级| 国产乱人伦偷精品视频免下载| 中文天堂在线一区| 精品视频全国免费看| 老司机精品视频在线| 国产精品乱人伦| 欧美一区三区四区|