日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java台球游戏设计原理_Java实现简单台球游戏

發(fā)布時間:2023/12/20 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java台球游戏设计原理_Java实现简单台球游戏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Java實(shí)現(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;//小球的橫坐標(biāo)

double y=100;//小球的縱坐標(biāo)

/*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);

//當(dāng)小球遇到桌面的上下界面時,發(fā)生反轉(zhuǎn),

if(y>500-40-30||y<40+40) //(40+40)一個表示標(biāo)題欄,一個時球桌寬

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();

}

}

運(yùn)行效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助

您可能感興趣的文章:

總結(jié)

以上是生活随笔為你收集整理的java台球游戏设计原理_Java实现简单台球游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。