如何在C(函数之间)中将数组嵌入到2D数组中?

时间:2015-04-16 13:58:34

标签: c arrays multidimensional-array wordsearch

所以这是我的第一篇文章。请放轻松!

我一直试图在命令提示符下创建一个简单的wordsearch风格游戏。我试图更好地理解指针和数组操作。我明白我需要某种形式的单词库,我可以存储不同的单词。然后我需要一种方法将它们嵌入到我的wordsearch中。

到目前为止,我已经能够创建一个可以生成随机字符的函数,并且我已经将它与另一个函数一起使用,以便生成一个12 x 12的2D数组(以服务器作为我的wordsearch的基础)。然后我有一个简单的循环打印出来。我用它来检查我的阵列是否正常工作。 (见下面的代码)

我现在需要一种方法,我可以将一个单词列表随机嵌入到2D数组中,其风格类似于wordsearch。显然,它们不需要重叠,应该朝不同方向定向。

想知道是否有人可以帮我实现一种将选择的单词嵌入到我的数组中的方法? Id我自己作为初学者请耐心等待:)

提前致谢!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char** myArray;

char * rand_char_gen( )
{
    char randChar = ' ';
    int randNum = 0;   
    randNum = 26 * (rand() / (RAND_MAX + 1.0));
    randNum = randNum + 97;
    randChar = (char) randNum; 
    return randChar;
}


char * generate_2D_array( )
{
    srand(time(NULL));
    char grid[12][12];
    char *p;
    p = *grid;
    int i, j;
    for (i = 0;i < 12; i++)
    {
        for (j = 0; j < 12; j++)
        {
                grid[i][j] = '.'; //rand_char_gen( );
        }
    }

    for (i = 0; i < 12; i++)
    {
        for (j = 0; j < 12; j++)
        {
          printf("%c  ", *p++);
        }
        printf("\n\n");
    }
    return grid;
}


Menu()
{            
            myArray = generate_2D_array( );

            printf("\nChoose a catagory: ");
            printf("\nPleease select your number of choice...");
            printf("\n1. Animals");
            printf("\n2. Colors");
            printf("\n3. Planets");
            printf("\n4. Weekdays");

            int valid = 0;
            while(valid == 0)
            {
                        printf("\n\nYour selection: ");
                        int catagory;
                        scanf("%d", &catagory);

                        if(catagory == 1)
                        {
                                    printf("\n\nPlaceholder\n");
                                    valid++;  
                        }
                        else if(catagory == 2)
                        {
                                    printf("\n\nPlaceholder\n");
                                    valid++;         
                        }
                        else if(catagory == 3)
                        {
                                    printf("\n\nPlaceholder\n");
                                    valid++;
                        }
                        else if(catagory == 4)
                        {
                                    printf("\n\nPlaceholder\n");
                                    valid++;
                        }
                        else if(catagory > 4)
                        {
                                    printf("\n\nInvalid input. Please select again.\n");                                    
                        }
                        else if(catagory < 1)
                        {
                                    printf("\n\nInvalid input. Please select again.\n");
                        }
            }                
}       

0 个答案:

没有答案