import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Timer;
import javax.swing.JFrame;
public class dazhuankuai implements KeyListener
{
private JFrame jframe;
Canvas canvas;
board b;
int x;
int scoret;
int diffscore;
dazhuankuai(){
jframe = new JFrame("打砖块");
canvas = new Canvas();
canvas.setSize(canvaswidth, canvasheight);
canvas.addKeyListener(this);
jframe.add(canvas);
jframe.addKeyListener(this);
jframe.setVisible(true);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
begin();
}
public void begin()
{ b=new board(this);
b.run();
b.ball.vy=10;
void paint()
{Graphics g = canvas.getGraphics();
g.setColor(Color.white);
if(b.matrix[i][j]){
g.setColor(b.brickcolor[i][j]);
g.setColor(Color.RED);
g.fillOval(b.ball.x, b.ball.y, 10, 10);
void paintrect()
g.setColor(Color.black);
void paintscore()
b.getscore();
if(b.scorescoret)
diffscore=b.score-scoret;
scoret=b.score;
b.score=0;
public void keyPressed(KeyEvent e) {//监听键盘按键
int keycode = e.getKeyCode();
switch (keycode) {
case KeyEvent.VK_LEFT:
if(b.leftpoint=10)
b.leftpoint-=10;
paintrect();
break;
case KeyEvent.VK_RIGHT:
b.leftpoint+=10;
case KeyEvent.VK_ENTER:
public void keyReleased(KeyEvent e) {
public void keyTyped(KeyEvent e) {
public static void main(String[] args) {
dazhuankuai s = new dazhuankuai();
class ball
int vx;
int vy;
int r;
class board
Timer timer =new Timer(true);
ball ball;
dazhuankuai dzk;
int score=0;
boolean[][] matrix;
Color[][] brickcolor;
int[][] brickint;
int i,j;
board(dazhuankuai dzk)
{this.dzk=dzk;
ball=new ball();
matrix[i][j]=true;
switch (brickint[i][j]){
case 1: brickcolor[i][j]=Color.green;break;
default: brickcolor[i][j]=Color.orange;break;
public void move()
if(matrix[i][j])
if(ball.y=(j+1)*10ball.y=j*10)
{ball.vy=-ball.vy;ball.vx=ball.vx;matrix[i][j]=false;
{ball.vx=-ball.vx;ball.vy=ball.vy;matrix[i][j]=false;
if(ball.x=0)ball.vx=-ball.vx;//碰墙
if(ball.y=0ball.vy0)ball.vy=-ball.vy;
ball.vy=-ball.vy;
public void getscore()
if(matrix[i][j]==false)
{if(brickint[i][j]==1)
else score+=10;}
public void run(){
timer.schedule(new java.util.TimerTask(){
public void run() {
change();
dzk.paintscore();
dzk.paint();
dzk.paintrect();
},0,(100*1));
public void change(){
move();
ball.x+=ball.vx;
ball.y-=ball.vy;
试试这个吧
这个还好一点
你可以控制它
你有点误解了 JAVA用到的英文单词其实不多,你说的接口名、类名等都是可以自己起的只要自己看到这个名字能知道是什么意思就行,没必要非要用英语. 这年头什么东西都不会缺的 去网上随便搜搜就是一堆书,但真的没多大用. f
一般来讲,打砖块游戏的小球和挡板都是独立运动的,不存在同时运动问题.
同时运动只在发球或者黏住的时候产生.
如果是这样的话,你可以用一个变量记录是否已发球,未发球时候则让球固定在挡板上方某个位置(挡板的x+m,m为你想要的值)发球后一切正常.
望采纳,GameMaker吧为您服务.
我也是去年刚学完C语言的,这是一门非常基础的编程语言,有许多的程序员都在用它编写程序.至于你说的C++嘛,也是和C语言一样性质的编程语言.编程语言还有许多,诸如Basic,java等等.当然他们的规则也是不同的,但是也有相同之处.
缺点也有, C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别.C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等.从应用的角度,C语言比其他高级语言较难掌握.
像电脑游戏或者手机游戏其他编程语言都可以编写,只是有难易繁简之分罢了.
都说到这里了大家应该明白c语言是基础,一定要重视!!!!!因为我们班现在学数据结构就受C语言之苦!还兼学java语言,痛煞我也,如何道哉!
最后,不要指望什么语言都通,学精一门胜过样样疏松啊!兄台!
求加分!
用这个有时就是会出现毛病.可能还得再加些参数.
你用Desktop类.
打开一个文件
Desktop d=Desktop.getDesktop();
这个方法肯定可以打开.它是利用windows的默认打开方式的
以上就是土嘎嘎小编为大家整理的java程序打砖块源代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!