课设做Java的用acm库的打砖块 说课游戏,在一个网站上找到了代码,但是没有记分函数,求个大神帮改下

中国领先的IT技术网站
51CTO旗下网站
Java编程打砖块游戏
创建游戏需要的砖块,砖块的行数和每行的数量都是确定的(NBRICK_ROWS,NBRICKS_PER_ROW),最上一排砖块距窗口顶部距离 (BRICK_Y_OFFSET)。然后是颜色的填充,利用行数判断所需的颜色。
作者:mybluecode来源:博客园| 13:38
初始需要定义的一些常量,和使用的库。
import&acm.graphics.*; &&import&acm.program.*; &&import&acm.util.*; &&import&java.applet.*; &&import&java.awt.*; &&import&java.awt.event.*; &&public&class&Breakout&extends&GraphicsProgram&{ &&&&&&&&public&static&final&int&APPLICATION_WIDTH&=&400; &&&&&&public&static&final&int&APPLICATION_HEIGHT&=&600; &&&&&&&&private&static&final&int&WIDTH&=&APPLICATION_WIDTH; &&&&&&private&static&final&int&HEIGHT&=&APPLICATION_HEIGHT; &&&&&&&&private&static&final&int&PADDLE_WIDTH&=&60; &&&&&&private&static&final&int&PADDLE_HEIGHT&=&10; &&&&&&&&private&static&final&int&PADDLE_Y_OFFSET&=&30; &&&&&&&&private&static&final&int&NBRICKS_PER_ROW&=&10; &&&&&&&&private&static&final&int&NBRICK_ROWS&=&10; &&&&&&&&private&static&final&int&BRICK_SEP&=&4; &&&&&&&&private&static&final&int&BRICK_WIDTH&= &&&&&&&&(WIDTH&-&(NBRICKS_PER_ROW&-&1)&*&BRICK_SEP)&/&NBRICKS_PER_ROW; &&&&&&&&private&static&final&int&BRICK_HEIGHT&=&8; &&&&&&&&private&static&final&int&BALL_RADIUS&=&10; &&&&&&&&private&static&final&int&BRICK_Y_OFFSET&=&70; &&&&&&&&private&static&final&int&NTURNS&=&3;&
第一步:创建游戏需要的砖块,砖块的行数和每行的数量都是确定的(NBRICK_ROWS,NBRICKS_PER_ROW),最上一排砖块距窗口顶部距离 (BRICK_Y_OFFSET)。然后是颜色的填充,利用行数判断所需的颜色。
for(int&i&=&0;&i&&&NBRICK_ROWS;&i++){ &&&&&&&&&&&&&&for(int&j&=&0;&j&&&NBRICKS_PER_ROW;&j++){ &&&&&&&&&&&&&&&&&&GRect&brick&=&new&GRect(0&+&j&*&(BRICK_WIDTH&+&BRICK_SEP),&BRICK_Y_OFFSET&+&i&*&(BRICK_HEIGHT&+&BRICK_SEP),&BRICK_WIDTH,&BRICK_HEIGHT); &&&&&&&&&&&&&&&&&&brick.setFilled(true); &&&&&&&&&&&&&&&&&&if(i&&&2){ &&&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.RED); &&&&&&&&&&&&&&&&&&}&else&if(i&&&4){ &&&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.ORANGE); &&&&&&&&&&&&&&&&&&}&else&if(i&&&6){ &&&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.YELLOW); &&&&&&&&&&&&&&&&&&}&else&if(i&&&8){ &&&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.GREEN); &&&&&&&&&&&&&&&&&&}&else&{ &&&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.CYAN); &&&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&&&add(brick); &&&&&&&&&&&&&&} &&&&&&&&&&}&
第二步:创建游戏所需的挡板
挡板的大小位置都是确定的;
private&void&createPaddle(){ &&&&&&&&&&&&&&&&&&&&GRect&paddle&=&new&GRect((WIDTH&-&PADDLE_WIDTH)&/&2,&getHeight()&-&PADDLE_HEIGHT&-&PADDLE_Y_OFFSET,&PADDLE_WIDTH,&PADDLE_HEIGHT); &&&&&&&&&&paddle.setFilled(true); &&&&&&&&&&paddle.setColor(Color.BLACK); &&&&&&&&&&add(paddle); &&&&&&&&&& &&&&&&}&
比较有挑嵝缘牟糠质悄芄蝗玫舶逅孀攀蟊暌欺健5舶逯恍枰x轴方向上移动。
加入鼠标侦听事件:addMouseListeners9();
和鼠标拖拽事件的代码:
&&public&void&mousePressed(MouseEvent&e){ &&&&&&last&=&new&GPoint(e.getPoint()); &&&&&&gobj&=&getElementAt(last); &&} &&&&public&void&mouseDragged(MouseEvent&e){ &&&&&&if(gobj&!=&null){ &&&&&&&&&&gobj.move(e.getX()&-&last.getX(),&0); &&&&&&&&&&last&=&new&GPoint(e.getPoint()); &&&&&&} &&}&
这样就可以使用鼠标拖动挡板了。但是还需要求挡板能移动出游戏的边界,所以加入判断条件
(gobj.getX()&&&0&||&e.getX()&-&last.getX()&&&0)&&&&(gobj.getX()&+&gobj.getWidth()&&&getWidth()&||&e.getX()&-&last.getX()&&&0) &&
当挡板移动到左边界时,鼠标需要向右移动才有效,当挡板移动到右边界时,鼠标需要向左移动才有效。
&&public&void&mouseDragged(MouseEvent&e){ &&&&&&if(gobj&!=&null&&&&(gobj.getX()&&&0&||&e.getX()&-&last.getX()&&&0)&&&&(gobj.getX()&+&gobj.getWidth()&&&getWidth()&||&e.getX()&-&last.getX()&&&0)){ &&&&&&&&&&gobj.move(e.getX()&-&last.getX(),&0); &&&&&&&&&&last&=&new&GPoint(e.getPoint()); &&&&&&} &&}&
第三步:创建一个小球,使其在墙内反弹;
程序需要记录小球的速度。它由两个独立分量组成,你们可以按照下面的例子声明实例变量:private double vx,速度分量表示在每个时间区间位置的变化量。一开始,小球向下运劢,初始速度vy可以设为+3.0(在Java 中,y 值向屏幕往下增加)。如果每个回合小球的路线都相同,游戏会很无聊,因此,vx 分量的值应该随机选取。
1. 声明一个实例变量rgen, 随机数生成器: private RandomGenerator rgen = RandomGenerator.getInstance();
2. 初始化vx 变量: vx = rgen.nextDouble(1.0, 3.0);if (rgen.nextBoolean(0.5)) vx=- 返段代码生成一个1.0到3.0间的双浮点型随机数赋给 vx,并按0.5 的概率将速度取反。这种算法比调用 nextDouble(-3.0, +3.0) 好很多,后者可能会出现小球几乎垂直下落的情况,返对玩家来说太过于简单。
然后是让小球在墙壁之间来回弹跳,先忽略挡板和砖块的影响。
&&&&&&private&void&createBall(){ &&&&&&&&&&GOval&ball&=&new&GOval((getWidth()&-&2&*&BALL_RADIUS)&/&2,&(getHeight()&-&2&*&BALL_RADIUS)&/&2,&BALL_RADIUS,&BALL_RADIUS); &&&&&&&&&&ball.setFilled(true); &&&&&&&&&&add(ball); &&&&&&&&&&vy&=&3.0; &&&&&&&&&&vx&=&rgen.nextDouble(1.0,&3.0);& &&&&&&&&&&if(rgen.nextBoolean(0.5))&vx&=&- &&&&&&&&&&while(true){ &&&&&&&&&&&&&&ball.move(vx,vy); &&&&&&&&&&&&&&pause(PAUSE_TIME); &&&&&&&&&&&&&&if(ball.getX()&&&0&||&ball.getX()&+&2&*&BALL_RADIUS&&&getWidth())&vx&=&- &&&&&&&&&&&&&&if(ball.getY()&&&0&||&ball.getY()&+&2&*&BALL_RADIUS&&&getHeight())&vy&=&- &&&&&&&&&&} &&&&&&}&
第四步:碰撞检测
现在到了有趣的部分。为了使突破游戏更真实,需要判断小球是否和屏幕中其它物体产生了碰撞。
这里我为了让其他方法能获取ball和paddle的数据定义两个实例变量:
private GOval BALL;
private GRect PADDLE;
然后分别在createBall和createPaddle中加入 BALL = ball 和 PADDLE = paddle;
创建碰撞检测的方法
private&GObject&getCollidingObject(){ &&&&&&&&&&&&&&&&&&&&double&x1&=&BALL.getX(); &&&&&&&&&&double&y1&=&BALL.getY(); &&&&&&&&&&double&x2&=&BALL.getX()&+&2&*&BALL_RADIUS; &&&&&&&&&&double&y2&=&BALL.getY(); &&&&&&&&&&double&x3&=&BALL.getX()&+&2&*&BALL_RADIUS; &&&&&&&&&&double&y3&=&BALL.getY()&+&2&*&BALL_RADIUS; &&&&&&&&&&double&x4&=&BALL.getX(); &&&&&&&&&&double&y4&=&BALL.getY()&+&2&*&BALL_RADIUS; &&&&&&&&&&if(getElementAt(x1,y1)&!=&null){ &&&&&&&&&&&&&&return&getElementAt(x1,y1); &&&&&&&&&&}&else&if(getElementAt(x2,y2)&!=&null){ &&&&&&&&&&&&&&return&getElementAt(x2,y2); &&&&&&&&&&}&else&if(getElementAt(x3,y3)&!=&null){ &&&&&&&&&&&&&&return&getElementAt(x3,y3); &&&&&&&&&&}&else&if(getElementAt(x4,y4)&!=&null){ &&&&&&&&&&&&&&return&getElementAt(x4,y4); &&&&&&&&&&}&else{ &&&&&&&&&&&&&&return&null; &&&&&&&&&&} &&&&&&}&
是用小球的正切正方形的四个点进行判断十分碰到挡板或砖块;碰到挡板垂直反弹,碰到砖块,消除方块并反弹。
if(collider&==&PADDLE){ &vy&=&- &}&else&if&(collider&!=&null){ &vy&=&- &remove(collider); &n++; &}&
第五步:尾声
1.加入游戏获胜和失败的判断条件;
2.加入获胜和失败的反馈;
3.加入回合数;
完整代码:
&&&&&&&&&import&acm.graphics.*; &import&acm.program.*; &import&acm.util.*; &&import&java.applet.*; &import&java.awt.*; &import&java.awt.event.*; &&public&class&Breakout&extends&GraphicsProgram&{ &&&&&&&public&static&final&int&APPLICATION_WIDTH&=&400; &&&&&public&static&final&int&APPLICATION_HEIGHT&=&600; &&&&&&&private&static&final&int&WIDTH&=&APPLICATION_WIDTH; &&&&&private&static&final&int&HEIGHT&=&APPLICATION_HEIGHT; &&&&&&&private&static&final&int&PADDLE_WIDTH&=&60; &&&&&private&static&final&int&PADDLE_HEIGHT&=&10; &&&&&&&private&static&final&int&PADDLE_Y_OFFSET&=&30; &&&&&&&private&static&final&int&NBRICKS_PER_ROW&=&10; &&&&&&&private&static&final&int&NBRICK_ROWS&=&10; &&&&&&&private&static&final&int&BRICK_SEP&=&4; &&&&&&&private&static&final&int&BRICK_WIDTH&= &&&&&&&(WIDTH&-&(NBRICKS_PER_ROW&-&1)&*&BRICK_SEP)&/&NBRICKS_PER_ROW; &&&&&&&private&static&final&int&BRICK_HEIGHT&=&8; &&&&&&&private&static&final&int&BALL_RADIUS&=&10; &&&&&&&private&static&final&int&BRICK_Y_OFFSET&=&70; &&&&&&&private&static&final&int&NTURNS&=&3; &&&&&&&&public&void&run()&{ &&&&&&&&&createAllBrick(NBRICK_ROWS,&NBRICKS_PER_ROW); &&&&&&&&&createPaddle(); &&&&&&&&&int&i&=&0; &&&&&&&&&while(i&&&NTURNS){ &&&&&&&&&&&&&createBall(); &&&&&&&&&&&&&i++; &&&&&&&&&&&&&if&(isWin&==&1)&break; &&&&&&&&&} &&&&&&&&&if(i&==&3){ &&&&&&&&&&&&&add(new&GLabel(&YOU&LOSE&,&getWidth()&/&2,&getHeight()&/&2)); &&&&&&&&&} &&&&&} &&&&&&&&&&&&private&void&createAllBrick(int&row,&int&rank){ &&&&&&&&&for(int&i&=&0;&i&&&&i++){ &&&&&&&&&&&&&for(int&j&=&0;&j&&&&j++){ &&&&&&&&&&&&&&&&&GRect&brick&=&new&GRect(0&+&j&*&(BRICK_WIDTH&+&BRICK_SEP),&BRICK_Y_OFFSET&+&i&*&(BRICK_HEIGHT&+&BRICK_SEP),&BRICK_WIDTH,&BRICK_HEIGHT); &&&&&&&&&&&&&&&&&brick.setFilled(true); &&&&&&&&&&&&&&&&&if(i&&&2){ &&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.RED); &&&&&&&&&&&&&&&&&}&else&if(i&&&4){ &&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.ORANGE); &&&&&&&&&&&&&&&&&}&else&if(i&&&6){ &&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.YELLOW); &&&&&&&&&&&&&&&&&}&else&if(i&&&8){ &&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.GREEN); &&&&&&&&&&&&&&&&&}&else&{ &&&&&&&&&&&&&&&&&&&&&brick.setColor(Color.CYAN); &&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&&&&&add(brick); &&&&&&&&&&&&&} &&&&&&&&&} &&&&&} &&&&&&&&&&&&&private&void&createPaddle(){ &&&&&&&&&&&&&&&&&&GRect&paddle&=&new&GRect((WIDTH&-&PADDLE_WIDTH)&/&2,&getHeight()&-&PADDLE_HEIGHT&-&PADDLE_Y_OFFSET,&PADDLE_WIDTH,&PADDLE_HEIGHT); &&&&&&&&&PADDLE&=& &&&&&&&&&paddle.setFilled(true); &&&&&&&&&paddle.setColor(Color.BLACK); &&&&&&&&&add(paddle); &&&&&&&&&addMouseListeners(); &&&&&} &&&&&&&&&&public&void&mousePressed(MouseEvent&e){ &&&&&&&&&last&=&new&GPoint(e.getPoint()); &&&&&&&&&gobj&=&getElementAt(last); &&&&&} &&&&&&&&&&public&void&mouseDragged(MouseEvent&e){ &&&&&&&&&if(gobj&!=&null&&&&(gobj.getX()&&&0&||&e.getX()&-&last.getX()&&&0)&&&&(gobj.getX()&+&gobj.getWidth()&&&getWidth()&||&e.getX()&-&last.getX()&&&0)){ &&&&&&&&&&&&&gobj.move(e.getX()&-&last.getX(),&0); &&&&&&&&&&&&&last&=&new&GPoint(e.getPoint()); &&&&&&&&&} &&&&&} &&&&&&&&&&private&void&createBall(){ &&&&&&&&&GOval&ball=&new&GOval((getWidth()&-&2&*&BALL_RADIUS)&/&2,&(getHeight()&-&2&*&BALL_RADIUS)&/&2,&BALL_RADIUS,&BALL_RADIUS); &&&&&&&&&ball.setFilled(true); &&&&&&&&&BALL&=& &&&&&&&&&add(ball); &&&&&&&&&int&n&=&0;&&&&&&&&&&vy&=&3.0; &&&&&&&&&vx&=&rgen.nextDouble(1.0,&3.0);& &&&&&&&&&if(rgen.nextBoolean(0.5))&vx&=&- &&&&&&&&&while(true){ &&&&&&&&&&&&&ball.move(vx,vy); &&&&&&&&&&&&&GObject&collider&=&getCollidingObject(); &&&&&&&&&&&&&pause(PAUSE_TIME); &&&&&&&&&&&&&if(collider&==&PADDLE){ &&&&&&&&&&&&&&&&&vy&=&- &&&&&&&&&&&&&}&else&if&(collider&!=&null){ &&&&&&&&&&&&&&&&&vy&=&- &&&&&&&&&&&&&&&&&remove(collider); &&&&&&&&&&&&&&&&&n++; &&&&&&&&&&&&&&&&&if&(n&==&100){ &&&&&&&&&&&&&&&&&&&&&add(new&GLabel(&YOU&WIN!&,&getWidth()&/2,&getHeight()&/&2));&&&&&&&&&&&&&&&&&&&&&remove(ball); &&&&&&&&&&&&&&&&&&&&&isWin&=&1; &&&&&&&&&&&&&&&&&&&&&break; &&&&&&&&&&&&&&&&&} &&&&&&&&&&&&&} &&&&&&&&&&&&&if(ball.getX()&&&0&||&ball.getX()&+&2&*&BALL_RADIUS&&&getWidth())&vx&=&- &&&&&&&&&&&&&if(ball.getY()&&&0)&vy&=&- &&&&&&&&&&&&&if(ball.getY()&+&2&*&BALL_RADIUS&&&getHeight()){ &&&&&&&&&&&&&&&&&remove(ball); &&&&&&&&&&&&&&&&&break; &&&&&&&&&&&&&} &&&&&&&&&} &&&&&} &&&&&private&GObject&getCollidingObject(){ &&&&&&&&&&&&&&&&&&double&x1&=&BALL.getX(); &&&&&&&&&double&y1&=&BALL.getY(); &&&&&&&&&double&x2&=&BALL.getX()&+&2&*&BALL_RADIUS; &&&&&&&&&double&y2&=&BALL.getY(); &&&&&&&&&double&x3&=&BALL.getX()&+&2&*&BALL_RADIUS; &&&&&&&&&double&y3&=&BALL.getY()&+&2&*&BALL_RADIUS; &&&&&&&&&double&x4&=&BALL.getX(); &&&&&&&&&double&y4&=&BALL.getY()&+&2&*&BALL_RADIUS; &&&&&&&&&if(getElementAt(x1,y1)&!=&null){ &&&&&&&&&&&&&return&getElementAt(x1,y1); &&&&&&&&&}&else&if(getElementAt(x2,y2)&!=&null){ &&&&&&&&&&&&&return&getElementAt(x2,y2); &&&&&&&&&}&else&if(getElementAt(x3,y3)&!=&null){ &&&&&&&&&&&&&return&getElementAt(x3,y3); &&&&&&&&&}&else&if(getElementAt(x4,y4)&!=&null){ &&&&&&&&&&&&&return&getElementAt(x4,y4); &&&&&&&&&}&else{ &&&&&&&&&&&&&return&null; &&&&&&&&&} &&&&&} &&&&&&&&&&private&RandomGenerator&rgen&=&RandomGenerator.getInstance(); &&&&&&&&&&private&double&vx,&& &&&&&&&&&&private&int&PAUSE_TIME&=&20; &&&&&private&GOval&BALL; &&&&&private&GRect&PADDLE; &&&&&private&int&isWin&=&0;&&&&&private&GObject&&&&&&&private&GPoint&&&&&&& &}&
刚开始学,还有很多地方实现的不完善;
原文链接:
【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点热点热点头条头条
24H热文一周话题本月最赞
讲师:96615人学习过
讲师:228267人学习过
讲师:12093人学习过
精选博文论坛热帖下载排行
公钥基础设施PKI(Public Key Infrastructure)是利用公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。公钥基础设施能为...
订阅51CTO邮刊Java大二课设,做一个打砖块小游戏_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
Java大二课设,做一个打砖块小游戏
求大神系统地列一下需要用到的类和方法及用法,或者给个链接,急
主要是不会做界面,,就是新建一个框,然后控制这个框的行为的方法,之前学过C语言的
我有更好的答案
很具体点吗
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包谁有打砖块java代码,急需_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
谁有打砖块java代码,急需
请问这个代码怎样玩,我运行时好像不能操作?它好像是自己移动的不能操作。能不能给运动规则说一下?
我有更好的答案
private int canvaswidth = 400;&#47, 10.VK_RIGHT:
if(b.leftpoint&lt, 10); } void paintrect() {Graphics g = g.fillRect(0;} }
public void keyReleased(KeyEvent e) {
public void keyTyped(KeyEvent e) {
public static void main(String[] args) {
dazhuankuai s = new dazhuankuai();360) g.drawString(&import java.leftpoint-=10; if(b.VK_LEFT, b.ball.+b.score+&分&
case KeyEvent.VK_ENTER.awt.setColor(Color.white).addKeyListener(this); jframe.setVisible(true);
g, 400, 10).awt.addKeyListener(this); jframe.add(canvas); jframe.setBounds(320, 100.setColor(Color.black):& canvas = new Canvas(); canvas.setSize(canvaswidth, canvasheight);import java, 400).util.T g.drawString(&j++)
if(b;,200, 410); else g.drawString(&quot.score-
paintrect();i++)
for(int j=0; } public void keyPressed(KeyEvent e) {&#47, 0, 400。&quot.ball.vx=5.leftpoint&=10)
for(int i=0.setColor(Color.white).getGraphics().fillRect(0, 350, 350).x;import java.getscore(); if(b.score&gt, 50.Color,410.fillRect(b.leftpoint, 350;
} }class ball { int x=200; int y=340;}class board {Timer timer =new Timer(true);
int score=0;boolean[][]Color[][]int[][]int leftpoint=180;int i,j;board(dazhuankuai dzk){this.dzk=ball=new ball();matrix = new boolean[20][20];brickcolor=new Color[20][20];brickint=new int[20][20];for(i=0;i&20;i++) for(j=0;j&20;j++){
matrix[i][j]=
brickint[i][j]=(int)(Math.random()*7)+1;
switch (brickint[i][j]){
case 1: brickcolor[i][j]=Color.
case 2: brickcolor[i][j]=Color.
default: brickcolor[i][j]=Color.
}}public void move(){ for(int i=0;i&20;i++)
for(int j=0;j&20;j++)
if(matrix[i][j])
{if(ball.x&(i+1)*20&&ball.x&=i*20)
if(ball.y&=(j+1)*10&&ball.y&=j*10)
{ball.vy=-ball.ball.vx=ball.matrix[i][j]=
if(ball.y&=(j+1)*10&&ball.y&=j*10)
if(ball.x&=(i+1)*20&&ball.x&i*20)
{ball.vx=-ball.ball.vy=ball.matrix[i][j]=
if(ball.x&=0)ball.vx=-ball.//碰墙 if(ball.y&=0&&ball.vy&0)ball.vy=-ball. if(ball.x&=390)ball.vx=-ball.
if(ball.y&=340&&ball.vy&=0)//碰木板
if(ball.x&=leftpoint&&ball.x&=leftpoint+50)
ball.vy=-ball.}public void getscore(){for(int i=0;i&20;i++) for(int j=0;j&20;j++)
if(matrix[i][j]==false)
{if(brickint[i][j]==1)
score+=20;
if(brickint[i][j]==2)
score+=30;
else score+=10;}}public void run(){
timer.schedule(new java.util.TimerTask(){
public void run()
dzk.paintscore();
dzk.paint();
dzk.paintrect();}
},0,(100*1));}public void change(){ move();
ball.x+=ball.
ball.y-=ball.}}试试这个吧这个还好一点你可以控制它; C board b.KeyListener.JFpublic class dazhuankuai implements KeyListener{ private JFrame jframe, 50); b.y.score=0;提示:新得分数&+diffscore+&);=340) g.fillRect(0;
b.run(); jframe.matrix[i][j]){
g, 10);}/监听键盘按键
int keycode = e.getKeyCode().setColor(Color.RED).drawRect(i*20.setColor(Color.white);
case KeyEvent.setColor(Color.black).fillOval(b.分&.vy=10;
b.ball, 500).swing.setColor(b.brickcolor[i][j]);
g.fillRect(i*20, j*10, 20, 10).Gimport java.awt.event.KeyEvent.EXIT_ON_CLOSE); begin(); } public void begin()
{ b=new board(this);
dazhuankuai(){ jframe = new JFrame(&打砖块&quot, 360, 400;
paintrect();提示:你输了,重新开始按ENTER;你的分数为.leftpoint+=10;
switch (keycode) {
case KeyEvent.setDefaultCloseOperation(JFscoret) diffscore=b.setColor(Color.white), 200, 410); scoret=b. b, j*10;i&20.import java, 20;, 0;
if(b.ball, 10); } void paintscore() {Graphics g = canvas.getGraphics(); g:
if(b;/canvas 的属性 private int canvasheight =600;j&20; } void paint() {Graphics g = canvas.getGraphics(); g.y&=350)
breakimport java.awt.Canvas
采纳率:35%
为您推荐:
其他类似问题
您可能关注的内容
打砖块的相关知识
换一换
回答问题,赢新手礼包课设,做Java的用acm库的打砖块游戏,在一个网站上找到了代码,但是没有记分函数,求个大神帮改下_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
课设,做Java的用acm库的打砖块游戏,在一个网站上找到了代码,但是没有记分函数,求个大神帮改下
//www.html" target="_blank">/allhtml-1.html源码在这里,只需加个记分的功能就好,谢啦,在一个网站上找到了代码.com/allhtml-1课设.zgxue,但是没有记分函数,求个大神帮改下<a href="http,做Java的用acm库的打砖块游戏
我有更好的答案
4;3){&&&&&&&&&&&&&&add(new&&nbsp:add(new&GLabel(&quot.满分的修正;&&&&static&&got&+score+&(collider&;&&&nbsp!=&null){&&&&&&&&&&&&&&&&&&vy&=&=&3;&&&&&&private&==&&&getWidth()&/&2,&getHeight()&+&You&if&&getWidth()&nbsp,&NTURNS&GLabel(&YOU&YOU&WIN!&;LOSE&=&0;&&//追加内容点1&&&&2.分数的记录else&&if(i&&/&2));&&//修正内容点1&&&&&&&&}&&static&nbsp修正以下内容:1.记录分数的全局变量的追加/**&/2,&getHeight()&final&int&=&n;&//追加内容点2&&&&&&&&&&&&&&&&n++;&3.分数的最终出力&turns&*/&&&&&private&-&nbsp,&&point&;对应点;&&nbsp,同3&int&&&score&remove(collider);&&&&&&&&&&&&&&&&&&score&&of&Number&nbsp
我刚刚试了一下
这个分数不能实时记录的,可以改成消一个块,得一分那样的麽?
&#128064;&#128064;&#128064;
就是屏幕上的分数可以变化那种
请问一下,可以做出实时记录分数的麽???&#128557;挺急的
采纳率:53%
来自团队:
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
如有需要或疑问,请联系我的微信:qsyd9h.请注明:"道客巴巴"
&#xe602; 下载此文档
打砖块游戏的开发
下载积分:800
内容提示:课程设计
打砖块游戏的开发
文档格式:DOC|
浏览次数:173|
上传日期: 14:50:40|
文档星级:&#xe60b;&#xe60b;&#xe60b;&#xe60b;&#xe60b;
全文阅读已结束,如果下载本文需要使用
&#xe71b; 800 积分
&#xe602;下载此文档
该用户还上传了这些文档
打砖块游戏的开发
关注微信公众号}

我要回帖

更多关于 打砖块 说课 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信