Java打字游戏

java编写打字小游戏 阅读详情

贴吧上看到有人做Java打字游戏,但是问题多多,我把他的程序拿来大改一番,算是半个原创吧。键盘按出对应字母,则该字母消失并随机产生新字母。

如果加些贴图润色一下可以更美观,学习计划紧,暂时不美化了。


代码如下:

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class LetterGame extends JFrame {
    public static final int WIDTH = 300;
    public static final int HEIGHT = 400;

    public LetterGame(String gameName){
        super(gameName);
        MyJPanel mp = new MyJPanel();
        Thread t = new Thread(mp);
        t.start();
        add(mp);
        addKeyListener(mp);
        setVisible(true);
        setSize(WIDTH, HEIGHT);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new LetterGame("LetterGame");
    }
}
class MyJPanel extends JPanel implements Runnable,KeyListener {
    int[] x = new int[10];
    int[] y = new int[10];
    char[] c = new char[10];
    public MyJPanel(){
        arrayRandom();     
    }

    private void arrayRandom(){
        for(int i=0;i<10;i++){
            arraySingleRandom(i);
        }
    }

    private void arraySingleRandom(int i){
        x[i] = (int)(Math.random()*LetterGame.WIDTH);
        y[i] = (int)(Math.random()*LetterGame.HEIGHT*0.7);
        c[i] = (char)(Math.random()*26+97);
    }

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setFont(new Font("微软雅黑", Font.BOLD, 20));
        for(int i=0;i<10;i++) g.drawString(new Character(c[i]).toString(), x[i], y[i]);
    }

    @Override
    public void run() {
        while(true){
            for(int i = 0;i<10;i++) y[i]++;
            repaint();
            try {
                Thread.sleep(600);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyPressed(KeyEvent e) {
        char keyc = e.getKeyChar();
        for(int i = 0; i < c.length; i++){
            if (c[i] == keyc){
                arraySingleRandom(i);
                return;
            }
        }
    }

    @Override
    public void keyReleased(KeyEvent e) {}

}


JAVA经典案例之QuickHit打字游戏 JAVA经典案例之QuickHit打字游戏 又是充满学习动力的一天,今天小星星来讲述一下由本人今天做的一个打字游戏的打开过程和解题思路吧! 具体功能实现和案例项目需求如下: 项目分析:项目大概需要3个类,分别是玩家类,游戏类和级别类 项目需要 除以上介绍到的类之后,这里还需要创建额外的级别属性数组类: 主要的功能效果图如下: 好了说了这么多,想必等不及了吧,开始上实现代码: import java.util.Random; //游戏类 public class Game { public Playe 阅读详情

相关推荐

【Java】网络打字对战小游戏

//以下代码均出自于清华大学出版社(郭克华老师版java教材)的第二十五章练习章节 //以下为自己的对代码的理解和记录 一、网络打字小游戏 网络打字小游戏需要实现的功能:      运行服务器端,之后运行客户端,可实现多个用户随机进入和退出,进入之后出现登录界面,输入用户名,若连接成功,显示连接成功界面。之后进入游戏界面。 游戏规则为26个大写字母从上端每0.1秒向下坠落,从键盘键入此字

thoven_fish的博客 8540

0基础java初学者都能做的打字通小游戏? 内含源码解读和细致讲解!!

0基础java初学者实现小游戏!完全手把手教,内含源码解读和详细讲解!

Byyyi耀的博客 1374

java 实现打字小游戏(附完整源码)

java 实现打字小游戏(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 779

基于JavaSwing开发打字小游戏 课程设计 大作业源码

基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)基于JavaSwing开发打字小游戏: (大作业)

QQ2892034822的博客 376

zemax混合式非序列模拟

注意不要点击左侧的非序列模式,那个时纯粹的非序列,会清除序列模式的数据。第2、4、6透镜材质为空气,是为了让光线进入到多重透镜内部。这时普通的优化方式会失败。平行光束经过多焦透镜时,会汇聚在不同焦距处。所以还需要控制能量的大小,进行优化。接下来用非序列模式设计一个多焦透镜。像面的孔径为圆形通光孔:0-1.2。透镜不同位置处有不同的聚焦位置。透镜的z轴位置相同,重合。

fendoudecheng的博客 3067

AI 生成测试报告:从 2 小时到 10 分钟

本文分享了AI在汽车电子测试报告生成中的应用案例。作者以某车企ECU测试项目为例,对比传统报告方式(每天2小时)与AI辅助方式(每天20分钟),效率提升83%。文章详细介绍了测试报告的核心要素(测试概况、结果、问题分析、发布建议)和不同类型报告(日报、周报、总结报告)的特点,并提供了从CANoe导出测试数据的Python解析脚本示例。通过AI自动化处理,大幅减少了测试工程师在报告整理上的时间投入,为汽车电子测试工作提供了实用效率提升方案。

小明的博客 444

java打字小游戏_java实现打字游戏小程序

本文实例为大家分享了java实现打字游戏小程序的具体代码,供大家参考,具体内容如下一、设计思路1.创建一个窗体2.在窗体上放置一个面板,用paint方法画出英文字母,随机放置字母位置,并随时间自动下落3.设置得分扣分机制4.在面板上添加键盘监听器,输入正确得分,输入错误则扣分ps:面板和监听器用一个类实现(这样简单方便)二、具体实现MyPanel.javaimport java.awt.Color...

weixin_29885875的博客 2224

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

yang1067155909的专栏 4291

用java做一个简单的打字游戏

Java也是可以做桌面程序的。只不过需要运行在装有JDK的电脑环境上,所以应用不是很广泛,但是用来提高自身的代码逻辑还是可以的!偶有一天看到金山的打字通,就想起何不做个简单的打字游戏用来练练手。于是就有了下文首先建一个类MyTyping,只有main方法 运行main方法就可以看到出现屏幕中心出现一个窗体(大小是300*400)代码逻辑也就思路里那么多。觉得丑的可以自己优化下,个人觉得没必要

幻凡ss 2万+

嵌入式统一消息机制:模块解耦与零拷贝通信设计

在嵌入式系统开发中,模块间通信(IMC)是影响可维护性与实时性的关键环节。传统IPC方式如全局变量、信号量或Socket易导致高耦合、调试困难及跨平台适配成本高。统一消息机制通过逻辑地址抽象、标签/实体分离、路由表驱动等原理,实现控制流与数据流解耦,在裸机、RTOS及Linux用户态保持一致接口。其技术价值在于降低模块依赖复杂度、支持动态增删与分布式迁移,并通过零拷贝优化显著减少CPU与内存开销。典型应用场景涵盖工业网关、城域交换机、多核ARM边缘设备等资源受限环境,尤其适用于需长期稳定运行、快速迭代与混合

weixin_35257663的博客 267

ESP-Mesh-Lite vs ESP-Mesh:如何选择适合你的物联网组网方案?

本文深入对比了乐鑫ESP-Mesh-Lite与ESP-Mesh两种物联网组网方案的核心差异。重点解析了ESP-Mesh-Lite分布式协议栈架构的优势,即每个节点拥有独立IP,可直接访问外部网络,极大简化了应用层开发。文章从网络架构、性能、开发体验及适用场景等多维度进行分析,为开发者根据项目需求(如分布式数据采集、智能家居或集中控制网络)选择最合适的方案提供了清晰的决策框架。

pluto的博客 817

JAVA打字游戏代码

新建一个项目,然后在src里面建一个MyGame.java文件, 把代码粘到刚才新建的MyGame.java, 然后把两张图放到src下,就行了 一、代码 import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; import java.awt.event.*; public class MyGame { stat.

喜欢企鹅的博客 5414

电机系列(1) - foc最基本原理、clark变换 、park变换、附代码

什么是FOC? FOC(Field-Oriented Control),直译是磁场定向控制,也被称作矢量控制 (VC,Vector Control) ,是目前无刷直流电机(BLDC)和永磁同步电机(PMSM)高效控制的最优方法之一。FOC旨在通过精确地控制磁场大小与方向,使得电机的运动转矩平稳、噪声小、效率高,并且具有高速的动态响应。 简单来说就是,FOC是一种对无刷电机的驱动控制方法,它可以让我们对无刷电机进行 “像素级” 控制,实现很多传统电机控制方法所无法达到的效果。 因为所谓的“矢量控制”其实就是

nepqiu的博客 7万+

java打字游戏_Java打字游戏

贴吧上看到有人做Java打字游戏,但是问题多多,我把他的程序拿来大改一番,算是半个原创吧。键盘按出对应字母,则该字母消失并随机产生新字母。如果加些贴图润色一下可以更美观,学习计划紧,暂时不美化了。代码如下:import javax.swing.*;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyLi...

weixin_36276359的博客 823

投稿前利用GPT-5.5给论文做一次深度校对,投稿命中率翻倍!

3)一致性:请对比摘要的结论与正文(如果我也提供了正文),确保完全一致。请严格检查结果部分,确保客观性:1)纯粹性检查:标出所有包含“为什么”(解释)或“这意味着什么”(暗示)的主观语句,这些应移至讨论部分。请你帮我评估讨论部分的深度:1)解释与对比:检查每一项主要结果是否都解释了原因,并引用了前人研究进行对比(一致或相悖)。我见过太多人把校对理解为检查错别字了,实际上,校对要看的远不止这个,像逻辑是否连贯、术语是否前后一致、图表有没有被正确引用等等的这些细节,往往决定了文章是秒被拒,还是能顺利进入外审。

智能AI让学术科研更容易 412

EDEM-FLUENT耦合报错几大原因总结(持续更新)

EDEM-FLUENT耦合报错几大原因总结(持续更新)

zheaa的博客 2761

JAVA实现打字小游戏

目录 一、效果 二、教程 三、代码 一、效果 首先我们先看效果,左上角的分数是用来记录我们打对了多少字母。字母是从上面开始往下落。每打对一个字母,分数增加,增加到一定分数后,字母下落的速度也会增加。(效果是动态的) 这是不是一个简单的打字小游戏呢? 二、教程 1、使用IDEA搭建一个项目,项目名称:Words(可根据自己的喜好) 具体搭建过程可看博文用IDEA构建一个简单的Java程序范例,这里就不详细说了。 2、Word.class (1)导入包 import .

D77的博客 8257

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java d打字游戏_Java实现打字游戏

本文实例为大家分享了Java实现打字游戏的具体代码,供大家参考,具体内容如下新建一个项目,然后在src里面建一个MyGame.java文件,把代码粘到刚才新建的MyGame.java,然后把两张图放到src下,就行了一、代码import javax.swing.*;import javax.swing.event.ChangeEvent;import javax.swing.event.Chang...

weixin_35541666的博客 954

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java打字小游戏_JAVA打字小游戏

展开全部前几天才给别人做了..你看下e69da5e6ba9062616964757a686964616f31333238663036吧...声音文件要的话在问我..//改好你的要求了importjava.applet.Applet;importjava.applet.AudioClip;importjava.awt.Dimension;importjava.awt.Font;import...

weixin_42298415的博客 435

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java打字小游戏源码_java实现快速打字游戏

本文实例为大家分享了java实现打字游戏的具体代码,供大家参考,具体内容如下import java.util.Random;import java.util.Scanner;public class Game {public Game(Player player) {}public Game() {}public String printStr(Player player) {StringBuff...

weixin_29176179的博客 1241

Java编写网络打字游戏

《Java语言程序设计》–郭克华网络打字游戏功能简介  这里将介绍一个网络对战的打字游戏。首先运行服务器,界面如图1所示。                          图1  运行客户端,首先显示如图2所示的对话框。                             图2  用户能够输入昵称,单击“确定”按钮,则连接到服务器。这里为了简单起见,服务器运行在本机,端口为9999。

The wind of freedom blows 7723

java d打字游戏_java实现快速打字游戏

本文实例为大家分享了java实现打字游戏的具体代码,供大家参考,具体内容如下import java.util.Random;import java.util.Scanner;public class Game {public Game(Player player) {}public Game() {}public String printStr(Player player) {StringBuff...

weixin_39873177的博客 334

java打字_怎么用JAVA编写一个打字游戏

该楼层疑似违规已被系统折叠隐藏此楼查看此楼这个帖子是一年前发的,当时对Java也不是很懂,我看大家都对这个感兴趣,我把代码改了一下,发布出来,其实还有很多的地方还没有完善...,这个只能算一个Demo,有兴趣的可以参考和完善。import java.awt.Font;import java.awt.GridLayout;import java.awt.TextField;import java....

weixin_34088048的博客 204

java打字游戏和解析_java类与对象案例之打字游戏

类与对象案例-童年回忆之打字游戏一、玩家类二、等级类三、游戏类四、等级地图五、测试类这次要做的案例是一个打字游戏的案例,相信大家小时候都玩过金山打字通的警察抓小偷和飞机大战,这次的案例是类似的简易版。首先对于这个案例,我们要解决的是如何生成随机的字符串,如何判断生成的字符串和输入的字符串是否相等。一、玩家类package com.yc.oop6.hc0705;public class Player...

weixin_33729288的博客 529
上一篇: Java记事本
下一篇: 兰顿蚂蚁
KingLearnJava
博客等级 码龄12年 93粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值