java消除字母游戏_写好的Java字母游戏,请问如何加入存盘的功能?

博主正在求助如何在已编写的Java字母游戏中添加存档功能,以便玩家可以保存进度并在之后继续游戏。游戏代码中已经包含了游戏逻辑,但缺少文件操作部分。博主期待能用简单的方式实现本地存档,并希望在短时间内完成,因为有实验课检查的压力。
摘要由CSDN通过智能技术生成

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

我写的一个很简单的字母游戏,要求增加存档的功能,保存文件在本地,要能够开始新游戏也能继续之前的游戏,请问具体要怎么做?

我的代码:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LetterGame {

static int frameWidth =600,frameHeight =768;

public static void main(String[] args) {

JFrame frame = new JFrame();

//frame.getContentPane().setBackground(Color.BLACK);

frame.setSize( frameWidth, frameHeight);

MyPanel panel = new MyPanel();

frame.add(panel);

frame.addKeyListener(panel);

panel.addKeyListener(panel);

Thread t = new Thread(panel) ;

t.start() ;

frame.add(panel);

frame.setVisible(true);

frame.setResizable(false);

frame.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

}

}

class MyPanel extends JPanel implements Runnable,KeyListener{

int score=1000;

int x[] = new int[10];

int y[] = new int[10];

char c[] = new char[10];

public MyPanel(){

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

c[i] = (char)(Math.random() * 26 + 97);

x[i] = (int)(Math.random() * LetterGame.frameWidth);

y[i] = (int)(Math.random() * LetterGame.frameHeight*0.5);

}

}

public void paint(Graphics g){

super.paint(g);

setBackground(Color.ORANGE);

g.setFont(new Font("Tahoma", Font.BOLD, 50));

g.setColor(Color.WHITE);

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

g.drawString(new Character(c[i]).toString(),x[i], y[i]) ;

g.setColor(Color.RED);

g.setFont(new Font("Tahoma", Font.ITALIC, 20));

g.drawString("YOUR SCORE:"+score, 10, 30);

}

@Override

public void run() {

while(true){

try{

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

y[i]++;

if(y[i] > LetterGame.frameHeight)

score -= 100;

if(y[i] > LetterGame.frameHeight){

x[i] = (int)(Math.random() * LetterGame.frameWidth);

y[i] = 0;

c[i] = (char)(Math.random() * 26 + 97);

}

}

Thread.sleep(30);

}catch(Exception e){};

repaint();

}

}

@Override

public void keyTyped(KeyEvent e) {

// TODO Auto-generated method stub

}

@Override

public void keyPressed(KeyEvent arg0) {

char inputChar = arg0.getKeyChar();

int maxY = -1, maxIndex = -1;

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

if(c[i] == inputChar){

if(y[i] > maxY){

maxY = y[i];

maxIndex = i;

}

}

}

if(maxIndex != -1){

c[maxIndex] = (char)(Math.random() * 26 + 97);

x[maxIndex] = (int)(Math.random() * LetterGame.frameWidth);

y[maxIndex] = 0;

score += 10;

}

else

score -= 100;

}

@Override

public void keyReleased(KeyEvent e) {

// TODO Auto-generated method stub

}

}

谢谢各位大神了,明天两节实验课就要写完检查,但是文件的操作我们还没讲多少,现在我一点都不知道要怎么才能实现这个存档功能,搜了很久也没明白...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值