java实战之桌球小游戏
作者:北冥有鱼love 发布时间:2022-04-22 20:40:13
标签:java,桌球,游戏
本文实例为大家分享了java桌球小游戏的具体代码,供大家参考,具体内容如下
源码:
import java.awt.*;
import javax.swing.*;
public class BallGame2 extends JFrame{
Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.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); //显示窗口
//重画窗口
while(true) {
repaint();
try {
Thread.sleep(40);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
//main方法是程序执行的入口
public static void main(String[] strgs) {
BallGame2 ballgame = new BallGame2();
ballgame.launchFrame();
}
}
图片:
注意:images文件夹保持和src在同级目录下:
运行效果:
来源:https://blog.csdn.net/qq_33378853/article/details/82924155


猜你喜欢
- 流程如图:MainActivity 跳转至 MainActivity2 再跳转至 MainActivity3MainActivity3跳转至
- using System;using System.Collections.Generic;using System.ComponentMo
- 函数InternetGetConnectedState返回本地系统的网络连接状态。语法:BOOL InternetGetConnectedS
- 目录问题:解答方案:总结问题:我遇到了一个有趣的问题,它的代码大概是这样的。List<Func<int>> acti
- 问题:在Spring Boot中使用JpaRepository的deleteById(ID id)方法删除数据时,首先要使用existsBy
- MVC中,一般的情况下,使用IDE工具帮我们生成的代码,在路由注册的时候:public static void RegisterRoutes
- 1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,
- 本文实例讲述了Android编程设置屏幕亮度的方法。分享给大家供大家参考,具体如下:使用场景最近在研究AndroidL Settings的代
- 前言动态调整线上日志级别是一个非常常见的场景,借助apollo这种配置中心组件非常容易实现。作为apollo的官方技术支持,博主经常在技术群
- Android 网络请求框架Volley实例详解首先上效果图Logcat日志信息on ReponseVolley特别适合数据量不大但是通信频
- 从刚接触c#编程到现在,差不多快有一年的时间了。在学习过程中,有很多地方始终似是而非,直到最近才弄明白。本文将先介绍用法,后评断功能。一、委
- 本文实例分析了Android开发之TimePicker控件用法。分享给大家供大家参考,具体如下:新建项目:New Android Proje
- 前言废话不多说直接开始老规矩,文章最后有源码完成效果图棋子加渐变色棋子不加渐变色一、测量1.获取宽高 @Override protected
- Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的Vector 是线程安全的,在
- 工厂接口定义/// <summary> /// 工厂接口定义 &nbs
- 昨天有个刚学java的师弟发了个程序给我,说死活编译不过,老是报编码问题,自己试了一下,也出问题了...当我们编辑了一个Java源文件保存时
- 背景java程序员一般写的是后端服务是JavaWeb类型的项目,主要包括Http接口和dubbo接口,Http接口一般采用的rest风格,那
- 汉诺塔游戏一旦掌握了规律,其实是有点单调和无聊的,不过却是学习递归的一个绝佳例子,想当初学习老谭C的时候,就卡在这儿好长时间。对初学编程的人
- 题记:由于业务的需要,需要根据模板定制pdf文档,经测试根据模板导出word成功了;但是导出pdf相对麻烦了一点。两天的研究测试java导出
- 本文实例为大家分享了SpringMVC实现上传下载文件的具体代码,供大家参考,具体内容如下一、SpringMVC专门提供了CommonsMu