java实现桌球游戏

 更新时间:2019年10月28日 14:13:42   作者:龙猫界  
这篇文章主要为大家详细介绍了java实现桌球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现桌球游戏的具体代码,供大家参考,具体内容如下

思维

 1窗口加载即创建一个窗口
 2在窗口内显示图片,先后顺序(桌面,球)否者会被覆盖掉。
 3.更改球的x,y,刷新窗口

ecipse

1.建立于src同级的new folder

new—>folder---->image(文件名)
图片直接从外部cpoy,在文件名上复制

2.下面直接完整代码注释都在里边

package day01;
import java.awt.*; //导包
import javax.swing.*;//导包
public class BallGame extends JFrame {/*继承JFrame*/
 Image ball=Toolkit.getDefaultToolkit().getImage("image/ball.png");
 Image desk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg");
 double x=100;
 double y=100;
 boolean right=true;
 //画桌面球窗口的方法
 public void paint(Graphics g ){
 //System.out.println("一次");
 g.drawImage(desk, 0, 0, null);
 g.drawImage(ball, (int)x, (int)y, null);
 // x=x+1;
 if(right)
  x=x+10;
 else
  x=x-10;
 if(x>856-40-30) //座框和球的直径
  right=false;
 if(x<40) //座框
  right=true;
 }
 //窗口加载
 void launchFrame(){
 setSize(856,500);
 setLocation(50, 50);
 setVisible(true);
 //重画窗口 一秒25次
 while(true)
 {
  repaint(); //重复paint这个函数
  //异常处理 try catch
  try {
  Thread.sleep(40);//40ms刷新
  } catch (Exception e) {
  e.printStackTrace();
  }
  
 }
 }
 //程序入口
 public static void main(String[] args) {
  System.out.println("桌球游戏");
  BallGame game =new BallGame();
  game.launchFrame();
 }

}

3.上下弹的代码

package day01;
import java.awt.*;
import javax.swing.*;
public class BallGame2 extends JFrame {
 Image ball=Toolkit.getDefaultToolkit().getImage("image/ball.png");
 Image desk=Toolkit.getDefaultToolkit().getImage("image/desk.jpg");
 double x=100;
 double y=100;
 double degree =3.14/3;
 //画窗口的方法
 public void paint(Graphics g ){
 //System.out.println("一次");
 g.drawImage(desk, 0, 0, null);
 g.drawImage(ball, (int)x, (int)y, null);
 
 x=x+10*Math.cos(degree);
 y=y+10*Math.sin(degree);
 if(y>500-40-30|| y<40+40) // 框+座框  直径
  degree=-degree;
 if(x<40||x>856-40-30)
  degree=3.14-degree;
 }
 //窗口加载
 void launchFrame(){
 setSize(856,500);
 setLocation(50, 50);
 setVisible(true);
 //重画窗口 一秒25次
 while(true)
 {
  repaint();
  try {
  Thread.sleep(40);//40ms刷新
  } catch (Exception e) {
  e.printStackTrace();
  }
  
 }
 }
 //程序入口
 public static void main(String[] args) {
  System.out.println("桌球游戏");
  BallGame2 game =new BallGame2();
  game.launchFrame();
 }

}

不懂的大家可以交流,数学公式不用纠结。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • jpa实现只查询指定的字段

    jpa实现只查询指定的字段

    这篇文章主要介绍了jpa实现只查询指定的字段,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 用Java制作用户登录界面超详细图文教程

    用Java制作用户登录界面超详细图文教程

    很多人学习Java的第一个任务是使用Java设计客户端登录界面中,希望我的学习方法与总结能帮助到需要的朋友,这篇文章主要给大家介绍了关于用Java制作用户登录界面的相关资料,需要的朋友可以参考下
    2024-06-06
  • Java批量插入数据的代码实现

    Java批量插入数据的代码实现

    日常工作或者学习中,可能会遇到批量插入数据的需求,一般情况下数据量少的时候,我们会直接调用批量接口插入数据即可,当数据量特别大时,我们就会用到分批插入数据,所以本文给大家介绍了Java批量插入数据的代码实现,需要的朋友可以参考下
    2024-01-01
  • java实现两个文件的异或运算

    java实现两个文件的异或运算

    这篇文章主要为大家详细介绍了java实现两个文件的异或运算,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Mybatis的动态Sql组合模式详情

    Mybatis的动态Sql组合模式详情

    这篇文章主要介绍了Mybatis的动态Sql组合模式详情,这篇文章从组合模式的角度分析了Mybatis动态sql的部分,SqlNode是组合模式的Component接口,更多相关内容需要的小伙伴可以参考一下
    2022-08-08
  • 浅析Java中Split函数的用法技巧

    浅析Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。以下我就为大家介绍,需要的朋友可以参考下
    2013-07-07
  • flink RichFunction之坑及解决

    flink RichFunction之坑及解决

    这篇文章主要介绍了flink RichFunction之坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 三行Java代码实现计算多边形的几何中心点

    三行Java代码实现计算多边形的几何中心点

    因为工作需要计算采煤机工作面的中心点,如果套用数学的计算公式,用java去实现,太麻烦了。本文将利用java几何计算的工具包,几行代码就能求出多变形的中心,简直yyds!还不快跟随小编一起学起来
    2022-10-10
  • Spring的定时任务@Scheduled源码详解

    Spring的定时任务@Scheduled源码详解

    这篇文章主要介绍了Spring的定时任务@Scheduled源码详解,@Scheduled注解是包org.springframework.scheduling.annotation中的一个注解,主要是用来开启定时任务,本文提供了部分实现代码与思路,需要的朋友可以参考下
    2023-09-09
  • SpringBoot项目网页加载出现Whitelabel Error Page的解决

    SpringBoot项目网页加载出现Whitelabel Error Page的解决

    这篇文章主要介绍了SpringBoot项目网页加载出现Whitelabel Error Page的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论