代码如下

import java.awt.*;
import java.awt.event.*;
public class Main{public static Frame f =new Frame();public static void main(String[] agrs){f.setSize(500, 400);f.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-f.getSize().width)/2, (Toolkit.getDefaultToolkit().getScreenSize().height-f.getSize().height)/2);f.setTitle("swing简单的打字游戏");f.setBackground(Color.black);Mypanel mp =new Mypanel();f.add(mp);Thread t =new Thread(mp);t.start();f.addKeyListener(mp);mp.addKeyListener(mp);mp.addMouseListener(mp);f.setVisible(true);f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}
}
class Mypanel extends Panel implements Runnable,KeyListener,MouseListener{private static final long serialVersionUID = 1L;int x[]=new int[20];int y[]=new int[20];char c[]=new char[20];int score=1000;int level=1;boolean flag=true;public Mypanel(){for(int i=0;i<20;i++){x[i]=(int)(Math.random()*1020);y[i]=(int)(Math.random()*768)-700;c[i]=(char)(Math.random()*26+65);}}public void paint(Graphics g){g.setColor(Color.BLUE);g.setFont(new Font("宋体",Font.BOLD,30));if(flag==false){g.setColor(Color.GREEN);g.setFont(new Font("隶书",Font.BOLD,50));g.drawString("Over",Main.f.getSize().width/2,Main.f.getSize().height/2);}for(int i=0;i<20;i++){g.drawString(c[i]+"",x[i],y[i]);}g.drawString("得分:"+score,20,50);g.drawString("等级:"+level,850,50);}public void run(){while(flag){for(int i=0;i<20;i++){y[i]++;if(y[i]>768){y[i]=0;x[i]=(int)(Math.random()*(Main.f.getSize().width));c[i]=(char)(Math.random()*26+65);score-=100;if(score<=0){score=0; flag=false;c=new char[20];}}}try {Thread.sleep(20-3*level);} catch (InterruptedException e) {e.printStackTrace();}this.repaint();}}public void mouseClicked(MouseEvent e) {System.out.println(e.getX());System.out.println(e.getY());}public void keyPressed(KeyEvent e) {int maxY=-1000;int index=-1;if(e.getKeyCode()>=e.VK_A&&e.getKeyCode()<=e.VK_Z){for(int i=0;i<20;i++){if(e.getKeyCode()==c[i]){if(y[i]>maxY){maxY=y[i];index=i;}}}if(index!=-1){y[index]=0;x[index]=(int)(Math.random()*(Main.f.getSize().width));c[index]=(char)(Math.random()*26+65);score +=50;if((score-500)/500>level){level++;}}else{score-=100;if(score<=0){score=0;flag=false;c=new char[20];}repaint();}}}public void keyReleased(KeyEvent arg0) {}public void keyTyped(KeyEvent arg0) {}public void mouseEntered(MouseEvent arg0) {}public void mouseExited(MouseEvent arg0) {}public void mousePressed(MouseEvent arg0) {}public void mouseReleased(MouseEvent arg0) {}
}

  效果图
<ignore_js_op>

详细说明:http://java.662p.com/thread-3684-1-1.html

转载于:https://www.cnblogs.com/liniuzen/p/4107846.html

swing简单的打字游戏源码相关推荐

  1. java类似金山打字的键盘模拟_java实现 swing模仿金山打字 案例源码

    java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: import Java.awt.Color; import jav ...

  2. java语言金山打字_[Java教程]java实现 swing模仿金山打字 案例源码

    [Java教程]java实现 swing模仿金山打字 案例源码 0 2014-11-17 12:00:21 java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http ...

  3. 【180720】打字游戏源码

    利用C#写一个打字游戏,由一个时钟来控制字母掉下来的状态.timer 97 ascii码 对应小写字母a 英文单词26字母. 菜单功能: 1.运行后,点击开始,开始游戏 2.点击停止,游戏暂停 3.游 ...

  4. 太空射击unity工程素材文件 飞机大战 飞行射击游戏源码(C#,Unity2019.2.4f1)素材+源码 最新写的,demo简单版本

    飞机大战素材 太空大战unity工程文件 飞行射击游戏源码(C#,Unity2019.2.4f1)素材+源码 最新写的,demo简单版本 希望能对初学者提供帮助,代码根据教材以及out了的代码更新了, ...

  5. java大作业的打猎游戏_Java Swing打猎射击游戏源码

    Java Swing打猎射击游戏源码 代码如下package Game;import java.awt.Graphics;import java.awt.Image;import javax.swin ...

  6. java swing游戏源码-宇宙战争游戏,Java飞船射击游戏

    原文:java swing游戏源码-宇宙战争游戏,Java飞船射击游戏 源代码下载地址: http://www.zuidaima.com/share/1880717151603712.htm 一个基于 ...

  7. pygame简单的俄罗斯方块游戏和简单的打字游戏

    1.pygame简单的俄罗斯方块游戏 一.对战的方块管理 定义一个BlockManage管理对战的方块 根据BlockManage根据传入的玩家id返回方块,保证每个玩家拿到的方块序列是一致的,所以在 ...

  8. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏 ...

  9. 15款Cocos2d-x游戏源码

    (1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...

  10. 飞翔的圆(Flappy Bird)游戏源码完整版

    2019独角兽企业重金招聘Python工程师标准>>> 这个源码是一个不错的休闲类的游戏源码,飞翔的圆(Flappy Bird)游戏源码V1.0,本项目是一个仿Flappy Bird ...

最新文章

  1. 荷兰国旗 Flag of the Kingdom of the Netherlands
  2. 清华大学计算机学院赵成钢哪里人,清华大学16位学霸简历吓坏网友
  3. 用ASP.NET Core 2.1 建立规范的 REST API -- 缓存和并发
  4. \r:command not found
  5. Linux编程(6)_makefile
  6. C++ new与delete的使用规范
  7. gitlab在push代码的时候报错
  8. php mysql 双条件排序_php – 是否有通过匹配多个条件进行排序的SQL技术?
  9. To程序员:要写出好代码,你需要懂点儿“底层思维”
  10. apache的rewrite详解
  11. 电工模拟接线软件 app_电气接线方法以及线号管正确方向
  12. c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
  13. 使用python修改微信支付宝运动步数
  14. 【Codecs系列】视频编码中的率失真优化RDO技术
  15. 3DMax如何将一个整的模型将里面组件都分离出来
  16. 海康服务器获取cms信息失败,织梦CMS文档读取频道信息失败,无法进行后续操作!...
  17. c语言在函数内部宏定义,简单讲解C++的内部和外部函数以及宏的定义
  18. String和数据库类型的相互转化
  19. 一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)
  20. 3DMAX渲染高分辨率图像教程

热门文章

  1. Linux系统编程 -- 信号及signal函数
  2. go - 发布订阅模型
  3. python 文件对话框 颜色对话框_Python 文件对话框(一)
  4. tidb mysql主从复制_如何配置MySQL数据库主从复制
  5. 【渝粤教育】国家开放大学2018年春季 0266-22T设计构成 参考试题
  6. [渝粤教育] 西南科技大学 交通运输经济 在线考试复习资料
  7. 【Python实例第13讲】识别手写数字
  8. stdlib.h函数请单
  9. auto_ptr自动资源管理器
  10. RU大神手册上要再“做”的题