美文网首页
桌球小游戏项目3.0

桌球小游戏项目3.0

作者: hairaaaaaaaaa | 来源:发表于2019-08-08 13:12 被阅读0次
    package cn.ballgame;
    import sun.awt.image.ToolkitImage;
    
    import java.awt.*;
    import javax.swing.*;
    
    public class BallGame extends JFrame {
    
        Image ball= Toolkit.getDefaultToolkit().getImage("images/ball.png");
        Image desk= Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
    
        double x=100;//小球的横坐标
        double y=100;//小球的纵坐标
        boolean right=true;//小球运动的方向
        boolean up=false;
        double degree=3.14/3;  //弧度,此处就是:60度
    
        //画窗口的方法
        public void paint(Graphics g){
            System.out.println("窗口被画了一次!");
            g.drawImage(desk,0,0,null);
            g.drawImage(ball,(int) x,(int)y,null);
    
    //        if(right){
    //            x=x+10;
    //        }else{x=x-10;}
    //
    //        if(x>790){
    //            right=false;
    //        }
    //        if(x<45){
    //            right=true;
    //        }
            if(right){
                x=x+10*Math.cos(degree);
            }else{x=x-10*Math.cos(degree);}
            if(up){
                y=y-10*Math.sin(degree);
            }else{y=y+10*Math.sin(degree);}
    
            if(x>790){
                 right=false;
            }
            if(x<35){
                right=true;
            }
            if(y<70){
                up=false;
            }
            if(y>440){
                up=true;
            }
        }
    
        //窗口加载
        void launchFrame(){
            setSize(856,500);
            setLocation(50,50);
            setVisible(true);
        }
    
        //重复窗口,每秒画25次
        void re(){
            while(true){
                repaint();
                try{
                    Thread.sleep(40);   //40ms,   1秒=1000毫秒.  大约一秒画25次窗口
                }catch(Exception e){
                    e.printStackTrace();
                }
    
            }
        }
    
    
        //main方法是程序员的入口
        public static void main(String[] args){
            System.out.println("我是海拉");
            BallGame game=new BallGame();
            game.launchFrame();
            game.re();
        }
    }
    
    

    运行结果:

    • 随机动,碰壁会回头。模拟真球的效果。

    相关文章

      网友评论

          本文标题:桌球小游戏项目3.0

          本文链接:https://www.haomeiwen.com/subject/msqxjctx.html