我创建了一个随机矩阵,现在我尝试使用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;
}