试图在图形控制台中放置一个矩阵

时间:2016-07-26 11:55:00

标签: c matrix

我创建了一个随机矩阵,现在我尝试使用graphic_text函数将它放在图形控制台上,我在这里有这个代码,但它不起作用,我怎样才能使这个工作?此代码的主要目标是创建一个记忆游戏,因此矩阵中的数字必须保留在我创建的圆圈内。我读了一些关于隐藏我的int矩阵的东西,但是我不确定这是否是正确的做法。

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "pg/graphics.h"


#define MaxC 4
#define MaxL 5


void background (void)
  {
    graph_rect(0,0,400,480,graph_rgb(102,51,0),true);
    graph_rect(420,390,190,40,c_black,true);    
  }

void tabuleiro (void)
  {
    int n,k;
    for (k=0; k<5; k++) {
       for (n=0; n<4; n++){

           graph_circle (50+(95*n), 410-(90*k), 40, c_black,true);
                        }
                          }

graph_text(430,422,graph_rgb(255,255,255), "Novo Jogo", LARGE_FONT);

}

 void gerar_matriz(void){

    int na[10] = {0};
    int i=0,j=0,r;
    int n[MaxL][MaxC];
    srand(time(NULL));

    while(i<5){
        j=0;
       while(j<4){
         r=(rand()%10);

         if(na[r]<2){
            na[r]++;
            j++;
            n[i][j]=r;
            printf(" %3d ",n[i][j]);
        }
    }
    i++;
    printf("\n");

    }
}

void matriz_grafica(void){
      char n[MaxL][MaxC];
    gerar_matriz();

    for(int i=0;i<5;i++){
       for(int j=0;j<4;j++){
          char b= n[i][j];
          graph_text(50+(95*j), 410-(90*i), graph_rgb(255,255,255),b,LARGE_FONT);
    }
 }

 }

void restart(void)
 {
  graph_rect(0,0,GRAPH_WIDTH,GRAPH_HEIGHT, graph_rgb(250,250,250),true);
  graph_rect(0,0,320,480,graph_rgb(102,51,0),true);
  background();
  tabuleiro();
  gerar_matriz();
 }  


void myMouseEventHandler (MouseEvent mouse){

if(mouse.state==BUTTON_CLICK && mouse.button==BUTTON_LEFT){
  if (mouse.x<610 && mouse.x>420 && mouse.y<430 && mouse.y>390 )       
  {
    restart();
  }
}

}


int main (){

srand(time(NULL));
graph_init();
background();
tabuleiro();
gerar_matriz();
graph_regist_mouse_handler(myMouseEventHandler);
graph_start () ;


return 0;
}

0 个答案:

没有答案