Java實(shí)現(xiàn)簡(jiǎn)單臺(tái)球游戲
Java實(shí)現(xiàn)簡(jiǎn)單臺(tái)球桌問(wèn)題,供大家參考,具體內(nèi)容如下
需求:
使小球可以在桌面上移動(dòng),移動(dòng)到桌面邊緣將被彈回,顯示小區(qū)的移動(dòng)
素材:
小球照片
桌球照片
程序源代碼:
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è)置窗口可見(jiàn) //重畫(huà)窗口,每秒畫(huà)25次 while(true) { repaint();//repaint()方法會(huì)調(diào)用paint()方法 try { Thread.sleep(20);//40ms, }catch(Exception e) { e.printStackTrace(); } } } //畫(huà)窗口方法 public void paint(Graphics g){ System.out.println("窗口被畫(huà)一次!"); g.drawImage(desk,0,0,null); g.drawImage(ball, (int)x,(int)y, null); /* //注釋內(nèi)容為小球水平方向移動(dòng) 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)小球遇到桌面的上下界面時(shí),發(fā)生反轉(zhuǎn), if(y>500-40-30||y<40+40) //(40+40)一個(gè)表示標(biāo)題欄,一個(gè)時(shí)球桌寬 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("歡迎來(lái)到小球游戲!"); BallGame game=new BallGame(); game.launchFrame(); } }
運(yùn)行效果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 多線程等待優(yōu)雅的實(shí)現(xiàn)方式之Phaser同步屏障
在JAVA 1.7引入了一個(gè)新的并發(fā)API:Phaser,一個(gè)可重用的同步barrier。在此前,JAVA已經(jīng)有CyclicBarrier、CountDownLatch這兩種同步barrier,但是Phaser更加靈活,而且側(cè)重于 重用2021-11-11java UDP實(shí)現(xiàn)一個(gè)聊天工具的示例代碼
這篇文章主要介紹了java UDP實(shí)現(xiàn)一個(gè)聊天工具的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Java如何對(duì)返回參數(shù)進(jìn)行處理
這篇文章主要介紹了Java如何對(duì)返回參數(shù)進(jìn)行處理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06SpringBoot項(xiàng)目加載配置文件的6種方式小結(jié)
這篇文章給大家總結(jié)了六種SpringBoot項(xiàng)目加載配置文件的方式,通過(guò)@value注入,通過(guò)@ConfigurationProperties注入,通過(guò)框架自帶對(duì)象Environment實(shí)現(xiàn)屬性動(dòng)態(tài)注入,通過(guò)@PropertySource注解,yml外部文件,Java原生態(tài)方式注入這六種,需要的朋友可以參考下2023-09-09java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式
這篇文章主要介紹了java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12SpringBoot實(shí)現(xiàn)接口校驗(yàn)簽名調(diào)用的項(xiàng)目實(shí)踐
在以SpringBoot開(kāi)發(fā)后臺(tái)API接口時(shí),會(huì)存在哪些接口不安全的因素呢?通常如何去解決的呢?本文主要介紹了SpringBoot實(shí)現(xiàn)接口校驗(yàn)簽名調(diào)用的項(xiàng)目實(shí)踐,感興趣的可以了解一下2023-09-09淺析Java Mail無(wú)法解析帶分號(hào)的收件人列表的問(wèn)題
JAVA MAIL嚴(yán)格按照RFC 822規(guī)范進(jìn)行操作,沒(méi)有對(duì)分號(hào)做處理。大多數(shù)郵件服務(wù)器都是嚴(yán)格遵循RFC 822規(guī)范的2013-08-08