如何修复开关盒

时间:2019-05-17 19:32:24

标签: c

我的工作是用C语言编写游戏,我在int main中插入的“ jogar”菜单中遇到问题,因此我必须在另一个菜单中实现一个菜单,如果复制了1个,则需要此菜单“ sair” matrizaux重新启动游戏,如果是2,则返回主菜单。

//Função código fonte.
int main() {

    geral matriz[VETORX][VETORY];
    geral matrizaux[VETORX][VETORY];
    int menu,jogada,vardirecao,posx,posy,i,j,sair=0;

    do{

        //Estrutura de controle do espaçamento.
        espaco(matriz,VETORX,VETORY);

        printf("Bem vindo ao Battle City CEFET!!!\n\n[1] Jogar.\n[2] Debug.\n[3] Lista de jogadores.\n[4] Sair.\n\nEscolha uma opcao: ");
        scanf("%d",&menu);

        switch(menu){
            case 1:
                //Estrutura de controle do espaçamento.
                espaco(matriz,VETORX,VETORY);

                zeraMatriz(matriz,VETORX,VETORY);
                geraLimite(matriz,VETORX,VETORY);
                geraReliquia(matriz,VETORX,VETORY);
                geraBloco(matriz,VETORX,VETORY);
                geraTijolos(matriz,VETORX,VETORY);
                tanqueOsorio(matriz,VETORX,VETORY);
                tanqueAbrams(matriz,VETORX,VETORY);
                tanqueCenturion(matriz,VETORX,VETORY);

                for(i=0;i<=VETORY;i++){
                    for(j=0;j<=VETORY;j++){
                        matrizaux[i][j].tipo = matriz[i][j].tipo;
                        matrizaux[i][j].vida = matriz[i][j].vida;
                        matrizaux[i][j].direcao = matriz[i][j].direcao;
                        matrizaux[i][j].sprite = matriz[i][j].sprite;
                    }
                }

                //Estrutura da jogada.
                do{

                    imprimeTabuleiro(matriz,VETORX,VETORY);

                    printf("[1] Movimentar o tanque.\n[2] Disparar.\n[3] Girar o tanque.\n[4] Sair.\n\nEscolha uma opcao: ");
                    scanf("%d",&jogada);

                    //menu jogada.
                    switch(jogada){

                        //Movimentar tanque principal.
                        case 1:
                            movimentoOsorio(matriz,VETORX,VETORY);
                            break;

                        //Dsparo do tanque.     
                        case 2:
                            break;

                        //Girar o tanque.   
                        case 3:
                            giraOsorio(matriz,VETORX,VETORY);
                            break;

                        //Sair. 
                        case 4:

                            //Estrutura de controle do espaçamento.
                            espaco(matriz,VETORX,VETORY);

                            imprimeTabuleiro(matriz,VETORX,VETORY);

                            printf("[1] Reiniciar fase.\n[2] Novo Jogo.\n\nEscolha uma opcao: ");
                            scanf("%d",&sair);

                            if(sair==1){

                                for(i=0;i<=VETORY;i++){
                                    for(j=0;j<=VETORY;j++){
                                        matriz[i][j].tipo = matrizaux[i][j].tipo ;
                                        matriz[i][j].vida = matrizaux[i][j].vida;
                                        matriz[i][j].direcao = matrizaux[i][j].direcao;
                                        matriz[i][j].sprite = matrizaux[i][j].sprite;
                                    }
                                }
                            }




                    }
                }
                while(sair != 2);

                break;

                case 2 :
                    break;      
        }
    }
    while(menu != 4);
    return 0;
}

0 个答案:

没有答案