| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2539 人关注过本帖
标题:请教大神 如何让兔子和乌龟一起动
取消只看楼主 加入收藏
fan19980613
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-12
结帖率:0
收藏
 问题点数:0 回复次数:2 
请教大神 如何让兔子和乌龟一起动
现在只有乌龟自己跑  兔子不跑
代码运行没有错误


package 实验6;
import javax.swing.*;
import *;
import java.awt.*;
import *;
class Animals extends JPanel implements Runnable{
    Image backpic, rabbit, tortoise;  
    int x1=0,y1=20,x2=0,y2=150;
    int x=0;
    int rabbitlength = 0;
    int tortoiselength=0;
    int rabbittime=0;
    int tortoisetime = 0;
    public void paint(Graphics g) {   
        g.setColor(Color.WHITE);
        g.fillRect(0,0,500,300);
        rabbit = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/rabbit.jpg"));
        tortoise = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/tortoise.jpg"));
        g.drawImage(rabbit, x1, y1, 30, 100, this);
        g.drawImage(tortoise,x2,y2 ,30,100, this);
        
      
   }
    public void run() {
        
        
        boolean flag = true;
        while(flag) {
            try {  
                Thread.sleep(100);  
            } catch (InterruptedException ex) {  
            ex.printStackTrace();
            }  
            String name = Thread.currentThread().getName();
            if(name.equals("兔子")) {
                rabbitlength= rabbitlength+10;
                rabbittime = rabbittime+5;
                x1+=10;
                if(rabbitlength%80==0) {
                    try {
                        Thread.sleep(2000);
                    }catch(Exception e) {
                        e.printStackTrace();
                    }
                    System.out.println("兔子休息");
                    rabbittime = rabbittime+20;
                }
                System.out.println(name+"已经跑了"+rabbitlength+"米");
                if(rabbitlength==300) {
                    System.out.println("兔子到达了终点,用时为:"+rabbittime+"秒");
                    flag = false;
                }
                repaint();
            }
            if(name.equals("乌龟")) {
                tortoiselength=tortoiselength+5;
                tortoisetime = tortoisetime+3;
                x2+=5;
                System.out.println(name+"已经跑了"+tortoiselength+"米");
                if(tortoiselength==300) {
                    System.out.println("乌龟到达了终点,用时为:"+tortoisetime+"秒");
                    flag = false ;
                }
                repaint();
            
            }
            
        }
}
}
public class RabbitTortoiseRace {

    public static void main(String args[]) {
        Animals rabbit = new Animals();
        Animals tortoise= new Animals();
        new Thread(rabbit,"兔子").start();
        new Thread(tortoise,"乌龟").start();
        JFrame f = new JFrame("龟兔赛跑游戏");
        f.add(rabbit);
        f.add(tortoise);
        f.setSize(400, 300);
        f.setVisible(true);
    }

     

}




搜索更多相关主题的帖子: 兔子 int System out println 
2018-04-18 20:18
fan19980613
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-12
收藏
得分:0 
回复 2楼 疯狂的小a
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

sorry  忘记了
2018-04-18 20:50
fan19980613
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-12
收藏
得分:0 
回复 4楼 林月儿
改成你这样的 兔子真的动了    可是怎么我在frame中加一个对象 也是两个都在跑
JFrame f = new JFrame("龟兔赛跑游戏");
        f.add(rabbit);
        //f.add(tortoise);  这句话注释了 或者上面那句话 注释  两个都跑  这是怎么回事
2018-04-20 11:02
快速回复:请教大神 如何让兔子和乌龟一起动
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018862 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved