A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package package1;
//import java.math.*;


public class Doitpoint {
        static char  map[][]=new char[100][100];
        static point pointlin[]=new point[300];
       
        public static void make_point() {
                for (int i = 0; i < pointlin.length; i++) {
                        pointlin = new point();
                }
        }
        //判断是否传感器休眠内部循环
        public static void testpointin(point point1, point point2) {
                int _x = Math.abs(point1.point_x - point2.point_x);
                int _y = Math.abs(point1.point_y - point2.point_y);
                double doxy= Math.sqrt(_x*_x+_y*_y);
                if(doxy<8)
                        point1.alive = 'b';
        }
       
       
       
        //判断是否传感器休眠外部循环
        public static void testpoint(point [] pointline) {
                //外循环要测试的点
                for (int i = 0; i < pointline.length; i++) {
                       
                        //内循环寻找探针PRB_RPY
                        if(pointline.alive =='a')
                        {
                                for(int j=i+1;j<pointline.length;j++)
                                {
                                        if(pointline[j].alive =='a')
                                        {
                                                testpointin(pointline, pointline[j]);
                                        }
                                        if (pointline.alive =='b')
                                                break;
                                       
                       
                                }
                        }
                }
        }
       
        //绘制传感器覆盖的图像
        public static void DrawingPoint(point[] pointlin) {
               
                for (int i = 0; i < pointlin.length; i++) {
                        if(pointlin.alive =='a')
                                //覆盖的计算
                                NewDraw(pointlin.point_x,pointlin.point_y);
                }
                System.out.println((map.toString()));
               
        }
        //刷新覆盖数组
        public static void NewDraw(int x ,int y)
        {
                map[x][y]='*';
                int x1=x-8;
                if (x1<0) {
                        x1=0;
                }
               
                int x2=x+8;
                if (x2>100) {
                        x2=100;
                }
               
                int y1=y-8;
                if (y1<0) {
                        y1=0;
                }
               
                int y2=y+8;
                if(y2>100){
                        y2=100;
                }
                for (int charx = x1; x<=x2 ; x++) {
                        for (int chary =y1; chary <= y2; chary++) {
                                if (map[charx][chary] !='*')
                                {
                                        map[charx][chary] = '0';
                                }
                        }
                }       
               
        }
       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //point  pointlin[]=new point[300];
                make_point();
                DrawingPoint(pointlin);
               
               
        }

}
  1. package package1;
  2. //import java.math.*;

  3. package package1;

  4. class point{
  5.         public int point_x;
  6.         public int point_y;
  7.         public char alive = 'a' ;
  8. //使用中发现用不着了         public int PRB_RPY=0;
  9.         //构造探针并且对其随机覆盖位置
  10.         public point() {
  11.                 // TODO Auto-generated constructor stub
  12.                 point_x=(int)(Math.random()*100);
  13.                 point_y=(int)(Math.random()*100);
  14.         }
  15. }


  16. public class Doitpoint {
  17.         static char  map[][]=new char[100][100];
  18.         static point pointlin[]=new point[300];
  19.        
  20.         public static void make_point() {
  21.                 for (int i = 0; i < pointlin.length; i++) {
  22.                         pointlin[i] = new point();
  23.                 }
  24.         }
  25.         //判断是否传感器休眠内部循环
  26.         public static void testpointin(point point1, point point2) {
  27.                 int _x = Math.abs(point1.point_x - point2.point_x);
  28.                 int _y = Math.abs(point1.point_y - point2.point_y);
  29.                 double doxy= Math.sqrt(_x*_x+_y*_y);
  30.                 if(doxy<8)
  31.                         point1.alive = 'b';
  32.         }
  33.        
  34.        
  35.        
  36.         //判断是否传感器休眠外部循环
  37.         public static void testpoint(point [] pointline) {
  38.                 //外循环要测试的点
  39.                 for (int i = 0; i < pointline.length; i++) {
  40.                        
  41.                         //内循环寻找探针PRB_RPY
  42.                         if(pointline[i].alive =='a')
  43.                         {
  44.                                 for(int j=i+1;j<pointline.length;j++)
  45.                                 {
  46.                                         if(pointline[j].alive =='a')
  47.                                         {
  48.                                                 testpointin(pointline[i], pointline[j]);
  49.                                         }
  50.                                         if (pointline[i].alive =='b')
  51.                                                 break;
  52.                                        
  53.                        
  54.                                 }
  55.                         }
  56.                 }
  57.         }
  58.        
  59.         //绘制传感器覆盖的图像
  60.         public static void DrawingPoint(point[] pointlin) {
  61.                
  62.                 for (int i = 0; i < pointlin.length; i++) {
  63.                         if(pointlin[i].alive =='a')
  64.                                 //覆盖的计算
  65.                                 NewDraw(pointlin[i].point_x,pointlin[i].point_y);
  66.                 }
  67.                 System.out.println((map.toString()));
  68.                
  69.         }
  70.         //刷新覆盖数组
  71.         public static void NewDraw(int x ,int y)
  72.         {
  73.                 map[x][y]='*';
  74.                 int x1=x-8;
  75.                 if (x1<0) {
  76.                         x1=0;
  77.                 }
  78.                
  79.                 int x2=x+8;
  80.                 if (x2>100) {
  81.                         x2=100;
  82.                 }
  83.                
  84.                 int y1=y-8;
  85.                 if (y1<0) {
  86.                         y1=0;
  87.                 }
  88.                
  89.                 int y2=y+8;
  90.                 if(y2>100){
  91.                         y2=100;
  92.                 }
  93.                 for (int charx = x1; x<=x2 ; x++) {
  94.                         for (int chary =y1; chary <= y2; chary++) {
  95.                                 if (map[charx][chary] !='*')
  96.                                 {
  97.                                         map[charx][chary] = '0';
  98.                                 }
  99.                         }
  100.                 }       
  101.                
  102.         }
  103.        
  104.         public static void main(String[] args) {
  105.                 // TODO Auto-generated method stub
  106.                 //point  pointlin[]=new point[300];
  107.                 make_point();
  108.                 DrawingPoint(pointlin);
  109.                
  110.                
  111.         }

  112. }
复制代码

求大神指教!!谢谢了!!

1 个回复

倒序浏览
卧槽 传感器都来了 牛
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马