用java编写赛马_java applet 赛马小程序
发布日期:2021-10-25 22:55:53 浏览次数:2 分类:技术文章

本文共 3685 字,大约阅读时间需要 12 分钟。

昨天写看java书的时候,觉得闷,就写了个小程序自我娱乐一下。技术含量不高,只是自我娱乐而已。下面的代码只要编译出class文件,再写一个HTML格式的文件,调用Arc2Demo2.class 就能看了。

/*该程序实现一个跑马比赛程序,各个选手的速度随机控制 */import java.awt.*;import java.applet.*;import java.awt.geom.*;import javax.swing.*;import java.lang.*;public class Arc2Demo2 extends Applet implements Runnable{ boolean boo; Thread th; int x; int x1; int x2; int x3; int x4; int x5; int x6; int x7; public void init() {  th=new Thread(this);  boo=true;  x=0;  x1 = 0;  x2 = 0;  x3 = 0;  x4 = 0;  x5 = 0;  x6 = 0;  x7 = 0; } public void start() {  th.start(); } public void paint(Graphics g) {  Graphics2D g2=(Graphics2D)g;                    //g2.setPaint(Color.blue);  Graphics2D g3 = (Graphics2D)g;  //g3.setPaint(Color.pink);  Graphics2D g4 = (Graphics2D)g;  Graphics2D g5 = (Graphics2D)g;  Graphics2D g6 = (Graphics2D)g;  Graphics2D g7 = (Graphics2D)g;  Graphics2D g8 = (Graphics2D)g;  Graphics2D g9 = (Graphics2D)g;  if(x<600&&x1<600&&x2<600&&x3<600&&x4<600&&x5<600&&x6<600&&x7<600)  {   if(boo)   {    g2.setPaint(Color.blue);    g2.fill(new Arc2D.Double(x,20,50,50,30,310,Arc2D.PIE));                   //绘制饼形圆弧    g3.setPaint(Color.pink);    g3.fill(new Arc2D.Double(x1, 90, 50, 50, 30, 310, Arc2D.PIE));    g4.setPaint(Color.red);    g4.fill(new Arc2D.Double(x2,160,50,50,30,310,Arc2D.PIE));    g5.setPaint(Color.green);    g5.fill(new Arc2D.Double(x3, 230, 50, 50, 30, 310, Arc2D.PIE));    g6.setPaint(Color.gray);    g6.fill(new Arc2D.Double(x4, 300, 50, 50, 30, 310, Arc2D.PIE));    g7.setPaint(Color.yellow);    g7.fill(new Arc2D.Double(x5, 370, 50, 50, 30, 310, Arc2D.PIE));    g8.setPaint(Color.orange);    g8.fill(new Arc2D.Double(x6, 440, 50, 50, 30, 310, Arc2D.PIE));    g9.setPaint(Color.black);    g9.fill(new Arc2D.Double(x7, 510, 50, 50, 30, 310, Arc2D.PIE));    boo=false;   }   else   {    g2.setPaint(Color.blue);    g2.fill(new Arc2D.Double(x,20,50,50,0,350,Arc2D.PIE));                    //绘制饼形圆弧,通过改变圆弧的角度来实现形状的变换    g3.setPaint(Color.pink);    g2.fill(new Arc2D.Double(x1, 90, 50, 50, 0, 350, Arc2D.PIE));    g4.setPaint(Color.red);    g4.fill(new Arc2D.Double(x2, 160, 50, 50, 0, 350, Arc2D.PIE));    g5.setPaint(Color.green);    g5.fill(new Arc2D.Double(x3, 230, 50, 50, 0, 350, Arc2D.PIE));    g6.setPaint(Color.gray);    g6.fill(new Arc2D.Double(x4, 300, 50, 50, 0, 350, Arc2D.PIE));    g7.setPaint(Color.yellow);    g7.fill(new Arc2D.Double(x5, 370, 50, 50, 0, 350, Arc2D.PIE));    g8.setPaint(Color.orange);    g8.fill(new Arc2D.Double(x6, 440, 50, 50, 0, 350, Arc2D.PIE));    g9.setPaint(Color.black);    g9.fill(new Arc2D.Double(x7, 510, 50, 50, 0, 350, Arc2D.PIE));    boo=true;   }   x+=10*Math.random()+1;                             //各个圆弧的速度由随机数控制   x1 += 10 * Math.random() + 1;   x2 += 10 * Math.random() + 1;   x3 += 10 * Math.random() + 1;   x4 += 10 * Math.random() + 1;   x5 += 10 * Math.random() + 1;   x6 += 10 * Math.random() + 1;   x7 += 10 * Math.random() + 1;  }  else  {   //wait();   if (x >= 600)    g2.drawString("No.1 win the match!",20,590);         //输出赢的选手号码,并重新开始比赛   if (x1 >= 600)    g3.drawString("No.2 win the match!", 20, 590);   if (x2 >= 600)    g4.drawString("No.3 win the match!", 20, 590);   if (x3 >= 600)    g5.drawString("No.4 win the match!", 20, 590);   if (x4 >= 600)    g6.drawString("No.5 win the match!", 20, 590);   if (x5 >= 600)    g7.drawString("No.6 win the match!", 20, 590);   if (x6 >= 600)    g8.drawString("No.7 win the match!", 20, 590);   if (x7 >= 600)    g9.drawString("No.8 win the match!", 20, 590);   //stop();   x=0;   x1 = 0;   x2 = 0;   x3 = 0;   x4 = 0;   x5 = 0;   x6 = 0;   x7 = 0;  } } public void stop() { } public void run() {  while(true)  {   repaint();   try   {    Thread.sleep(500);   }   catch(InterruptedException e){}  } } public static void main(String args[]) {  JFrame fr=new JFrame("2D演示");  fr.getContentPane().setBackground(Color.white);  Arc2Demo2 arc2=new Arc2Demo2();  arc2.init();  arc2.start();  fr.add(arc2);  fr.setSize(350,120);  fr.setVisible(true);  fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}

转载地址:https://blog.csdn.net/weixin_32075843/article/details/114498445 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java压缩成.tar_Java的tar打包和gzip压缩(增加非递归算法)
下一篇:realme怎么互传_分享照片和视频 手机互传如何轻松搞定?

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月31日 02时29分14秒