java实现打砖块小游戏

本文实例为大家分享了java实现打砖块小游戏的具体代码,供大家参考,具体内容如下

源码共包含两个文件

文件1:play_zhuankuai.java

import java.awt.*;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class play_zhuankuai extends JPanel implements Runnable{
 boolean exit=false;
 boolean end=false;
 double x=100;     //控制小球坐标
 double y=100;
 double x1=300;    //控制底板坐标
 double y1=300;
 int score=0;
 int index[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};   //标记,记录砖块是否被打中
 int x2[]=new int[15];    //控制砖块数量和坐标
 int y2[]=new int[15];
 double degree=3.14/3;
 Image fangxing;
 Image diban;
 Image zhuankuai;
 Image heiping;
 Thread thread;
 play_zhuankuai(){  //设置面板属性
  jiazai();
  thread = new Thread(this);
  setSize(500,500);
  setLocation(0,0);
  setBackground(Color.black);
  setVisible(true);
  thread.start();
}
void jiazai(){  //导入图片
  fangxing=Toolkit.getDefaultToolkit().getImage("images/方形.jpg").getScaledInstance(10,10,Image.SCALE_DEFAULT);
  diban=Toolkit.getDefaultToolkit().getImage("images/底版.jpg").getScaledInstance(100, 10, Image.SCALE_DEFAULT);
  zhuankuai=Toolkit.getDefaultToolkit().getImage("images/砖块.jpg").getScaledInstance(50, 20, Image.SCALE_DEFAULT);
  heiping=Toolkit.getDefaultToolkit().getImage("images/黑屏.png").getScaledInstance(50, 20, Image.SCALE_DEFAULT);
}
public void paintComponent(Graphics g){
 super.paintComponent(g);
 paint_zhuankuai(g);
 g.setColor(Color.blue);
 g.drawLine(0, 350, 500, 350);
 g.drawImage(diban,(int)x1, (int)y1, null);
 paint_heiping(g);
 g.drawImage(fangxing, (int)x, (int)y, null);
 paint_wenzi(g);
 rule();
}
void rule(){
  x=x+1*Math.cos(degree);
  y=y+1*Math.sin(degree);
 if(y>=500-50||score==1500){
  end=true;
 }
 if(x>=500-20||x<=0)
  degree=3.14-degree;
 if(x1<=0)
  x1=0;
 if(x1>=400)
  x1=400;
 if(y1>=500-50)
  y1=500-50;
 if(y1<=350)
  y1=350;
 if(y>=y1-10&&x>=x1&&x<=x1+100||y<=0)
  degree=-degree;
 for(int i=0;i<x2.length;i++){
  if((y>=y2[i]&&y<=y2[i]+20)&&((x>=x2[i]&&x<=x2[i]+50))&&index[i]==0){
    index[i]=1;
    degree=-degree;
    score+=100;
  }
 }
}
void paint_heiping(Graphics g){
 for(int i=0;i<x2.length;i++){
  if(index[i]==1)
   g.drawImage(heiping, x2[i], y2[i], null);
 }
}
void paint_wenzi(Graphics g){
  g.setColor(Color.red);
  g.drawString("分数:"+score, 0, 340);
  if(end){
   if(score<1500)
   g.drawString("游戏结束!!!",200,250);
   else
   g.drawString("闯关成功!!!",200,250);
   exit=true;
  }
}

void paint_zhuankuai(Graphics g){
  int p=0;
  int k=0;
  for(int i=0,j=0;i<x2.length;i++){
   p=100*j;
   j++;
   if(p+100>500){
    j=1;
    p=0;
    k=k+60;
   }
   x2[i]=p;
   y2[i]=k;
  g.drawImage(zhuankuai, p,k,null);
  }
}
@Override
public void run() {
 while(!exit){
  repaint();
  try {
   Thread.sleep(5);
  } catch (InterruptedException e) {
   // TODO 自动生成的 catch 块
   System.out.println("出现错误:"+e+"\n");
  }
 }
}
}

文件2:jframe_main.java

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class jframe_main extends JFrame implements KeyListener{
 play_zhuankuai play=new play_zhuankuai();
 jframe_main(){
  addKeyListener(this);
  add(play);
  setSize(500,500);
  setLocation(0, 0);
  setVisible(true);
 }
 public static void main(String[] args) {
   new jframe_main();
 }
 @Override
 public void keyTyped(KeyEvent e) {
 }
 @Override
 public void keyPressed(KeyEvent e) {
 if(e.getKeyCode()==38)
  play.y1-=20;
 if(e.getKeyCode()==40)
  play.y1+=20;
 if(e.getKeyCode()==37)
  play.x1-=20;
 if(e.getKeyCode()==39)
  play.x1+=20;
 }
 @Override
 public void keyReleased(KeyEvent e) {
 }
}

友情提示:该段源码会调用相关图片素材,请自行添加,本人在此不方便上传,望谅解

更多精彩游戏,请参考专题《java经典小游戏》

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java编程经典小游戏设计-打砖块小游戏源码

    [程序中使用的数据结构和符号说明] HitBrick类 GreenBallThread控制小球路线 xUp,yUp,bouncing定义变量存储16位数值形式 x,y小球坐标 xDx,yDy坐标增量 MAX_X,MAX_Y坐标最大值 renew初始化 label标签 Rx,Ry横板坐标 Brick[]砖块 ball小球 HitBrick()定义小球横板及砖块位置坐标 keyPressd(keyEent)定义小球启动键(按空格键启动) keyReleased(keyEvent)接收键盘事件侦听器接

  • java实现打砖块小游戏

    本文实例为大家分享了java实现打砖块小游戏的具体代码,供大家参考,具体内容如下 源码共包含两个文件 文件1:play_zhuankuai.java import java.awt.*; import javax.swing.JPanel; @SuppressWarnings("serial") public class play_zhuankuai extends JPanel implements Runnable{ boolean exit=false; boolean end=

  • Java完美实现2048小游戏

    完美地模仿了2048游戏,是根据网友的一个2048改的. Block.java import javax.swing.*; import java.awt.*; public class Block extends JLabel { private int value; public Block() { value = 0;//初始化值为0 setFont(new Font("font", Font.PLAIN, 40));//设定字体 setBackground(Color.gray

  • jQuery网页版打砖块小游戏源码分享

    这是一款基于jQuery实现网页版打砖块小游戏源码,满满的童年回忆. 为大家分享的jQuery实现网页版打砖块小游戏源码如下 效果演示 源码下载 <!DOCTYPE html> <html lang="en" > <head> <meta charset="gb2312" /> <title>jQuery网页版打砖块小游戏源码</title> <link href="css/ma

  • Java实现打飞机小游戏(附完整源码)

    写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐.代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习. 效果如下 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy

  • Python实现打砖块小游戏代码实例

    这次用Python实现的是一个接球打砖块的小游戏,需要导入pygame模块,有以下两条经验总结: 1.多父类的继承2.碰撞检测的数学模型 知识点稍后再说,我们先看看游戏的效果和实现: 一.游戏效果 二.游戏代码 #导入模块 import pygame from pygame.locals import * import sys,random,time,math class GameWindow(object): '''创建游戏窗口类''' def __init__(self,*args,**kw

  • java实现数字猜拳小游戏

    本文编写一个java数字猜拳的小游戏,具体实现很简单 package guenum; import java.util.ArrayList; import java.util.Scanner; public class Demo { // private static Object list; public static void main(String ad[]) { System.out.println("-------------------------------------小游戏---

  • Java实现的打地鼠小游戏完整示例【附源码下载】

    本文实例讲述了Java实现的打地鼠小游戏.分享给大家供大家参考,具体如下: 这里涉及到java线程和GUI的相关知识,一个简单的java小游戏打地鼠,有兴趣的朋友可以优化一下.先来看看运行效果: 具体代码: Mouse.java: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt

  • Java实现24点小游戏

    本文实例为大家分享了Java实现24点小游戏的具体代码,供大家参考,具体内容如下 程序设计要求: 24点游戏是经典的纸牌益智游戏. 常见游戏规则: 从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏. 基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题. 1.程序风格良好(使用自定义注释模板) 2.列出表

  • Java实现猜字小游戏

    猜字游戏是一款益智游戏,喜欢玩具有挑战性单词游戏的你就可以来体验一下了,给你一个字母板.尝试通过想象相邻字母的单词.您将获得一个分数,根据您使用的字母,你已经使用了多少个字母,并以这些字母相关联的任何修饰符都可以的. 具体代码如下所示: package test07; import java.util.Scanner; //猜字符游戏 public class Guessing { //主方法 public static void main(String[] args) { Scanner sc

随机推荐