手把手教你写个java小游戏,桌球小游戏

简介: 手把手教你写个java小游戏,桌球小游戏

先把代码要用的2张图片放上来给大家

小球.png

桌球台.jpg

我的构造路径如下:

BallGame.java

package com.BallGame;
import java.awt.*;           //导入画布
import javax.swing.*;        //导入画布
public class BallGame  extends JFrame {
  Image ball=Toolkit.getDefaultToolkit().getImage("images/小球.png");       //获取图片
  Image desk=Toolkit.getDefaultToolkit().getImage("images/桌球台.jpg");
  double x=100; //横坐标
  double y=100; //纵坐标
  boolean right=true; //true表示向右,false表示向左
  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>(856-30-40)) {  //30是小球直径,40是桌子边框的宽度
      right=false;
    }
    if(x<40) { //40是桌子边框的宽度
      right=true;
    }
  }
  void launchFrame() {
    setSize(856,500);
    setLocation(50, 50);
    setVisible(true);
    while(true) {
      repaint();
      try {
        Thread.sleep(40); //40ms  1秒画25次
      }
      catch(Exception e) {
        e.printStackTrace();
      }
    }
  }
public static void main(String[] args) {
  System.out.println("你好");
  BallGame game=new BallGame();
  game.launchFrame();
}
}

BallGame1.java

package com.BallGame;
import  java.awt.*;
import javax.swing.*;
public class BallGame1 extends JFrame {
    Image ball = Toolkit.getDefaultToolkit().getImage("images/小球.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/桌球台.jpg");
    double  x=100;    //小球的横坐标
    double  y=100; //小球的纵坐标
    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);
        x  = x+ 10*Math.cos(degree);   //用数学方法实现对角线反弹
        y  = y +10*Math.sin(degree); 
        //碰到上下边界
        if(y>500-40-30||y<40+40){//500是窗口高度;40是桌子边框,30是球直径;最后一个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,   1秒=1000毫秒.  大约一秒画25次窗口
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
    //main方法是程序执行的入口
    public static void main(String[] args){
        System.out.println(" 你好");
        BallGame1 game = new BallGame1();
        game.launchFrame();
    }
}

其中BallGame.java实现的是水平回弹,BallGame1.java实现的是对角回弹。

白嫖不好,创作不易,各位的点赞就是我创作的最大动力,我们下篇文章见!

目录
相关文章
|
7月前
|
Java Android开发
五子棋【小游戏】(Java课设)
五子棋【小游戏】(Java课设)
42 1
|
7月前
|
Java Android开发
扫雷【小游戏】(Java课设)
扫雷【小游戏】(Java课设)
49 1
|
7月前
|
Java Android开发
拼图游戏【小游戏】(Java课设)
拼图游戏【小游戏】(Java课设)
43 1
|
7月前
|
Java Android开发
贪吃蛇【小游戏】(Java课设)
贪吃蛇【小游戏】(Java课设)
41 0
|
6月前
|
Java
Java 实现 捕鱼达人 小游戏【附源码】
Java 实现 捕鱼达人 小游戏【附源码】
277 0
|
6月前
|
Java
Java实现一个坦克大战的小游戏【附源码】
Java实现一个坦克大战的小游戏【附源码】
215 0
|
4月前
|
数据可视化 Java
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
这篇文章介绍了使用Java语言和Swing框架实现的扫雷小游戏的详细代码和实现过程。
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
|
4月前
|
人工智能 Java 定位技术
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
这篇文章通过一个使用ChatGPT实现的Java扫雷小游戏案例,展示了ChatGPT在编程领域的应用能力。文章中包含了扫雷游戏的Java代码实现,代码中初始化了雷区地图,随机放置雷,计算每个格子周围雷的数量,并提供了一个简单的文本界面与用户交互进行游戏。游戏通过控制台输入接受玩家的指令,并给出相应的反馈。
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
|
7月前
|
Java 程序员 图形学
程序员教你用代码制作飞翔的小鸟--Java小游戏,正好拿去和给女神一起玩
《飞扬的小鸟》Java实现摘要:使用IntelliJ IDEA和JDK 16开发,包含小鸟类`Bird`,处理小鸟的位置、速度和碰撞检测。代码示例展示小鸟图像的加载、绘制与旋转。同时有`Music`类用于循环播放背景音乐。游戏运行时检查小鸟是否撞到地面、柱子或星星,并实现翅膀煽动效果。简单易懂,可直接复制使用。
144 0
|
4月前
|
Java
05 Java代码实现一个小游戏(剪刀石头布)和一个简易的万年历
05 Java代码实现一个小游戏(剪刀石头布)和一个简易的万年历
92 2