A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大致的思路我已经想出来了,但是有个问题不知道如何用代码实现,请大神赐教
/*
需求:制作一个五子棋小游戏

思路:五子棋有两部分组成
一,棋子
1,棋子的位置可由二维数组来记录,二维数组里记录的是null,输入坐标后就改为某字符  
char[][] coord = char[][];每隔一个字符打印一个|线用来分割棋子,每行打印完毕用换行
用——来分割棋子

二,棋盘已经做好了
三,用while(true)循环,游戏结束就退出,while中内容:首先键盘录入坐标,在利用两个随机
数代替电脑下子,每次录入坐标或产生随机数后判断该位置是否为null,如果为null就找到对
应的棋子位置并分别用不同某字符替换人与电脑所下的位置的空字符,然后在判断是否
有五个相同字符棋子同在某一列或某一对角线,如果有并判断是电脑的棋子还是人的棋
子,如果是人则显示You Win并结束游戏,如果是电脑则显示You Lose,提问:如何判
断是否有五个相同字符棋子同在某一列或某一对角线呢?
*/
class WuZiQi {
        public static void main(String[] args) {
               
                char[][] coord = new char[10][30];
                for(int i = 0;i < coord.length;i ++ ) {//给数组赋值
                        for(int j = 0;j < coord[i].length;j ++ ) {
                                if(j % 2 == 1)
                                coord[i][j] = '|';
                                else
                                        coord[i][j] = (char)1;
                        }
                }

                for(int i = 0;i < coord.length;i ++ ) {//遍历一边,看看效果
                        for(int j = 0;j < coord[i].length;j ++ ) {       
                                System.out.print(coord[i][j]);
                        }
                        System.out.println();
                        for(int k = 0;k < 30;k ++ ){
                                System.out.print("-");
                        }
                        System.out.println();
                }
        }
}
/*提问:如何判
断是否有五个相同字符棋子同在某一列或某一对角线呢?
如果你有更好的方案,也可以写上来
*/

评分

参与人数 1黑马币 +10 收起 理由
大师兄与二师兄 + 10 赞一个!学习态度很好

查看全部评分

5 个回复

倒序浏览
用个count计数器怎么样,每下一个子后,遍历其所在行的数组,如果不为空就cont++,如果遇到空或遇上一个棋子不同的棋子就将count重置为零,遍历完后,如果count等于5则说明有五个相同字符棋子同在同一行,同样的就可以判断是否为同一列或同一对角线了
回复 使用道具 举报
挺有意思~好像也不需要多高端的语法~明天也写试试看~
回复 使用道具 举报
有空了可以想想,还是挺有意思的
回复 使用道具 举报
大师兄与二师兄 发表于 2015-11-9 22:41
用个count计数器怎么样,每下一个子后,遍历其所在行的数组,如果不为空就cont++,如果遇到空或遇上一个棋 ...

好像可以,待会去试试看
回复 使用道具 举报
1774055019 发表于 2015-11-10 21:14
好像可以,待会去试试看

但这个程序的电脑智商很低啊,因为电脑都是乱下的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马