介绍
小编给大家分享一下使用java实现一个桌球小游戏的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
具体内容如下
在ecplise中新建一个java项目
建立四个类分别对应游戏登陆界面,游戏界面,数据库操作,和一个开始类
代码如下
游戏类:
package 弹球游戏; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import 属性; import java.awt.Frame; import java.awt.Graphics; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Random; import javax.swing.JTextPane; import javax.swing.Timer;/* - - - - - - - - - - - - - - - - -游戏界面,弹球游戏- - - - - - - - - - - - - - - - - - */public class  Game { ,private final  int FRAME_X =500; ,private final  int FRAME_Y =450; ,private final  int FRAME_WIDTH =500; ,private final  int FRAME_HIGH =500; ,private final  int TABLE_WIDTH =, 100;,,//板子宽度 ,private final  int TABLE_HIGH =20,,,,//板子高度 ,private final  int BALL_SIZE =20,,,//球的大小 ,Random rand =, new 随机(); ,private int 出现=rand.nextInt(200);,//板子的坐标 ,private int  TABLE_Y=400; ,private int  BALL_X=10;,,,//小球的横坐标 ,private int  BALL_Y=10;,,,//小球的纵坐标 ,private int SPEED =, 10;,,,//小球横向速度 ,Frame f =, new 框架(“弹球游戏“); ,private Mycanvas draw =, new Mycanvas (); ,private boolean is_X =,真的,,,//为真正的时候横坐标+ ,private boolean is_Y =,真的,,,//为真正的时候纵坐标+ ,private int score =0;,,,//游戏的得分 ,private Panel p =, new 面板(); ,private JTextPane tex =, new JTextPane();,//排行榜显示 ,//定义键盘监听器 ,KeyAdapter keyProcessor =, new KeyAdapter (), { ,public void  keyPressed (KeyEvent e), { 如果才能(e.getKeyCode ()==KeyEvent.VK_LEFT&, TABLE_X> 0), { TABLE_X 才能;-=10; ,,} 如果才能(e.getKeyCode ()==KeyEvent.VK_RIGHT&, TABLE_X<370) { TABLE_X 才能,+=10; ,,} 如果才能(e.getKeyCode ()==KeyEvent.VK_UP&, TABLE_Y> 0), { TABLE_Y 才能;-=10; ,,} 如果才能(e.getKeyCode ()==KeyEvent.VK_DOWN&, TABLE_Y<430), { TABLE_Y 才能,+=10; ,,} ,} ,}; ,//定义事件监听器 ,ActionListener task =, new ActionListener () { public 才能;void  actionPerformed (ActionEvent e), { 如果才能(BALL_X> FRAME_X | | BALL_Y> FRAME_Y&, BALL_Y> TABLE_Y-15), { ,,try { ,,DataBaseLoding d =, new DataBaseLoding (); ,,d.initParam (“mysql.ini"); ,,d.insertScore(分数); ,,},catch (Exception e1), { ,,e1.printStackTrace (); ,,} ,,System.out.println(“结束了“); ,,timer.stop (); ,,} 如果才能(is_X), { ,,BALL_X +=10; }else {才能 ,,BALL_X -=10; ,,} 如果才能(BALL_X> 440) { ,,is_X=false; ,,} 如果才能(BALL_X<10), { ,,is_X=true; ,,} 如果才能(BALL_Y<0), { ,,is_Y =true; ,,} 如果才能(is_Y), { ,,BALL_Y +=10; }else {才能 ,,BALL_Y -=10; ,,} 如果才能(BALL_Y==TABLE_Y-10&, BALL_X> TABLE_X&, BALL_X<出现+ 100),{ ,,is_Y=false; ,,} 分数才能+ +; draw.repaint才能(); ,,} ,}; ,Timer Timer =, new 计时器(100年,任务); ,public void  text (), { ,Font f =, new 字体(“排行榜的字体“,Font.ITALIC, 25); ,tex.setFont (f); ,String first =懊巍?“\ t" +“\ t" +“分数“+“\ r"; ,try { DataBaseLoding 才能;d =, new DataBaseLoding (); d.initParam才能(“mysql.ini"); first 才能+=d.select (); ,}catch (Exception e1), { null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null使用java实现一个桌球小游戏的案例