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
}}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java游戏暂停弹出字体_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java解压服务器文件夹,java获取远
- 下一篇: html打折代码,HTML打折计算价格实