版本三、使小球动起来
package cn.xjion.game;
/**
* 水平滚动
* @author xjion
*
*/
import java.awt.*;
import javax.swing.*;
//继承窗口类
public class BallGame extends JFrame{
// 创建两个图片的对象,代表两个图片
Image ball = Toolkit.getDefaultToolkit().getImage("image/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("image/desk.jpg");

int x = 100;
int y = 100;
boolean right = true;

// 画窗口的方法
public void paint(Graphics g){
// 画桌面
g.drawImage(desk, 0, 0, null);
// 画ball对象,坐标100,100
g.drawImage(ball, x, y, null);
// 如果向右走就加10,否则减10
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);

// 重画窗口,无限重画
while(true){
// 重画方法
repaint();
// try catch抛异常
try {
// 40ms重画一次,1秒25次
Thread.sleep(40);
} catch (Exception e) {
e.printStackTrace();
}
}
}

// main方法,执行入口
public static void main(String[] args) {
// 新建对象
BallGame bg = new BallGame();
// 调用方法
bg.launchFrame();
}
}
版本四、使小球沿任意角度滚动
package cn.xjion.game;
/**
* 任意滚动
* @author xjion
*
*/
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;//弧度,60°

// 画窗口的方法
public void paint(Graphics g){
// 画桌面
g.drawImage(desk, 0, 0, null);
// 画ball对象,坐标100,100
g.drawImage(ball,(int) x,(int) y, null);
// x和y坐标的变化
x = x + 10*Math.cos(degree);
y = y + 10*Math.sin(degree);

/*判断什么时候碰到边界回弹*/
// 碰到上下边界回弹
if (y>500-40-30 || y<40 + 40) {
degree = -degree;
}
// 碰到左右边界回弹
if (x>856-40-30 || x<30) {
degree = 3.14-degree;
}

}
// 窗口加载的方法
void launchFrame(){
// 窗口的大小,宽高
setSize(856,500);
// 窗口的位置,距离窗口左上角的位置
setLocation(50,50);
// 窗口可见
setVisible(true);

// 重画窗口,无限重画
while(true){
// 重画方法
repaint();
// try catch抛异常
try {
// 40ms重画一次,1秒25次
Thread.sleep(40);
} catch (Exception e) {
e.printStackTrace();
}
}
}

// main方法,执行入口
public static void main(String[] args) {
// 新建对象
BallGame2 bg = new BallGame2();
// 调用方法
bg.launchFrame();
}
}
---------------------

转载于:https://www.cnblogs.com/ly570/p/11154056.html

Java桌球小游戏1相关推荐

  1. [Java]桌球小游戏(小球任意角度碰撞)

    import javax.swing.*; import java.awt.*; public class BallGame extends JFrame {/*继承swing里面的窗口类*///加载 ...

  2. Java桌球小游戏(兴趣制作)

    桌球小游戏 两张图片放在src的同级目录下 版本一.出现窗口 package cn.xjion.game; /*** 出现窗口* @author xjion**/ import java.awt.*; ...

  3. 30分钟java桌球小游戏_30分钟完成桌球小游戏项目

    桌球在球桌中按照一定线路和角度移动,遇到边框会自动弹回. 练手项目加速度控制 //添加速度控制的台球游戏 import java.awt.*; import javax.swing.*; public ...

  4. java桌球小游戏源代码,下载量瞬秒百万

    蚂蚁花呗第一次技术面(60min): Java容器有哪些?哪些是同步容器,哪些是并发容器? ArrayList和LinkedList的插入和访问的时间复杂度? java反射原理, 注解原理? 说说一致 ...

  5. 30分钟java桌球小游戏_Java桌球小游戏(兴趣制作)

    两张图片放在src的同级目录下 版本一.出现窗口 package cn.xjion.game; /** * 出现窗口 * @author xjion * */ import java.awt.*; i ...

  6. java桌球教程视频,Java桌球小游戏1 - osc_wov79fj7的个人空间 - OSCHINA - 中文开源技术交流社区...

    版本三.使小球动起来 package cn.xjion.game; /** * 水平滚动 * @author xjion * */ import java.awt.*; import javax.sw ...

  7. java台球游戏设计原理_java实现一个桌球小游戏

    本文实例为大家分享了java实现桌球小游戏的具体代码,供大家参考,具体内容如下 在ecplise中新建一个JAVA项目 建立四个class分别对应游戏登陆界面,游戏界面,数据库操作,和一个开始类 代码 ...

  8. 【Java速成教学】桌球游戏项目_教你用最短的时间开发桌球小游戏_Java初学者项目

    Java小游戏项目回归!今天给大家带来的是桌球游戏~ 本课程面向刚入门或者有一定Java基础的人群,帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的桌球游戏.[Jav ...

  9. JAVA制作小游戏———简易的桌球

    要求: 即使看不太懂,也要照着敲如下游戏代码,至少 5 遍. 要求所有字符和源文件一致. 如果报异常,请细心看所在行和老师代码有何区别.现阶段不需要理解代码的语法功能,只 要按照代码结构输入代码,能够 ...

最新文章

  1. 深入理解Python闭包概念
  2. Datatables中文API——回调函数
  3. 使用postman测试oauth2.0认证服务中出现OAuth出现Bad credentials
  4. 一文看尽目标检测:从 YOLO v1 到 v3 的进化之路
  5. java习题-练习1
  6. java中对象别名使用_JAVA中的别名现象
  7. 前端学习(3180):ant-design介绍3
  8. oracle克隆方式安装,克隆Oracle实现快速安装数据库软件
  9. 计算机网络-自顶向下方法(7th) 第五章 Problems 英文题目1-15+中文答案
  10. 架构师手册——图形化表达
  11. kali linux获取qq密码,Kali Linux(64位)安装QQ
  12. Python网络爬虫(二):小说下载器
  13. 基于 Si446x 上的 RSSI 测量的自动操作
  14. [图形学] 延迟贴花渲染技术 (A Deffered Decal Rendering Technique)
  15. 论文大致思路(不断更新)
  16. 令人愉快的 Nuxt3 教程 (二): 快速轻松地搭建博客
  17. 操作系统基本原理---进程管理
  18. jquery强大的选择器--jq选择器大全
  19. SSD-2(代码部分介绍)
  20. nPlayer for Mac(视频播放神器)

热门文章

  1. ProgressBar 类
  2. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
  3. 百老汇原版音乐剧《摇滚学校》2月开启中国巡演
  4. Vue之通过代理设置跨域访问
  5. 你有必要知道的一些JavaScript 面试题(中)
  6. 安装并测试nvenc linux sdk
  7. Linux 整理笔记
  8. 前台特效(9)无限极分类折叠菜单
  9. java集合类详细概述
  10. Entity Framework 4.3.1 Code First 连接 PostgreSQL 9.2.3 小结