猜数字游戏(Java Swing 界面实现)

Java写的文曲星猜数字游戏,系统会自动生成一个4位且每一位都各不相同的数字,当你猜测该数字时有A和B两种提示信息,其中A代表所猜数字中有该数字且位置也正确,而B代表所猜数字仅有该数字但是位置不正确。当猜对全部数字时即闯关成功(即4A0B)。

输入一个四位数都不相同的数字,系统会自动检查是否匹配,如果不匹配,就会输出一个nAnB的提示,要求玩家再输入一个数字。

package com.xujin;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class Guess {	
	Scanner cin = new Scanner(System.in);
	public static void main(String...args){		
		Guess guess = new Guess();
		System.out.println("Welcome to the GuessNum game, enjoy it! ");
				
		//produce a new number which to guess.
		//利用一个ArrayList,随机在其中选取一个0~9的数,选完就在ArrayList中删除,然后继续在其中随机选取数字,直到4个全部选取完毕
		
		//initialize the ArrayList
		ArrayList<Integer> array = new ArrayList<Integer>();
		for(int i = 0; i < 10; i++)
			array.add(i);
		Random random = new Random();
		for(int i = 0; i < 4; i++){
			int singleNumIndex = random.nextInt(arrayRange--);			
			aimNum.add(array.get(singleNumIndex)); 
			array.remove(singleNumIndex);
		}
		
		//test if the guess number equals to the aim number.
		while(true){
			guess.input();
			if(aimNum.equals(guessNum)){
				System.out.println("congratulations! You make it!");
				break;
			}
			guess.output();
			guessNum.clear();
		}
	}
	
	private void input(){
		int inputNum = cin.nextInt();
		for(int i = 0; i < 4; i++){
			guessNum.add(0, inputNum%10);
			inputNum = inputNum/10;
		}
	}
	
	private void output(){
		for(int i = 0; i < 4; i++)
			if(aimNum.get(i) == guessNum.get(i))
				aCount++;
		
		for(int i: aimNum)
			for(int j: guessNum)
				if(i == j)
					bCount++;
		
		bCount -= aCount;		
		System.out.println(aCount + "A" + bCount + "B");
		aCount = 0;
		bCount = 0;
	}
	
	private static int seqNum = 0;
	private static int arrayRange = 10;  //上界,用于随机产生一个数组下标
	private static ArrayList<Integer> aimNum = new ArrayList<Integer>();	
	private static ArrayList<Integer> guessNum = new ArrayList<Integer>();
	private static int aCount = 0;
	private static int bCount = 0;
}


最近花时间把UI写了出来,界面如下,不好看,请见谅~~











源代码及install文件下载:http://download.csdn.net/detail/xujinsmile/5175683


版权声明:本文为xujinsmile原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。