swing简单的打字游戏源码
代码如下
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简单的打字游戏源码相关推荐
- java类似金山打字的键盘模拟_java实现 swing模仿金山打字 案例源码
java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: import Java.awt.Color; import jav ...
- java语言金山打字_[Java教程]java实现 swing模仿金山打字 案例源码
[Java教程]java实现 swing模仿金山打字 案例源码 0 2014-11-17 12:00:21 java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http ...
- 【180720】打字游戏源码
利用C#写一个打字游戏,由一个时钟来控制字母掉下来的状态.timer 97 ascii码 对应小写字母a 英文单词26字母. 菜单功能: 1.运行后,点击开始,开始游戏 2.点击停止,游戏暂停 3.游 ...
- 太空射击unity工程素材文件 飞机大战 飞行射击游戏源码(C#,Unity2019.2.4f1)素材+源码 最新写的,demo简单版本
飞机大战素材 太空大战unity工程文件 飞行射击游戏源码(C#,Unity2019.2.4f1)素材+源码 最新写的,demo简单版本 希望能对初学者提供帮助,代码根据教材以及out了的代码更新了, ...
- java大作业的打猎游戏_Java Swing打猎射击游戏源码
Java Swing打猎射击游戏源码 代码如下package Game;import java.awt.Graphics;import java.awt.Image;import javax.swin ...
- java swing游戏源码-宇宙战争游戏,Java飞船射击游戏
原文:java swing游戏源码-宇宙战争游戏,Java飞船射击游戏 源代码下载地址: http://www.zuidaima.com/share/1880717151603712.htm 一个基于 ...
- pygame简单的俄罗斯方块游戏和简单的打字游戏
1.pygame简单的俄罗斯方块游戏 一.对战的方块管理 定义一个BlockManage管理对战的方块 根据BlockManage根据传入的玩家id返回方块,保证每个玩家拿到的方块序列是一致的,所以在 ...
- Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏 ...
- 15款Cocos2d-x游戏源码
(1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...
- 飞翔的圆(Flappy Bird)游戏源码完整版
2019独角兽企业重金招聘Python工程师标准>>> 这个源码是一个不错的休闲类的游戏源码,飞翔的圆(Flappy Bird)游戏源码V1.0,本项目是一个仿Flappy Bird ...
最新文章
- 荷兰国旗 Flag of the Kingdom of the Netherlands
- 清华大学计算机学院赵成钢哪里人,清华大学16位学霸简历吓坏网友
- 用ASP.NET Core 2.1 建立规范的 REST API -- 缓存和并发
- \r:command not found
- Linux编程(6)_makefile
- C++ new与delete的使用规范
- gitlab在push代码的时候报错
- php mysql 双条件排序_php – 是否有通过匹配多个条件进行排序的SQL技术?
- To程序员:要写出好代码,你需要懂点儿“底层思维”
- apache的rewrite详解
- 电工模拟接线软件 app_电气接线方法以及线号管正确方向
- c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
- 使用python修改微信支付宝运动步数
- 【Codecs系列】视频编码中的率失真优化RDO技术
- 3DMax如何将一个整的模型将里面组件都分离出来
- 海康服务器获取cms信息失败,织梦CMS文档读取频道信息失败,无法进行后续操作!...
- c语言在函数内部宏定义,简单讲解C++的内部和外部函数以及宏的定义
- String和数据库类型的相互转化
- 一行代码解决网站防挂IFRAME木马方案,小鸽子序列(灵儿)
- 3DMAX渲染高分辨率图像教程