package com.view.test;
import javax.swing.*;import java.awt.*;
public class Crossing extends JFrame{DrawPanel dp=null;public static void main(String[] args) {// TODO 自动生成的方法存根Crossing crossing=new Crossing();}public Crossing(){dp=new DrawPanel();Thread t=new Thread(dp);t.start();this.add(dp);this.setSize(900,600);this.setTitle("CrossingRoad Simulation");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}
}
class DrawPanel extends JPanel implements Runnable{int timeDown=60;int timeUp=0;int x1=450;int y1=200;int x2=450;int y2=400;int x3=300;int y3=300;int x4=600;int y4=300;int x5=300;int y5=0;int x6=525;int y6=560;int x7=260;int y7=350;int x8=600;int y8=200;int speed1=80;int speed2=80;int speed3=80;int speed4=80;int temp=0;int flag=0; public void paint(Graphics g){super.paint(g);g.fillRect(0, 0, 900, 600);g.setColor(Color.white);g.drawLine(300, 0, 300, 600);g.drawLine(375, 0, 375, 600);g.drawLine(450, 0, 450, 600);g.drawLine(525, 0, 525, 600);g.drawLine(600,0,600,600);g.drawLine(0, 200, 900, 200);g.drawLine(0, 250, 900, 250);g.drawLine(0, 300, 900, 300);g.drawLine(0, 350, 900, 350);g.drawLine(0, 400, 900, 400);g.setColor(Color.yellow);g.drawLine(450,200,600,200);g.drawLine(300,400,450,400);g.drawLine(300,200,300,300);g.drawLine(600,300,600,400);
         if(timeUp%60==0){temp=x1;x1=x3;x3=temp;temp=y1;y1=y3;y3=temp;temp=x2;x2=x4;x4=temp;temp=y2;y2=y4;y4=temp;flag++;}if(flag%2!=0){if(timeDown<4){if(y5<200)this.speed1=0;if(y6>400)this.speed2=0;}else{this.speed1=80;this.speed2=80;}this.speed3=0;this.speed4=0;}else if(flag%2==0){this.speed1=0;this.speed2=0;if(timeDown<4){if(x7<300)this.speed3=0;if(x8>600)this.speed4=0;}else{this.speed3=80;this.speed4=80;}}if(y5>600)y5=0;if(y6<0)y6=560;if(x7>900)x7=0;if(x8<0)x8=880;
g.setColor(Color.red);//开关信息的字体String s=String.valueOf(timeDown);Font myFont=new Font("黑体",Font.BOLD,30);g.setFont(myFont);g.drawString(s, x1, y1);g.drawString(s, x2, y2);g.setColor(Color.green);g.drawString(s, x3, y3);g.drawString(s, x4, y4);g.draw3DRect(x5, y5, 30, 40, false);g.draw3DRect(x6, y6, 30, 40, false);g.draw3DRect(x7, y7, 40, 30, false);g.draw3DRect(x8, y8, 40, 30, false);      }
public void run() {// TODO Auto-generated method stubwhile(true){//休眠try {Thread.sleep(1000);} catch (Exception e) {e.printStackTrace();// TODO: handle exception}timeDown--;timeUp++;y5+=speed1;y6-=speed2;x7+=speed3;x8-=speed4;//重画this.repaint();System.out.println(timeDown);if(timeDown==0){timeDown+=60;}}}
}

Crossing Road Simulation相关推荐

  1. rcp rapido_Rapido使用数据改善乘车调度

    rcp rapido Given our last blog post of the series, which can be found here : 鉴于我们在该系列中的最后一篇博客文章,可以在这 ...

  2. 铁路工程词汇-中英对照

    铁路专用英语 专业词汇中英对照翻译----铁路工程词汇 线路工程 railway line engineering 铁路勘测 ;铁道勘测 railway reconnaissance 铁路选线 ;铁道 ...

  3. 树莓派智能小车python论文_基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶...

    self_drive 基于树莓派的人工智能自动驾驶小车 Artificial intelligence automatic driving car based on raspberry pie git ...

  4. 英语单词 voltage simulation synthesize junction asynchronous mega optimize

    voltage 英 [ˈvəʊltɪdʒ]美 [ˈvoʊltɪdʒ] n. 电压;伏特数 [例句] The output voltage rises, compensating for the ori ...

  5. Why Did the Cow Cross the Road III(树状数组)

    Why Did the Cow Cross the Road III 时间限制: 1 Sec  内存限制: 128 MB 提交: 65  解决: 28 [提交][状态][讨论版] 题目描述 The l ...

  6. toj 4611 Repairing a Road

    toj 4611 Repairing a Road 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte 总提交: 49 测试通过:19 描述 You live in ...

  7. 遥感道路提取的补充C-UNet: Complement UNet for Remote Sensing Road Extraction

    这里写自定义目录标题 遥感道路提取的补充C-UNet: Complement UNet for Remote Sensing Road Extraction 摘要:道路是一种重要的交通方式,对人们的日 ...

  8. crossing的用法总结_中考英语重要短语的用法及区别:across , cross, crossing, through, past...

    中考英语重要短语的用法及区别:across , cross, crossing, through,past (1)cross 意为"横过, 穿过"为动词,相当于walk(go,ru ...

  9. sumo添加车辆_sumo demo 我们通过使用交通仿真软件SUMO(Simulation of 联合开发网 - pudn.com...

    sumo demo 所属分类:Windows编程 开发工具:C/C++ 文件大小:3KB 下载次数:15 上传日期:2019-03-07 16:12:12 上 传 者:tonythetiger1110 ...

  10. 点云 3D 天气数据增强 - LiDAR Snowfall Simulation for Robust 3D Object Detection (CVPR 2022)

    点云 3D 天气数据增强 - LiDAR Snowfall Simulation for Robust 3D Object Detection - 用于鲁棒3D目标检测的激光雷达降雪模拟(CVPR 2 ...

最新文章

  1. 最小径集的算法_机器学习的利器——集成算法
  2. linux执行cli文件,linux – 如何“撤消”在终端/ CLI中执行的“解压缩”?
  3. 全球权威声纹识别竞赛斩获双料冠军 网易AI Lab智能技术领先国际
  4. 终于有人把JAVA虚拟机讲清楚了!
  5. Python 公众号 小程序抓包分析
  6. 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
  7. C#用DataTable实现Group by数据统计
  8. nginx配置文件中参数的作用
  9. wlan bss ess ssid
  10. 从ARM裸机看驱动之按键中断方式控制LED(二)
  11. 网络转载 ! 不保证网站安全 谨慎!
  12. 富文本编辑器使用案例
  13. 抢占自动驾驶「制高点」,传统Tier1巨头「砸钱入场」
  14. 贴片铝电容识别及型号_贴片铝电解电容封装尺寸定义.pdf
  15. autohotkey-大漠插件
  16. vue json对象转数组_分享:vue使用技巧和项目中遇到的问题
  17. 2022081班李亚楠20220901
  18. 电容笔和触控笔有什么区别?第三方电容笔了解下
  19. 智能家居DIY系列之智能灯泡
  20. c 语言 批量更改文件名,rename 批量修改文件名

热门文章

  1. 正定二次函数的共轭梯度法matlab实现
  2. Salesforce正面叫板微软Office:5.82亿美元收购Quip
  3. mac下Android开发环境搭建
  4. 字符函数-(学习笔记)
  5. 无法注册这篇文档........
  6. 北京的一場演出-私人行程
  7. Delphi XE7下如何创建一个Android模拟器调试?
  8. (第一周)2018091-2 博客作业
  9. 初识面向对象(钻石继承,super,多态,封装,method,property,classmethod,staticmethod)...
  10. socket编程详解,转自http://www.sme-cn.com:82/archives/669