一个五子棋的小程序

写了一半 现在只能下棋 还不能判断

package day04;
import java.util.Scanner;
public class FiveChess {
 
public static void main(String[] args) {
  
char[][] state=new char[14][14];
  
for(int i=0;i<state.length;i++){
   
for(int j=0;j<state[i].length;j++){
    state[i][j]
='*';
   }

  }

  
boolean isBlack=true;//当前是黑方下子
  Scanner sca=new Scanner(System.in);
  printState(state);
  
while(true){
   System.out.println(
""+(isBlack?"":"")+"方下子:");
   String input
=sca.next();
   
if(input.equals("exit")){
    
break;
   }

   
int x=input.charAt(0)-'a';
   
int y=input.charAt(1)-'a';
   
if(state[x][y]=='@' || state[x][y]=='O'){//该位置已经有棋子了
    System.out.println("该位置已经有棋子,请重新指定坐标!");
    
continue;
   }

   state[x][y]
=(isBlack?'@':'O');
   printState(state);
   
if(isWin(state,isBlack,x,y)){
    System.out.println((isBlack
?"":"")+"方获胜!");
    
break;
   }

   isBlack
=!isBlack;
  }

 }

 
 
public static void printState(char[][] state){
  
for(int i=0;i<state.length;i++){//输出每一行的内容
   System.out.print((char)('a'+i)+"   ");//输出行坐标(左边的字母)
   for(int j=0;j<state[i].length;j++){//输出该行的内容
    System.out.print(state[i][j]+"  ");
   }

   System.out.print(
"\n");//输出换行符
  }

  
  System.out.print(
"    ");//输出第一行开头的空格
  for(int i=0;i<state[0].length;i++){//输出第一行的所有字母
   System.out.print((char)('a'+i)+"  ");
  }

  System.out.print(
"\n");//输出换行符
 }

 
 
public static boolean isWin(char[][] state,boolean isBlack,int x,int y){
  
//char c=isBlack?'@':'O';
  return isShuipingWin(state,isBlack,x,y) || isChuizhiWin(state,isBlack,x,y) ||
  isZuoXieWin(state,isBlack,x,y) 
|| isYouXieWin(state,isBlack,x,y);
 }

 
 
public static boolean isShuipingWin(char[][] state,boolean isBlack,int x,int y){
  
//?????
  return false;
 }

 
    
public static boolean isChuizhiWin(char[][] state,boolean isBlack,int x,int y){
  
//?????
     return false;
 }

    
    
public static boolean isZuoXieWin(char[][] state,boolean isBlack,int x,int y){
  
//??????
     return false;
 }


    
public static boolean isYouXieWin(char[][] state,boolean isBlack,int x,int y){
     
//??????
     return false;
    }

 
}

 

 

 


 

posted on 2008-08-23 10:34 姜波 阅读(253) 评论(0)  编辑  收藏 所属分类: java 代码


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

website

搜索

最新评论

阅读排行榜

评论排行榜