java實(shí)戰(zhàn)之桌球小游戲
本文實(shí)例為大家分享了java桌球小游戲的具體代碼,供大家參考,具體內(nèi)容如下
源碼:
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; //小球的橫坐標(biāo)
double y = 100; //小球的縱坐標(biāo)
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是球直徑, 最后一個(gè)40是標(biāo)題欄的高度
degree = -degree; //小球觸碰上下邊界時(shí),只改變縱坐標(biāo)方向
}
if(x<40 || x>856-40-30) {
degree = 3.14 - degree; //小球觸碰左右邊界時(shí),只改變橫坐標(biāo)方向
}
}
//窗口加載
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方法是程序執(zhí)行的入口
public static void main(String[] strgs) {
BallGame2 ballgame = new BallGame2();
ballgame.launchFrame();
}
}
圖片:


注意:images文件夾保持和src在同級目錄下:

運(yùn)行效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法
今天小編就為大家分享一篇java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程
這篇文章主要為大家詳細(xì)介紹了SpringBoot整合Hashids實(shí)現(xiàn)數(shù)據(jù)ID加密隱藏的全過程,文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
mybatis錯(cuò)誤之in查詢?<foreach>循環(huán)問題
這篇文章主要介紹了mybatis錯(cuò)誤之in查詢?<foreach>循環(huán)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Feign遠(yuǎn)程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案
這篇文章主要介紹了Feign遠(yuǎn)程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java.lang.OutOfMemoryError: GC overhead limit
本文主要介紹了Java.lang.OutOfMemoryError: GC overhead limit exceeded錯(cuò)誤的解決,錯(cuò)誤是由于堆空間不足導(dǎo)致GC頻繁運(yùn)行,從而引起的,下面就來介紹一下解決方法2025-03-03
IDEA中沒有Mapper.xml模板選項(xiàng)的處理方法
這篇文章主要介紹了IDEA中沒有Mapper.xml模板選項(xiàng)的處理方法,需其實(shí)解決方法很簡單,只需要在idea中導(dǎo)入模板即可,本文圖文的形式給大家分享解決方法,需要的朋友可以參考下2021-04-04
mybatis定義sql語句標(biāo)簽之delete標(biāo)簽解析
這篇文章主要介紹了mybatis定義sql語句標(biāo)簽之delete標(biāo)簽解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

