⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myguessgame.java

📁 eclipse开发入门与提高的全部源码
💻 JAVA
字号:
/**
 * 2005-8-28
 */
package game;

import javax.swing.*;
import java.awt.event.*;
import java.io.*;


/**
 * @author jenny
 */
public class MyGuessGame extends JFrame implements ActionListener{
	
	JTextField tf = new JTextField();
	JButton b1 = new JButton("开局");
	JLabel jl = new JLabel();
	int m;//存放随机数变量
	int count; //存放猜数次数变量
	int oldNumber; //存放原有纪录次数变量
	boolean isEnd; //标志是否破纪录变量
	
	public MyGuessGame(){
		b1.setActionCommand("start");		
		JPanel p = new JPanel();
		p.add(b1);						
		b1.addActionListener(this);
		tf.addActionListener(this);
		tf.setEnabled(false);		
		this.getContentPane().add(tf,"North");
		this.getContentPane().add(jl);
		this.getContentPane().add(p,"South");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(300,200);
		this.setLocation(300,300);
		this.setVisible(true);	
	}
	
	public int getNumber(){
		int m = (int)(Math.random() * 100) + 1;//产生1~100之间的随机整数
		return m;
	}

	public void actionPerformed(ActionEvent e) {
		String s = e.getActionCommand();
		int n = 0; //存放用户所猜数字的变量
		if(s.equals("start")){
			isEnd = false;
			count = 0;
			m = this.getNumber();
			System.out.print(m);
			b1.setEnabled(false);
			tf.setEnabled(true);
			jl.setText("请输入1-100之间您猜的数");
			tf.requestFocus();
			oldNumber = readRecord();			
		}else{						
			if(!isEnd){  //控制是否结束存储完记录的标志位变量
				count++;
				String sn = tf.getText();
				try{
					n = Integer.parseInt(sn);
				}catch(NumberFormatException e1){
					jl.setText("请输入数字");
					return;
				}						
			
				if(n < m){
					jl.setText("您猜的数偏小");
					return;
				}else if(n > m){
					jl.setText("您猜的数偏大");
					return;
				}else{
					jl.setText("恭喜您猜对了,所花次数为" + count);
					tf.setText("");
					b1.setEnabled(true);
					if(oldNumber > count){					
						jl.setText("您破记录了,请在文本框输入您的姓名");
						isEnd = true;					
					}
				}
			}else{				
					String name = tf.getText();
					this.saveRecord(name,count);
					jl.setText("您的记录已经记录在册,继续努力!");
					tf.setText("");
					b1.setEnabled(true);
				
			}			
			
		}

	}
	
	public void saveRecord(String name,int count){
		File  f1 = new File("record.txt");
		try{
			FileWriter fout = new FileWriter(f1);
			PrintWriter bw = new PrintWriter(fout);
			bw.println(count);
			bw.println(name);
			bw.close();
			fout.close();
		}catch(java.io.FileNotFoundException e){			
		}catch(IOException e){			
		}
	}
	
	public int readRecord(){
		int count = 100;
		File  f1 = new File("record.txt");
		try{
			FileReader fin = new FileReader(f1);
			BufferedReader br = new BufferedReader(fin);
			String s = br.readLine();
			count = Integer.parseInt(s);
			br.close();
			fin.close();
		}catch(java.io.FileNotFoundException e){			
		}catch(IOException e){			
		}
		return count;
	}
	
	public static void main(String[] args) {
		new MyGuessGame();
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -