编写一个程序求解字谜游戏问题
Posted mufeng07
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写一个程序求解字谜游戏问题相关的知识,希望对你有一定的参考价值。
问题描述:输入是由一些字母和单词构成的二维数组,目标是找出字谜中的单词,这些单词可以是水平、垂直或沿对角线以任何方向放置。
编写一个程序求解字谜游戏问题
t h i s 找出 this、two、fat、that
w a t s
o a h g
f g d t
分析:方向有8种
1从左到右 2从右到左
3从上到下 4从下到上
5从左上到右下 6从右下到左上
7从左下到右上 8从右上到坐下
已经头皮发麻
/** * @description: 问题描述:输入是由一些字母和单词构成的二维数组,目标是找出字谜中的单词,这些单词可以是水平、垂直或沿对角线以任何方向放置。 * 编写一个程序求解字谜游戏问题 * t h i s 找出 this、two、fat、that * w a t s * o a h g * f g d t 分析:方向有8种 1从左到右 2从右到左 3从上到下 4从下到上 5从左上到右下 6从右下到左上 7从左下到右上 8从右上到坐下 已经头皮发麻 * @return: void * @author: mufeng * @time: 2020/4/25 10:37 */ @Test public void test3(){ String[] words={"this","two","fat","that","dgf"}; char[][] two_dimensional_char={{‘t‘,‘h‘,‘i‘,‘s‘},{‘w‘,‘a‘,‘t‘,‘s‘},{‘o‘,‘a‘,‘h‘,‘g‘},{‘f‘,‘g‘,‘d‘,‘t‘}}; findWords(two_dimensional_char,words); } private void findWords(char[][] two_dimensional_char, String[] words) { //1从左到右 //2从右到左 for(int x=0;x<two_dimensional_char.length;x++){ StringBuilder lr=new StringBuilder(); StringBuilder rl=new StringBuilder(); //1从左到右 for(int y=0;y<two_dimensional_char[x].length;y++){ lr.append(two_dimensional_char[x][y]); } //2从右到左 for(int y=two_dimensional_char[x].length-1;y>=0;y--){ rl.append(two_dimensional_char[x][y]); } for(int i=0;i<words.length;i++){ //1从左到右 if(lr.toString().contains(words[i])){ System.out.print(words[i]); int i1 = lr.toString().indexOf(words[i]); for(int z=i1;z<words[i].length();z++){ System.out.print("["+x+","+z+"]"); } System.out.println(); } //2从右到左 if(rl.toString().contains(words[i])){ System.out.print(words[i]); int i1 = rl.toString().indexOf(words[i]); for(int z=rl.length()-1-i1;z>=0;z--){ System.out.print("["+x+","+z+"]"); } System.out.println(); } } } //5从左上到右下 6从右下到左上(简单) //7从左下到右上 8从右上到坐下(简单) //3从上到下 4从下到上 // 对角线翻转,打印需要旋转之前的 tochar(two_dimensional_char); } public char[][] tochar(char[][] chars){ char[][] toarr=new char[chars.length][chars.length]; int k=0; for(char[] x:chars){ for(int i=0;i<x.length;i++){ toarr[i][k]= chars[k][i]; } k++; } return toarr; }
代码还未写完,思路已经很明确
以上是关于编写一个程序求解字谜游戏问题的主要内容,如果未能解决你的问题,请参考以下文章