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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sonarconsole.java

?? 控制移到機器人的例子程序
?? JAVA
字號:
/*
	A basic extension of the java.awt.Frame class
 */

import java.awt.*;

public class SonarConsole extends Frame
{
    
    /** Precomputed cosine values.  With the robot heading as the positive
        x-axis, let angle[i] be the angle of the ith sonar.  Then
        SONAR_COS[i] is cos(angle[i]).  You shouldn't recompute this
        in every loop!  Use these precalculated values instead.  */
    public final static float[] SONAR_COS = preCalculateCos(16);
    /** Precomputed sine values.  With the robot heading as the positive
        x-axis, let angle[i] be the angle of the ith sonar.  Then
        SONAR_SIN[i] is sin(angle[i]). */
    public final static float[] SONAR_SIN = preCalculateSin(16);
    
    int[] maxRangeX = new int[16];
    int[] maxRangeY = new int[16];

    /* Used to compute SONAR_COS and BUMPER_COS (see above). */
    final static float[] preCalculateCos(int n) {
        float[] f = new float[n];
        double sepRadians = 2 * Math.PI / n;
        for (int i=0; i < n; i++) {
            f[i] = (float) Math.cos(sepRadians * i);
        }
        return f;
    }

    final static float[] preCalculateSin(int n) {
        float[] f = new float[n];
        double sepRadians = 2 * Math.PI / n;
        for (int i=0; i < n; i++) {
            f[i] = (float) Math.sin(sepRadians * i);
        }
        return f;
    }

	public SonarConsole()
	{
		// This code is automatically generated by Visual Cafe when you add
		// components to the visual environment. It instantiates and initializes
		// the components. To modify the code, only use code syntax that matches
		// what Visual Cafe can generate, or Visual Cafe may be unable to back
		// parse your Java file into its visual environment.
		//{{INIT_CONTROLS
		setLayout(null);
		setVisible(false);
		setSize(insets().left + insets().right + 300,insets().top + insets().bottom + 300);
		setTitle("Sonar Viewer");
		//}}
		this.setVisible(true);
	    int centerX, centerY;
	    Dimension d = getSize();
	    centerY = d.height / 2;
	    centerX = d.width / 2;
        for (int i=0; i < 16; i++) {
            float cosAngle = -this.SONAR_SIN[i];
            float sinAngle = this.SONAR_COS[i];
            maxRangeX[i] = (int) (centerX + cosAngle * 140 + 0.5f);
            maxRangeY[i] = (int) (centerY - sinAngle * 140 + 0.5f);
        } // end for //
        
  		//{{INIT_MENUS
		//}}

		//{{REGISTER_LISTENERS
		SymWindow aSymWindow = new SymWindow();
		this.addWindowListener(aSymWindow);
		//}}
	}

	public SonarConsole(String title)
	{
		this();
		setTitle(title);
	}

	public synchronized void show()
	{
		move(50, 50);
		super.show();
	}

	public void addNotify()
	{
	    // Record the size of the window prior to calling parents addNotify.
	    Dimension d = getSize();
	    
		super.addNotify();

		if (fComponentsAdjusted)
			return;

		// Adjust components according to the insets
		setSize(insets().left + insets().right + d.width, insets().top + insets().bottom + d.height);
		Component components[] = getComponents();
		for (int i = 0; i < components.length; i++)
		{
			Point p = components[i].getLocation();
			p.translate(insets().left, insets().top);
			components[i].setLocation(p);
		}
		fComponentsAdjusted = true;
	}

    // Used for addNotify check.
	boolean fComponentsAdjusted = false;

	//{{DECLARE_CONTROLS
	//}}

	//{{DECLARE_MENUS
	//}}

	class SymWindow extends java.awt.event.WindowAdapter
	{
		public void windowClosing(java.awt.event.WindowEvent event)
		{
			Object object = event.getSource();
			if (object == SonarConsole.this)
				Frame1_WindowClosing(event);
		}
	}
	
	void Frame1_WindowClosing(java.awt.event.WindowEvent event)
	{
		hide();		 // hide the Frame
	}
	
	// using the stateArray in RobotController RC, draw the
	// sonars on the sonar console window!
	public void DrawSonars(RobotController RC) {
	    Dimension d = getSize();
	    Graphics g = this.getGraphics();
	    int centerX, centerY;
	    int data;
	    centerY = d.height / 2;
	    centerX = d.width / 2;
	    g.clearRect(0,0,d.width, d.height);
	    int endX, endY;
	    for (int i=0; i < 16; i++) {
	        float cosAngle = -(SonarConsole.SONAR_SIN[i]);
	        float sinAngle = SonarConsole.SONAR_COS[i];
	        data = RC.stateArray[i+1];
	        if (data > 140) data = 140;
	        
	        String s = String.valueOf(data);
            // try to take into account size of text
            g.setColor(Color.black);
            g.drawString(s,maxRangeX[i]-10,maxRangeY[i]+10);
	        
	        if (data != 0) {
	            g.setColor(Color.black);
	            endX = (int) (centerX + 0.5f + (data * cosAngle));
	            endY = (int) (centerY + 0.5f - (data * sinAngle));
	            g.drawLine(centerX,centerY,endX,endY);
	        } // endif (data != 0)
	    } // end for loop
	} // end DrawSonars() //
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色狠狠综合天天综合综合| 99亚偷拍自图区亚洲| 一区二区三区四区激情| 国产精品毛片久久久久久| 久久综合九色综合97婷婷女人| 91精品久久久久久久91蜜桃| 欧美揉bbbbb揉bbbbb| 欧美老肥妇做.爰bbww| 欧美狂野另类xxxxoooo| 日韩欧美二区三区| 久久久五月婷婷| 欧美激情一区二区三区蜜桃视频| 国产日产精品1区| 国产精品国产馆在线真实露脸| 亚洲欧洲日韩av| 亚洲小少妇裸体bbw| 日韩精品电影一区亚洲| 激情综合网天天干| 国产盗摄女厕一区二区三区| 99久久久无码国产精品| 欧美综合久久久| 日韩一级成人av| 欧美国产成人精品| 亚洲国产精品精华液网站| 蜜臀久久99精品久久久久宅男 | 91精品一区二区三区在线观看| 91精品免费观看| 中文字幕不卡在线观看| 午夜精品福利一区二区三区av| 日韩va欧美va亚洲va久久| 国产精品一区二区在线观看网站| 成人91在线观看| 欧美精品久久99久久在免费线 | 成人av在线影院| 欧美人牲a欧美精品| 久久精品视频在线免费观看| 一区二区三区视频在线看| 九九九精品视频| 色综合 综合色| 日韩欧美在线综合网| 中文字幕一区二区三区不卡在线| 毛片av一区二区| 色哟哟在线观看一区二区三区| 4438x成人网最大色成网站| 欧美国产一区在线| 蜜臀va亚洲va欧美va天堂| av爱爱亚洲一区| 久久综合九色综合97婷婷| 亚洲成av人片在线观看| 成人app软件下载大全免费| 91精品国产一区二区三区| 亚洲欧美视频在线观看| 国产精品自拍av| 91精品国产手机| 亚洲福利视频一区| 色88888久久久久久影院野外| 国产欧美日本一区二区三区| 精品一区二区三区视频| 91精品国产综合久久小美女| 亚洲在线视频免费观看| 91网站黄www| 国产精品久久久久久久久免费丝袜 | 国产色产综合产在线视频| 五月天激情综合网| 在线观看亚洲专区| 亚洲日本成人在线观看| 丰满白嫩尤物一区二区| 久久久午夜电影| 国产乱人伦偷精品视频不卡| 精品久久久久久久久久久久久久久久久| 亚洲第一会所有码转帖| 一本大道av伊人久久综合| 亚洲理论在线观看| 99久久精品情趣| 国产精品热久久久久夜色精品三区| 久久99久久久久| 日韩精品专区在线影院观看 | 国产精品国产三级国产普通话蜜臀| 免费欧美日韩国产三级电影| 欧美一区二区三区不卡| 蜜桃传媒麻豆第一区在线观看| 日韩视频免费观看高清完整版在线观看| 亚洲一区二区偷拍精品| 欧美色图12p| 捆绑变态av一区二区三区| 日韩免费福利电影在线观看| 麻豆国产一区二区| 久久亚洲综合色| 成人丝袜高跟foot| 一区二区三区免费看视频| 在线综合亚洲欧美在线视频| 久久99国产精品久久99果冻传媒| 精品理论电影在线| 成人av在线看| 香蕉影视欧美成人| 337p日本欧洲亚洲大胆色噜噜| 国产剧情一区二区三区| 欧美国产日韩精品免费观看| 一本到高清视频免费精品| 日产欧产美韩系列久久99| 久久色在线观看| 成人av免费网站| 日韩一区欧美二区| 国产性天天综合网| 欧美色爱综合网| 国产综合久久久久久鬼色 | 日韩成人伦理电影在线观看| 2欧美一区二区三区在线观看视频| 成人一级视频在线观看| 亚洲国产欧美一区二区三区丁香婷| 欧美一二三区在线| 成人高清伦理免费影院在线观看| 亚洲国产欧美日韩另类综合| 国产欧美精品在线观看| 欧美日韩日本视频| av高清久久久| 韩国精品久久久| 亚洲成a人片在线观看中文| 中文字幕巨乱亚洲| 欧美一区二区三区四区视频| 91麻豆国产精品久久| 国产麻豆精品视频| 日韩影院免费视频| 亚洲最大成人网4388xx| 久久久国际精品| 日韩免费高清av| 欧美色成人综合| 91久久久免费一区二区| 国产麻豆午夜三级精品| 久久精品国产77777蜜臀| 亚洲自拍与偷拍| 亚洲色图制服丝袜| 国产欧美一区二区三区在线看蜜臀 | 久久精品人人做人人爽人人| 51精品秘密在线观看| 色婷婷综合久久久久中文 | 亚洲午夜成aⅴ人片| 日本一区二区三区在线不卡 | 国产精品日日摸夜夜摸av| 精品久久久久久最新网址| 欧美一区二区三区播放老司机| 欧美在线观看视频在线| 91碰在线视频| 91麻豆成人久久精品二区三区| 丝袜美腿亚洲一区二区图片| 亚洲精品欧美激情| 亚洲欧美日韩在线| 伊人夜夜躁av伊人久久| 亚洲欧洲性图库| 最新国产精品久久精品| 亚洲欧美另类久久久精品| 国产精品久久久久三级| 1000精品久久久久久久久| 国产精品久久久久毛片软件| 综合在线观看色| 亚洲乱码国产乱码精品精小说 | 国产电影一区二区三区| 国产乱妇无码大片在线观看| 国产成人a级片| jvid福利写真一区二区三区| 91在线无精精品入口| 在线欧美日韩精品| 欧美日韩成人综合| 日韩一区二区三区视频在线 | 中文字幕精品一区| 国产精品人人做人人爽人人添| 亚洲人成网站影音先锋播放| 一个色综合av| 蜜桃传媒麻豆第一区在线观看| 国产精品夜夜爽| 色综合久久综合网97色综合| 欧美巨大另类极品videosbest| 欧美一级黄色录像| 中日韩av电影| 亚洲国产精品久久久久秋霞影院| 视频一区在线播放| 国产成人自拍网| 色88888久久久久久影院按摩 | 欧美精选一区二区| 精品理论电影在线| 国产精品看片你懂得| 亚洲成av人片一区二区梦乃| 国内精品久久久久影院一蜜桃| 97久久精品人人爽人人爽蜜臀 | 国产精品亚洲一区二区三区妖精| 豆国产96在线|亚洲| 欧美日韩视频在线一区二区 | 欧美日韩国产美女| 欧美精品一区二区三区蜜桃视频| 中文字幕精品三区| 日韩在线a电影| 91免费版在线| 亚洲精品在线观看网站| 亚洲精品老司机| 国产一区二区三区在线观看免费| 99国产精品国产精品毛片| 日韩欧美成人午夜| 亚洲国产视频a| 成人福利电影精品一区二区在线观看| 欧美美女bb生活片|