java游戏暂停弹出字体_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

第一次写java的小游戏

想实现点击右下角的暂停 实现游戏的暂停和继续 不知道该怎么加,自己找了线程的内容但试了还是成功不了,求大佬们帮一下小白。代码有点乱,大佬们见谅。,,

TypingGame文件:

import javax.swing.JFrame;public class TypingGame {

public static void main(String[] args) {

JFrame frame = new JFrame();

TypingGamePanel panel = new TypingGamePanel();

frame.add(panel);

Thread t = new Thread(panel);

t.start();

panel.addKeyListener(panel);

panel.setFocusable(true);

panel.addMouseListener(panel);

frame.setSize(1500, 900);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );

frame.setVisible(true);

}}

TypingGamePanel文件:

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.image.BufferedImage;

import java.io.IOException;import javax.imageio.ImageIO;

import javax.swing.JPanel;public class TypingGamePanel extends JPanel implements Runnable,KeyListener,MouseListener{

int[] xx = new int[10];

int[] yy = new int[10];

char[] words = new char[10];

int score = 0;

int speed = 10;

BufferedImage backImage;

public TypingGamePanel(){

try {

backImage = ImageIO.read(TypingGamePanel.class.getResource("car.jpg"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

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

boolean equal;

xx[i] = (int)(100+Math.random()*1400);

yy[i] = -(int)(Math.random()*900);

words[i] = judge(i);

}

}

public char judge(int num){

char random = (char)(Math.random()*26+'A');

for(int i=0;i

if(words[i] == random)

judge(num);

}

return random;

}

public void paint(Graphics g){

super.paint(g);

g.drawImage(backImage,0,0,1500,900,null);

Font ft = new Font("宋体",Font.BOLD,25);

g.setFont(ft);

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

g.setColor(Color.RED);

g.drawString(words[i]+"", xx[i], yy[i]);

g.setColor(Color.BLUE);

g.drawString("当前分数:",10,20);

g.drawString(score+"",140,20);

g.setColor(Color.orange);

g.fillRect(50, 50, 60, 30);

g.setColor(Color.yellow);

g.fillRect(50, 90, 60, 30);

g.setColor(Color.green);

g.fillRect(50, 130, 60, 30);

g.setColor(Color.white);

g.drawString("高速", 50, 70);

g.drawString("中速", 50, 110);

g.drawString("低速", 50, 150);

g.fillRect(1400,800,80,40);

g.setColor(Color.black);

g.drawString("暂停",1420,830);

}

}

public void run() {

// TODO Auto-generated method stub

while(true){

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

yy[i]++;

if(yy[i]>900) {

yy[i] = 0;

score -= 10;

}

}

try {

Thread.sleep(speed);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

repaint();

}

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

int mouseX = e.getX();

int mouseY = e.getY();

if(mouseX > 50 && mouseX < 110 && mouseY > 50 && mouseY < 80)

speed = 5;

if(mouseX > 50 && mouseX < 110 && mouseY > 90 && mouseY < 120)

speed = 10;

if(mouseX > 50 && mouseX < 110 && mouseY > 130 && mouseY < 160)

speed = 20;

}

@Override

public void keyPressed(KeyEvent e) {

// TODO Auto-generated method stub

boolean tof = true;

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

if(e.getKeyCode()==words[i]){

xx[i] = (int)(100+Math.random()*1400);

yy[i] = 0;

boolean equal;

char randomchar;

do

{

randomchar = (char)(Math.random()*26+'A');

equal = false;

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

if(randomchar == words[j]){

equal = true;

break;

}

}

}while(equal);

words[i] = randomchar;

score += 10;

tof = false;

break;

}

}

if(tof) score -= 10;

} @Override

public void mouseEntered(MouseEvent arg0) {

// TODO Auto-generated method stub

} @Override

public void mouseExited(MouseEvent arg0) {

// TODO Auto-generated method stub

} @Override

public void mousePressed(MouseEvent arg0) {

// TODO Auto-generated method stub

} @Override

public void mouseReleased(MouseEvent arg0) {

// TODO Auto-generated method stub

} @Override

public void keyReleased(KeyEvent arg0) {

// TODO Auto-generated method stub

} @Override

public void keyTyped(KeyEvent arg0) {

// TODO Auto-generated method stub

}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乔布斯传

资料参考 http://www.ruanyifeng.com/blog/2013/03/apple_inc_and_division_of_labor.html 苹果公司与分工原理 1.乔布斯 "乔布斯买了一间不错的房子&#xff0c;但家里只有一幅帕黎思&#xff08;Maxfield Parrish&#xff09;的画作、一部百灵牌咖啡机和几把双人牌的刀子…

JAVA5000行代码什么概念_GitHub - catstiger/mvc: 一个不超过5000行代码的,快速,简单,易用的MVC框架。...

一个不超过5000行代码的&#xff0c;快速&#xff0c;简单&#xff0c;易用的MVC框架。我们的目的是&#xff1a;让MVC回归其最初的目的。因简单而快速&#xff0c;超过目前各种主流MVC。零侵入&#xff0c;零配置&#xff0c;易于测试&#xff0c;并且让开发者感觉不到MVC的存…

33 Java语言基础控制跳转语句标号

1 public class Add9 {2 public static void main(String[] args) {3 4 a:for (int i 1; i <9 ; i) { // 标号为合法的标识符5 System.out.println("\n");6 b:for (int j 1; j <i ; j) {7 8 System.o…

java 配置jmstemplate_Spring JMSTemplate 与 JMS 原生API比较

JMSUtil与Spring JmsTemplate的对比Author&#xff1a;信仰Date&#xff1a;2012-4-20未完待续&#xff0c;截止日期2012-4-20从以下几方面比较JMSUtil和Spring JmsTemplatel 对JNDI的支持l 对ConnectionFactory、Connection、Destination、Session、MessageProducer、Messag…

java微信支付必要参数_微信支付 开发账号体系各参数详解

商户在微信公众平台提交申请资料以及银行账户资料&#xff0c;资料审核通过并签约后&#xff0c;可以获得表6-4所示帐户(包含财付通的相关支付资金账户)&#xff0c;用于公众帐号支付。帐号及作用&#xff1a;appid &#xff1a;公众帐号身份的唯一标识。审核通过后&#xff0c…

MyEclipse10的正确破解方法

无法转载&#xff0c;故给出原文链接&#xff0c;以供需要者。 MyEclipse10的正确破解方法转载于:https://www.cnblogs.com/qbzf-Blog/p/6341400.html

【二分法】- leetcode

275. H-Index II 278. First Bad Version 此题的条件必须是left < right, 否则如果只有一个版本的话&#xff0c;一直跳不出循环&#xff0c; time limitation。转载于:https://www.cnblogs.com/93scarlett/p/6353765.html

mysql referential_constraints_hibernate4.3.8与spring mvc结合遇到的问题

2703 [2015-01-21 16:47:42 ] - [ip, ref, ua, sid]WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 1109, SQLState: 42S022703 [2015-01-21 16:47:42 ] - [ip, ref, ua, sid]ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Unknown table ‘referential_constraints‘ in …

ie11浏览器可以下载java吗_解析:WindowsXP系统能否安装IE11浏览器

现在&#xff0c;IE浏览器可以称得上是市场占有率最高的一款网页浏览器。因为windowsxp是一款比较久的操作系统&#xff0c;所以很多用户都会疑惑在xp上是否能够安装最新版的ie11浏览器。下面&#xff0c;小编就给大家详细解答下该问题。很遗憾的告诉大家&#xff0c;Windows X…

centos uninstall teamviewer11

由于某些原因&#xff0c;centos系统上的teamviewer不能运行。一直没有管它&#xff08;懒&#xff09;。 但是&#xff0c;突然看不下去了。因为每次开机后都自动启动&#xff0c;需要关闭&#xff0c;否则有问题。所以&#xff0c;uninstall。 尝试了很多都失败。尝试的步骤是…

java ajax传输图片_Java使用Ajax实现跨域上传图片功能

说明 &#xff1a;图片服务器是用Nginx搭建的&#xff0c;用的是PHP语言这个功能 需要 用到两个js文件&#xff1a;jquery.js和jQuery.form.jsfunction submitImgSize1Upload() {var postData function( form , callback){var form document.getElementById("upload-for…

opencv调节图片饱和度_OpenCV调整彩色图像的饱和度和亮度

问题如何调整彩色图像的饱和度和亮度解决思路详细步骤&#xff1a;将RGB图像值归一化到[0, 1]然后使用函数cvtColor进行色彩空间的转换接下来可以根据处理灰度图像对比度增强伽马变换或者线性变换调整饱和度和亮度分量最后转换到RGB色彩空间代码# !/usr/bin/env python# -*-enc…

Java并发——线程中断学习

1. 使用interrupt()中断线程当一个线程运行时&#xff0c;另一个线程可以调用对应的Thread对象的interrupt()方法来中断它&#xff0c;该方法只是在目标线程中设置一个标志&#xff0c;表示它已经被中断&#xff0c;并立即返回。这里需要注意的是&#xff0c;如果只是单纯的调用…

python etree创建xml_Python构建XML树结构的实例教程

这篇文章主要介绍了Python构建XML树结构的方法,结合实例形式分析了Python创建与打印xml数结构的实现步骤与相关操作技巧,需要的朋友可以参考下本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1.构建XML元素#encodingutf-8from…

分布式服务框架原理(一)设计和实现

分布式服务框架设计 分布式服务框架一般可以分为以下几个部分&#xff0c; &#xff08;1&#xff09;RPC基础层&#xff1a; 包括底层通信框架&#xff0c;如NIO框架、通信协议&#xff0c;序列化和反序列化协议&#xff0c;以及在这几部分上的封装&#xff0c;屏蔽底层通信细…

or函数 java_Java OptionalInt orElseGet()用法及代码示例

orElseGet(java.util.function.IntSupplier)方法可帮助我们获取此OptionalInt对象中的值。如果此OptionalInt中不存在值&#xff0c;则此方法返回提供函数产生的结果&#xff0c;并作为参数传递用法:public int orElseGet(IntSupplier supplier)参数&#xff1a;此方法接受提供…

ADO.NET高级应用

ADO.NET事务处理(4个步骤) 1.调用SqlConnection对象的BeginTransaction()方法&#xff0c;创建一个SqlTransaction对象&#xff0c;标志事务开始。 2.将创建的SqlTransaction对象分配给要执行的SqlCommand的Transaction属性。 3.调用相应的方法执行SqlCommand命令。 4.调用SqlT…

php日常收获

php1、sprintf 用法&#xff08;晚上写成blog w3cschool可查&#xff09;2、使用thinkphp getfield 方法时只查询一个字段默认返回第一条数据&#xff0c;如果想要返回数组需要写成&#xff1a;$this->getField(id,true); // 获取id数组3、数据分页时配合limit&#xff08;x…

java dfs算法蓝桥杯题_【蓝桥杯省赛JavaB组真题详解】四平方和(2016)_疼疼蛇的博客-CSDN博客...

原文作者&#xff1a;疼疼蛇原文标题&#xff1a;【蓝桥杯省赛JavaB组真题详解】四平方和(2016)发布时间&#xff1a;2021-02-26 15:00:01题目描述四平方和四平方和定理&#xff0c;又称为拉格朗日定理&#xff1a;每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进…

Spring JdbcTemplate查询实例

这里有几个例子向您展示如何使用JdbcTemplate的query()方法来查询或从数据库提取数据。整个项目的目录结构如下&#xff1a;1.查询单行数据这里有两种方法来查询或从数据库中提取单行记录&#xff0c;并将其转换成一个模型类。1.1 自定义RowMapper 在一般情况下&#xff0c;它总…