仿金山打字通游戏 Java代码

news/2024/11/8 20:03:26/
Code:
package com.mxs.util;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class ZiMu extends JFrame {ZiMu() {this.setSize(300, 600);this.setResizable(false);this.setTitle("打字游戏");this.setBackground(Color.BLACK);MyPanel mp = new MyPanel();this.add(mp);this.addKeyListener(mp);Thread t = new Thread(mp);t.start();}public static void main(String args[]) {ZiMu w = new ZiMu();w.setVisible(true);}
}class MyPanel extends JPanel implements Runnable, KeyListener {int x[] = new int[10];int y[] = new int[10];int sum = 0;String z[] = new String[10];MyPanel() {for (int i = 0; i < 10; i++) {x[i] = (int) (Math.random() * 300);y[i] = (int) (Math.random() * 300);z[i] = new String("" + (char) (Math.random() * 25 + 65));}}public void paint(Graphics g) {super.paint(g);this.setBackground(Color.black);g.setColor(Color.WHITE);g.drawString("一分钟正确打对的字母: " + sum, 10, 560);for (int i = 0; i < 10; i++) {g.drawString(z[i], x[i], y[i]);}}public void run() {long g = System.currentTimeMillis();while (System.currentTimeMillis() - g <= 60000) {for (int i = 0; i < 10; i++) {y[i]++;if (y[i] >= 600) {sum -= 1;y[i] = (int) (Math.random() * 50);x[i] = (int) (Math.random() * 280);z[i] = new String("" + (char) (Math.random() * 25 + 65));}}try {Thread.sleep(20);} catch (Exception e) {}this.repaint();}}public void keyTyped(KeyEvent e) {// TODO: Add your code here}public void keyPressed(KeyEvent e) {String keychar = new String("" + e.getKeyChar());int yy = 0;int j = -1;for (int i = 0; i < 10; i++) {if (keychar.equals(z[i])) {if (yy < y[i]) {yy = y[i];j = i;}}}if (j != -1) {z[j] = new String("" + (char) (Math.random() * 25 + 65));y[j] = 0;sum += 1;} else {sum -= 1;}}public void keyReleased(KeyEvent e) {// TODO: Add your code here}
}

 

 


http://www.ppmy.cn/news/527685.html

相关文章

基于JavaSwing写的雷霆战机(飞机大战)

自学Java已经有一段时间了吧&#xff0c;一直都没有一个关于界面的完整的项目&#xff0c;计算器这些又太简单&#xff0c;所以就一直构思写一个基于JavaSwing的游戏。虽然在日常开发中使用到JavaSwing开发界面的很少。但是这个游戏也就当做一次对我前面所学习的知识的巩固吧&a…

打单词游戏 html5,html打字游戏

【实例简介】 html5写的一款打字小游戏&#xff0c;是以射击类游戏为模型&#xff0c;练习英语单词也是这款游戏的特色 【实例截图】 【核心代码】 HTML5打字游戏 └── 打飞字 ├── index.html ├── media │ ├── background │ │ ├── 20140919124256_zaWss…

金山打字通生死时速游戏介绍

金山打字通是一款帮助用户从零开始学习打字的软件&#xff0c;其内置的游戏使打字这一枯燥的活动变得更加有趣。在内置的五款游戏中&#xff0c;属生死时速&#xff08;又名警察抓小偷&#xff09;的制作最为精良&#xff0c;可玩性也最高。 设计元素 玩家 角色与特征&#x…

13.练习题(年月日,打字游戏)

练习 1.任意给出一个年、月、日&#xff0c;判断是这一年的第几天&#xff1a;闰年算法&#xff1a;能被4整除且不能被100整除&#xff0c;或者能被400整除。 如&#xff1a;2012 5 10 是这一年的第131天。 提示&#xff1a;使用数组的方式计算&#xff0c;将每月的天数放在一…

AVP赛道“开启”抢滩登陆战

“整套独立于基础设施的自动代客泊车系统系统是在中国开发的&#xff0c;计划于2022年底在中国汽车制造商的车型上首次搭载。”这是全球汽车零部件巨头采埃孚在今年上海车展上宣布的最新量产进度。 这意味着&#xff0c;AVP赛道又增加了一家有实力的传统巨头&#xff0c;背后是…

HTML小游戏6 —— 《高达战争》横版射击游戏(附完整源码)

💂 网站推荐:【神级源码资源网】【摸鱼小游戏】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】💬 免费且实用的计算机相关知识题库:👉进来逛逛给大家安利一个免费且实用的前端刷题(面经大全)…

CDMA、CDMA2000、WCDMA、GSM等有什么区别?

CDMA、CDMA2000、WCDMA、GSM等有什么区别 CDMA,CDMA2000可以说是属于同一种网络&#xff0c;现在属于中国电信的3G网络&#xff0c;就是现在电信的天翼。WCDMA是联通的3G网络。移动3G网络则采用国产的TD-SCDMA.而GSM是目前移动和联通还在使用的2.5G的网络。