亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java實現(xiàn)打磚塊小游戲

 更新時間:2020年05月18日 15:53:09   作者:小伙子渴望力量么  
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)打磚塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現(xiàn)打磚塊小游戲的具體代碼,供大家參考,具體內(nèi)容如下

源碼共包含兩個文件

文件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;     //控制小球坐標(biāo)
 double y=100;
 double x1=300;    //控制底板坐標(biāo)
 double y1=300;
 int score=0;
 int index[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};   //標(biāo)記,記錄磚塊是否被打中
 int x2[]=new int[15];    //控制磚塊數(shù)量和坐標(biāo)
 int y2[]=new int[15];
 double degree=3.14/3;
 Image fangxing;
 Image diban;
 Image zhuankuai;
 Image heiping;
 Thread thread;
 play_zhuankuai(){  //設(shè)置面板屬性
  jiazai();
  thread = new Thread(this);
  setSize(500,500);
  setLocation(0,0);
  setBackground(Color.black);
  setVisible(true);
  thread.start();
}
void jiazai(){  //導(dǎo)入圖片
  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("分?jǐn)?shù):"+score, 0, 340);
  if(end){
   if(score<1500)
   g.drawString("游戲結(jié)束?。?!",200,250);
   else
   g.drawString("闖關(guān)成功?。?!",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("出現(xiàn)錯誤:"+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) {
 }
}

友情提示:該段源碼會調(diào)用相關(guān)圖片素材,請自行添加,本人在此不方便上傳,望諒解

更多精彩游戲,請參考專題《java經(jīng)典小游戲》

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

javascript經(jīng)典小游戲匯總

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java Selenium中的鍵盤控制操作

    詳解Java Selenium中的鍵盤控制操作

    這篇文章主要為大家介紹了如何使用java代碼利用Selenium 控制瀏覽器中需要用到的鍵盤操作。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • Springboot使用thymeleaf動態(tài)模板實現(xiàn)刷新

    Springboot使用thymeleaf動態(tài)模板實現(xiàn)刷新

    這篇文章主要介紹了Springboot使用thymeleaf動態(tài)模板實現(xiàn)刷新,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java8中的Stream流式操作教程之王者歸來

    Java8中的Stream流式操作教程之王者歸來

    這篇文章主要給大家介紹了關(guān)于Java8中Stream流式操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java8具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java執(zhí)行JavaScript代碼

    Java執(zhí)行JavaScript代碼

    這篇文章主要為大家詳細(xì)介紹了Java執(zhí)行JavaScript代碼的具體操作方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Springboot WebJar打包及使用實現(xiàn)流程解析

    Springboot WebJar打包及使用實現(xiàn)流程解析

    這篇文章主要介紹了Springboot WebJar打包及使用實現(xiàn)流程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下的相關(guān)資料
    2020-08-08
  • SpringBoot引入SPEL模板字符串替換的兩種方式

    SpringBoot引入SPEL模板字符串替換的兩種方式

    在 Spring Boot 中,我們可以使用字符串替換工具類來實現(xiàn)這些功能,本文主要介紹了SpringBoot引入SPEL模板字符串替換的兩種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢分享

    Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢分享

    這篇文章主要給大家介紹了關(guān)于Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • SpringBoot攔截器如何獲取http請求參數(shù)

    SpringBoot攔截器如何獲取http請求參數(shù)

    這篇文章主要給大家介紹了SpringBoot攔截器如何獲取http請求參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot圖片上傳和訪問路徑映射

    SpringBoot圖片上傳和訪問路徑映射

    這篇文章主要為大家詳細(xì)介紹了SpringBoot圖片上傳和訪問路徑映射,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • JVM垃圾回收原理解析

    JVM垃圾回收原理解析

    這篇文章主要介紹了JVM垃圾回收原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08

最新評論