自己用java写的猜数字游戏!
2009-08-18 22:09
267 查看
在控制台进行操作,还没实现界面化
package guessGame;
import java.util.*;
import java.io.*;
public class GuessDigit {
private ArrayList<Integer> digitArray ;
private boolean flag = true;
private static final int SIZE = 4;
private static int count = 7;
public GuessDigit(){
this(GuessDigit.count);
}
public GuessDigit(int count){
GuessDigit.count = count;
digitArray = new ArrayList<Integer>(SIZE);
Random r = new Random();
int n = 0;
while(n < SIZE){
int i = r.nextInt(10);
if(!digitArray.contains(i)){
digitArray.add(n, i);
n ++;
}
}
System.out.println("请输入4个不同的数字,你一共有"+count+"次机会:");
}
public String toString(){
String s = "";
for(int i = 0; i < digitArray.size(); i ++){
s += digitArray.get(i);
}
return s;
}
private void campare(String s){
String array = toString();
int A = 0, B = 0;
char c1, c2;
for(int i = 0 ;i < SIZE; i ++){
c1 = array.charAt(i);
c2 = s.charAt(i);
if(c1 == c2){
A ++;
}else if(array.indexOf(c2) != -1)
B ++;
}
System.out.println(s + " " + A + "A" + B + "B");
if(A == SIZE){
System.out.println("恭喜你猜对了!数字是" + this);
flag = false;
}
if(--count == 0 && A < SIZE ){
System.out.println("已达到规定次数,数字是:"+this);
flag = false;
}
}
public void getConsole() throws IOException{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
String s ;
boolean repeat;
int i;
while(flag){
s = stdin.readLine();
repeat = false;
i = 0;
if(s.matches("//d{4}")){
while(!repeat && i < SIZE-1){
if(s.lastIndexOf(s.charAt(i)) != i){
System.out.println("请输入4不同的数字:");
repeat = true;
}
i ++;
}
if(!repeat)
campare(s);
}else
System.out.println("请检查输入值的格式:");
}
}
public static void main(String[] args) throws IOException {
GuessDigit g = new GuessDigit(); ;
//System.out.println(g);
g.getConsole();
}
}
package guessGame;
import java.util.*;
import java.io.*;
public class GuessDigit {
private ArrayList<Integer> digitArray ;
private boolean flag = true;
private static final int SIZE = 4;
private static int count = 7;
public GuessDigit(){
this(GuessDigit.count);
}
public GuessDigit(int count){
GuessDigit.count = count;
digitArray = new ArrayList<Integer>(SIZE);
Random r = new Random();
int n = 0;
while(n < SIZE){
int i = r.nextInt(10);
if(!digitArray.contains(i)){
digitArray.add(n, i);
n ++;
}
}
System.out.println("请输入4个不同的数字,你一共有"+count+"次机会:");
}
public String toString(){
String s = "";
for(int i = 0; i < digitArray.size(); i ++){
s += digitArray.get(i);
}
return s;
}
private void campare(String s){
String array = toString();
int A = 0, B = 0;
char c1, c2;
for(int i = 0 ;i < SIZE; i ++){
c1 = array.charAt(i);
c2 = s.charAt(i);
if(c1 == c2){
A ++;
}else if(array.indexOf(c2) != -1)
B ++;
}
System.out.println(s + " " + A + "A" + B + "B");
if(A == SIZE){
System.out.println("恭喜你猜对了!数字是" + this);
flag = false;
}
if(--count == 0 && A < SIZE ){
System.out.println("已达到规定次数,数字是:"+this);
flag = false;
}
}
public void getConsole() throws IOException{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
String s ;
boolean repeat;
int i;
while(flag){
s = stdin.readLine();
repeat = false;
i = 0;
if(s.matches("//d{4}")){
while(!repeat && i < SIZE-1){
if(s.lastIndexOf(s.charAt(i)) != i){
System.out.println("请输入4不同的数字:");
repeat = true;
}
i ++;
}
if(!repeat)
campare(s);
}else
System.out.println("请检查输入值的格式:");
}
}
public static void main(String[] args) throws IOException {
GuessDigit g = new GuessDigit(); ;
//System.out.println(g);
g.getConsole();
}
}
相关文章推荐
- [置顶] 推广下自己的JAVA开源游戏服务端框架
- java猜数字,一个简单的游戏
- 用java的swing框架自己写贪吃蛇游戏
- java 自己搭建简单游戏框架(适合有想法却无法入手的新手。)
- java编写的猜数字游戏
- do-while循环详解应用以及猜数字小游戏制作【走进JAVA-2.3】
- 自己用java弄的一个贪吃蛇游戏
- java速度入四.文件的基本操作及猜数字游戏的实现
- Java用GUI实现猜数字的游戏
- java语言的猜数字游戏代码
- 干了半年的java Web,知道自己特别喜欢游戏开发,那就去干吧
- JAVA实现简单的猜数字游戏
- IGFrame~自己写的Java2D游戏小架子
- 新来的,发个自己写的JAVA开窗户游戏
- Java实现猜数字游戏 数字区间1-10
- Java 中构建自己的异常类
- Java开发的第一个游戏
- Java Chaos Game噪声游戏实例代码
- Java程序员从笨鸟到菜鸟之(九十九)深入java虚拟机(八)开发自己的类加载器