Java實現(xiàn)簡單臺球游戲
更新時間:2019年07月13日 11:46:15 作者:xujinshan361
這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單臺球游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
Java實現(xiàn)簡單臺球桌問題,供大家參考,具體內(nèi)容如下
需求:
使小球可以在桌面上移動,移動到桌面邊緣將被彈回,顯示小區(qū)的移動
素材:
小球照片

桌球照片

程序源代碼:
package 桌球游戲;
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");
double x=100;//小球的橫坐標
double y=100;//小球的縱坐標
/*boolean right =true; //方向*/
double degree=3.14/3; //弧度表示,60°
//窗口加載
void launchFrame() {
setSize(856,500); //參數(shù)和桌面有關(guān)
setLocation(400,400);
setVisible(true); //設(shè)置窗口可見
//重畫窗口,每秒畫25次
while(true) {
repaint();//repaint()方法會調(diào)用paint()方法
try {
Thread.sleep(20);//40ms,
}catch(Exception e) {
e.printStackTrace();
}
}
}
//畫窗口方法
public void paint(Graphics g){
System.out.println("窗口被畫一次!");
g.drawImage(desk,0,0,null);
g.drawImage(ball, (int)x,(int)y, null);
/* //注釋內(nèi)容為小球水平方向移動
x=x+1;
if(right) {
x+=10;
}else {
x-=10;
}
if(x>856-40-30) //30小球的直徑,40球桌邊框的
right=false;
if(x<40)
right=true;
//y=y+2;
* */
x=x+10*Math.cos(degree);
y=y+10*Math.sin(degree);
//當小球遇到桌面的上下界面時,發(fā)生反轉(zhuǎn),
if(y>500-40-30||y<40+40) //(40+40)一個表示標題欄,一個時球桌寬
degree=-degree;
if(x<0+40||x>856-40-30)
degree =3.14-degree;
}
//main 方法執(zhí)行入口
public static void main(String []args) {
System.out.println("歡迎來到小球游戲!");
BallGame game=new BallGame();
game.launchFrame();
}
}
運行效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 多線程等待優(yōu)雅的實現(xiàn)方式之Phaser同步屏障
在JAVA 1.7引入了一個新的并發(fā)API:Phaser,一個可重用的同步barrier。在此前,JAVA已經(jīng)有CyclicBarrier、CountDownLatch這兩種同步barrier,但是Phaser更加靈活,而且側(cè)重于 重用2021-11-11
SpringBoot項目加載配置文件的6種方式小結(jié)
這篇文章給大家總結(jié)了六種SpringBoot項目加載配置文件的方式,通過@value注入,通過@ConfigurationProperties注入,通過框架自帶對象Environment實現(xiàn)屬性動態(tài)注入,通過@PropertySource注解,yml外部文件,Java原生態(tài)方式注入這六種,需要的朋友可以參考下2023-09-09
java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式
這篇文章主要介紹了java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
SpringBoot實現(xiàn)接口校驗簽名調(diào)用的項目實踐
在以SpringBoot開發(fā)后臺API接口時,會存在哪些接口不安全的因素呢?通常如何去解決的呢?本文主要介紹了SpringBoot實現(xiàn)接口校驗簽名調(diào)用的項目實踐,感興趣的可以了解一下2023-09-09

