完整代码!!!

import java.awt.*;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.ImageIcon;

import javax.swing.JPanel;

public class Mhh {

public static void main(String args[]){

Frame w=new Frame();

w.setSize(430,500);

MyPanel9 mp=new MyPanel9();

w.add(mp);

w.addKeyListener(mp);

mp.addKeyListener(mp);

Thread t=new Thread(mp);

t.start();

w.show();

}

}

class MyPanel9 extends JPanel implements Runnable,KeyListener { int count=1000;//发射子弹的数目

int flag1=0;//标志flag为1时发射子弹

int m=0; //记录已发射子弹的数目

int max=2000;//记录得分

int x=280;//下面飞机的坐标

int y=420;

int x1[]=new int[15];//上面飞机的坐标

int[] y1=new int[15];

int x2[]=new int[count];//发射子弹的坐标

int[] y2=new int[count];

public MyPanel9(){//上面飞机随即分布

for(int i=0;i<15;i++){

x1[i]=(int)(Math.random()*400);

y1[i]=(int)(Math.random()*500);

}

}

public void paint(Graphics g){

super.paint(g); Image img2=new ImageIcon("1.jpg").getImage(); g.drawImage(img2,0,0,430,500,null); Image img1=new ImageIcon("2.jpg").getImage();//画下面的飞机 g.drawImage(img1,x,y,30,40,null); if(max>0){ Font f=new Font("",Font.BOLD,16); g.setFont(f); g.setColor(Color.RED); g.drawString("成绩是:"+max,20,20); for(int i=0;i<10;i++){ Image img3=new ImageIcon("4.jpg").getImage();//画上面的飞机 g.drawImage(img3,x1[i],y1[i],30,40,null); } if(m==count) m=0; if(flag1==1){//画新子弹的位置 x2[m]=x; y2[m]=y; m++; flag1=0; } for(int i=0;i<m;i++){ g.setColor(Color.RED); g.fillOval(x2[i]+5,y2[i],15,15); } } else{ Font ff=new Font("",Font.BOLD,36); g.setFont(ff); g.setColor(Color.RED); g.drawString("GAME OVER",100,200); } } public void run(){ while(true){ for(int i=0;i<10;i++){//飞机随机下落 y1[i]++; if(y1[i]>500){ y1[i]=0; x1[i]=(int)(Math.random()*400); max-=50; }

}

for(int j=0;j<m;j++){//子弹移动的过程

y2[j]-=10;

}

for(int i=0;i<m;i++){ //子弹击中飞机的过程

if(y2[i]>0){

for(int j=0;j<10;j++){

if(0<=(y2[i]-y1[j])&&(y2[i]-y1[j])<=10){

if(-15<=(x2[i]-x1[j])&&(x2[i]-x1[j])<=10){

max+=10;

y2[i]=-1;

x1[j]=(int)(Math.random()*400); y1[j]=0;

}

}

}

}

}

if(max<0){

return;

}

try{

Thread.sleep(35);

}catch(Exception e){}

repaint();

}

}

public void keyTyped(KeyEvent e) {

// TODO Auto-generated method stub

}

public void keyPressed(KeyEvent e) {//控制下面飞机移动

if(e.getKeyCode()==KeyEvent.VK_LEFT){

x-=10;

if(x<0){

x=0;

}

}

if(e.getKeyCode()==KeyEvent.VK_UP){

y-=10;

if(y<0){

y=0;

}

}

if(e.getKeyCode()==KeyEvent.VK_RIGHT){ x+=10;

if(x>400){

x=400;

}

}

if(e.getKeyCode()==KeyEvent.VK_DOWN){ y+=10;

if(y>420){

y=420;

}

}

repaint();

if(e.getKeyCode()==KeyEvent.VK_SPACE){ flag1=1;

}

}

public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub

}

}

java免费学习资料直播公开课群 175161984

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Java简单雷电游戏代码相关推荐

  1. java简单雷电游戏代码_[代码全屏查看]-Java 雷电游戏(完成)

    [3].[文件] MyFrame.java ~ 6KB    下载(399) package com.ruxia.frame; import java.awt.Frame; import java. ...

  2. 基于java的雷电游戏系统设计与实现(项目报告+答辩PPT+源代码+部署视频)

    项目报告 基于Java的雷电游戏 电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具有较强的娱乐性.电脑游戏的创新和发展与硬件.软件的发展紧密相关.它能够给玩家提供一个虚拟的环境,使游戏带给了人们 ...

  3. 基于Java的雷电游戏设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 基于Java的雷电游戏 摘   要    电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具 ...

  4. 基于JAVA的雷电游戏(论文+PPT+源码)

    幻灯片1 基于JAVA的雷电游戏 幻灯片2 1.项目简介 2.开发平台与开发技术 3.雷电游戏模块设计 4.雷电功能实现 5.系统测试 幻灯片3 返回 项目简介 此雷电游戏通俗来说就是我方飞机和敌方之 ...

  5. java 方法数统计_利用Java简单实现一个代码行数统计器方法实例

    前言 哈喽,我是小黑, 最近学了java的输入输出流后一直心痒痒,总想找一点事情来做,所以用java代码来实现了一下统计代码的所有行数,看一下我上大学以来到底打了多少行. 先附上实现代码吧! pack ...

  6. 基于java的雷电游戏

    项目介绍 电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具有较强的娱乐性.电脑游戏的创新和发展与硬件.软件的发展紧密相关.它能够给玩家提供一个虚拟的环境,使游戏带给了人们很多的享受和欢乐.雷电游 ...

  7. python简单小游戏代码-python基础练习之几个简单的游戏

    文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列 ...

  8. python猜拳小游戏代码200行左右_python简单小游戏代码,python简单小游戏代码200行...

    如何看懂python杨辉三角代码? 第一步先找规律,抽象化问题.首先我们观察到,第一行为[1],我们直接赋给一个变量:初始化数列 p = [1].核心点是这个除去首位两个 [1] 的中间部分:[p[0 ...

  9. python简单小游戏代码-零基础python教程-用Python设计你的第一个小游戏

    学以致用,今天给大家分享零基础Python设计你的第一个小游戏,既然要学习Python就要让它来实现我们想做的东西,这次咱就用Python来做个简单小游戏,在实践中不断成长.刚学习Python的小伙伴 ...

最新文章

  1. oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本
  2. 通过特征类型超参数控制权重类型
  3. 【408预推免复习】操作系统之文件管理
  4. 配置通过Apache(httpd)访问Subversion(SVN)1.7资源库
  5. SAP UI5 ResponsiveGridLayout
  6. uni-app文档需要注意细节点
  7. 基于java的程序启动出错Could not create the Java virtual machine
  8. Spring之JDBC模板
  9. Git 正在吞噬世界!
  10. java并发常量_Java并发编程-常量对象(七)
  11. python不会英语不会数学怎么自学-英语和数学都不好,但是我想学Python编程可以吗?...
  12. ORA-600 各个参数含义说明
  13. linux igb网卡,网卡驱动程序igb ixgbe 介绍
  14. 美团饿了么返利公众号小程序搭建(付源码)
  15. 算法练习 - 五笔编码
  16. 找回任务栏显示桌面图标及Win7如何显示快速启动栏
  17. esp8266 OTA 云远程更新固件 wifiupdate
  18. 用Java swing写的一个音乐播放器的个性化界面实现作业(只有界面!)
  19. c语言表达式的算法,表达式求值--数据结构C语言算法实现
  20. Cygwin安装和配置

热门文章

  1. 微服务架构之公共模块式中创建API接口统一返回结果ApiResult
  2. iOS-扫描二维码and条形码
  3. 云计算服务IaaS, PaaS和SaaS简介
  4. 读书笔记《底层逻辑2·理解商业世界的本质》
  5. Unity3d 多线程、多并发网络解决方案(C#)
  6. python及大数据相关书籍推荐
  7. 1药网母公司路演PPT曝光:发行区间14到16美元 中旬上市
  8. 大学四年自学进BAT,私下存的资源/工具/网站我全贡献出来了
  9. 如何知道服务器支持301,301页面跳转的方法---从服务器上设置方法
  10. 高德地图添加瓦片图层