0

我是 ICT 专业的一年级学位学生,我的作业要求我开发一个简单的糖果迷恋游戏。

所以我现在的问题是在程序初始化时打印围绕数字的标记(即"|"和)。"_"board[5][5]

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//FUNCTION: Draw the Board
int drawBoard()
{
    //Declare array size
    int board[9][9];

    //initialize variables
    int rows, columns, randomNumber, flag;

    //random number seed generator
    srand(time(NULL));

        for ( rows = 0 ; rows < 9 ; rows++ )
        {
            for ( columns = 0 ; columns < 9 ; columns++ )
            {
                flag = 0;

                do
               {
                    //generate random numbers from 2 - 8
                randomNumber = rand() %7 + 2;

                board[rows][columns] = randomNumber;

                //Checks for 2 adjacent numbers.
                if  ( board[rows][columns] == board[rows - 1][columns] || board[rows][columns] == board[rows][columns - 1] )
                    {
                        flag = 0;
                        continue;
                    }

                else
                     {
                        flag = 1;
                        printf( "  %d  ", board[rows][columns] );
                     }

                } while ( flag == 0 );

            }//end inner for-loop

            printf("\n\n");
        }//end outer for-loop

marker();
}//end FUNCTION drawBoard

//FUNCTION: Mark the surrounding of the number with "|" and "_" at board[5][5]
void marker()
{
    printf( " _ \n" );
    printf( "|%c|\n", a );
    printf( " _ \n" );   
}

int main()
{
    drawBoard();
}

所以......是的,我被困在这部分:

printf( "%c" , drawBoard(board[5][5]) );
printf( "\n\n%c" , drawBoard( board[5][5]) );

好吧,我想我只是在功能上很弱。我想创建一个i.e void marker()可以在函数中调用的单独函数(),drawBoard然后具有marker()标记坐标处数字周围区域的函数board[5][5]

我是否以错误的方式思考和做事?请指教。

山姆

编辑1:感谢您的帮助黑客!是的,我想我现在了解了函数的基本用法。剩下的问题是,即使我marker( board[5][5] )从调用drawBoard(),标记的打印也不会发生在放置在 board[5][5] 中的数字上。

印制板后印制记号笔。知道为什么会这样吗?右边应该打印在坐标 [5][5] :/

4

1 回答 1

0

你的marker功能是错误的。您正在使用board[5][5]此函数(在 中声明drawBoard)而不传递给它。
你可以这样做
标记(板[5][5]);// 从 drawBoard() 调用

  void marker(int a)
  {
      printf( " _ \n");
      printf( "|%c|\n" , a );
      printf( " _ \n");
  }
于 2013-10-23T16:45:40.383 回答