java 龟兔赛跑_有关JAVA编写龟兔赛跑的游戏的问题。求助……

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我这个程序龟兔是在直行跑道上,老师要求龟兔在环形跑道上赛跑,哪位高手可以帮忙改一改啊,只要改成在环形跑道上赛跑就可以、THANKS.

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Image;

import javax.swing.JApplet;

public class RabTor1 extends JApplet implements Runnable{

Image backpic,rabbit,tortoise;

int x1=0,y1=0;

int x2=0,y2=100;//图片的位移!

int rab_road=0,tor_road=0;//图片跑的路程!

int rab_time=0,tor_time=0;//图片移动用的时间

String str1="rabbit",str2="tortoise";//给字符串付初值!

//boolean stop=false;

public void init()//Applet中的初始化函数有类中构造函数的作用!最先调用!

{

backpic = getImage(getCodeBase(), "back.gif");//将图片对象与图片 绑定!

rabbit = getImage(getCodeBase(), "rabbit.jpg");

tortoise = getImage(getCodeBase(), "tortoise.jpg");

//System.out.println("intintintitnitn!");

}

public void paint(Graphics g)//此函数第四个调用!

{

g.setColor(Color.green);

g.fillRect(0, 0, 800, 800);

//g.drawImage(backpic, 0, 0,800, 600,this);

g.setColor(Color.black);

g.drawImage(rabbit, x1, y1, 60, 60, this);

g.drawString(str1, x1, y1+80);

g.drawImage(tortoise, x2, y2, 60, 60, this);

g.drawString(str2, x2, y2+80);

// System.out.println("jjjjjjjj");

}

public void start()//此函数第二个调用!

{

Thread rab = new Thread(this, "rabbit");//创建一个兔子线程,this表示在这个类中找.rabbit是线程的名子.

Thread tor = new Thread(this, "tortoise");

rab.start();//线程对象调用start()方法!然后调用对应的run()方法!

tor.start();

}

public void run()//此函数第三个调用!

{

boolean stop=false;//标志,此函数的精典之处.控制兔子,龟什么时候停!

while(!stop)

{

try

{

Thread.currentThread().sleep(1000);//当前线程调用sleep()函数.

}

catch (InterruptedException ex) {}

String threadName=Thread.currentThread().getName();//取得当前线程的名子.

if(threadName.equals("rabbit"))//兔子动的实现方法!

{

str1="rabbit";

x1=x1+30;

rab_time++;

rab_road+=3;

if(rab_road%24==0)

{

str1="兔子睡眠";

try

{

Thread.currentThread().sleep(24000);

}

catch (InterruptedException ex) {}

rab_time+=24;

}

if(rab_road==60)

{

stop=true;

str1="兔子总用时(秒):"+rab_time;

}

}

else if(threadName.equals("tortoise"))//乌龟移动实现的方法!

{

x2+=10;

tor_road+=1;

tor_time++;

if(tor_road==60)

{

stop=true;

str2="乌龟总用时(秒):"+tor_time;

}

}

repaint();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值