用java编写台球小游戏项目
一、臺球小游戲
1、加載窗口
代碼:
import java.awt.;
import javax.swing.;
public class BallGame extends JFrame {
//窗口加載 void launchFrame() {setSize(300,300);setLocation(50,50);setVisible(true); }//main方法是程序執行的入口
public static void main(String []args) {
}
2、加載圖片
代碼:
import java.awt.;
import javax.swing.;
public class BallGame extends JFrame {
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png"); Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg");//畫窗口 public void paint(Graphics g) {System.out.println("窗口被畫一次");g.drawImage(desk, 0, 0, null);g.drawImage(ball, 100, 100, null);} //窗口加載 void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true); }//main方法是程序執行的入口
public static void main(String []args) {
}
3、使小球圖片水平方向動起來并實現邊界檢測,實現動畫
代碼:
import java.awt.;
import javax.swing.;
public class BallGame extends JFrame {
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png"); Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg"); double x=100;//小球的橫坐標 double y=100;//小球的縱坐標 boolean right=true;//方向//畫窗口的方法 public void paint(Graphics g) {System.out.println("窗口被畫一次");g.drawImage(desk, 0, 0, null);g.drawImage(ball, (int)x, (int)y, null);if(right) {x=x+10;}else {x=x-10;}if(x>856-40-30) {//856是窗口的寬度,40是桌子邊框的寬度,30是小球的直徑right=false;}if(x<40) {//40是邊框的寬度right=true;}} //窗口加載 void launchFrame() {setSize(856,500);setLocation(50,50);setVisible(true);//重畫窗口while(true) {repaint();try {Thread.sleep(40);}catch(Exception e) {e.printStackTrace();} } }//main方法是程序執行的入口
public static void main(String []args) {
}
4、臺球沿任意角度
代碼:
import java.awt.;
import javax.swing.;
public class BallGame 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(Exception e) {e.printStackTrace();} } }//main方法是程序執行的入口
public static void main(String []args) {
}
二.bug與心得
在第一次敲的時候出現了一點錯誤,導致出現了少數的errors,后來就仔細看著敲,此次代碼調試讓我對java產生了濃厚的興趣,隨著學習的深入與成熟,我或許能發明更加高級的臺球游戲。
總結
以上是生活随笔為你收集整理的用java编写台球小游戏项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java咖啡机_JAVA咖啡机2010款
- 下一篇: 实战ItemTouchHelper仿网易