コード例 #1
0
void menu(BITMAP* buffer, BITMAP* affiche[15][19], char mot[50]){
    int x=1,i,j;
    BITMAP* ecran_noir;
    BITMAP* sauvegarde[15][19];
    BITMAP* ecran_selec;
    int valeurs[15][19];
    int line;
    ecran_noir= create_bitmap(192+5*32, 160);
    ecran_selec= create_bitmap(192+5*32, 160);
    clear_to_color(ecran_noir, makecol(0, 0, 0));
    textprintf_ex(ecran_noir, font, 0, LIGNE, makecol(255,255,255),-1, "Que souhaitez-vous faire?");
    textprintf_ex(ecran_noir, font, 0, 2*LIGNE+3, makecol(255,255,255),-1, "'dessin' pour commencer a dessiner");
    textprintf_ex(ecran_noir, font, 0, 3*LIGNE+3, makecol(255,255,255),-1, "'aide' pour voir l'aide au dessin!important!");
    blit(ecran_noir, ecran_selec, 0,0,0,0, 192+5*32, 160 );
    line=4;
     affiche[0][0]=load_bitmap("mur.bmp", NULL);
    for (i=0; i<15; i++)
    {
        for(j=0; j<19; j++){
                valeurs[i][j]=-2;
                printf("%d",valeurs[i][j]);
                affiche[i][j]=affiche[0][0];
                if (affiche[i][j]!=NULL) draw_sprite(buffer, affiche[i][j], TSPRITE*j, TSPRITE*i);
        }
        printf("\n");
    }
     draw_sprite(buffer, ecran_noir, 192-2*32, 160);
    blit(buffer, screen,0,0,0,0, 21*TSPRITE, 15*TSPRITE);
    while(x)
    {
    i=0;
    j=0;
    for (i=0; i<15; i++)
    {
        for(j=0; j<19; j++)
            {

                sauvegarde[i][j]=affiche[i][j];
            }
    }
            worst_writing_ever(mot, buffer, ecran_noir, line, affiche);
            if (strcmp(mot, "dessin"))
            {
                if (strcmp(mot, "aide"))
                {
               allegro_message("ce n'est pas une entree valable");
                }
                else
                {
                    clear_to_color(ecran_noir, makecol(0,0,0));
                    textprintf_ex(ecran_noir, font, 0, LIGNE+3, makecol(255,255,255),-1, "Afin de dessiner un niveau cliquez sur les cases.");
                    textprintf_ex(ecran_noir, font, 0, 2*(LIGNE+3), makecol(255,255,255),-1, "un clic gauche fais afficher la possibilité suivante");
                    textprintf_ex(ecran_noir, font, 0, 3*(LIGNE+3), makecol(255,255,255),-1, "un clic droit met une glace a l'emplacement indiqué");
                    textprintf_ex(ecran_noir, font, 0, 4*(LIGNE+3), makecol(255,255,255),-1, "appuyez sur entree quand vous avez terminé");
                    textprintf_ex(ecran_noir, font, 0, 5*(LIGNE+3), makecol(255,255,255),-1, "Ce jeu n'est pas multijoueur! poser deux joueurs se soldera par un echec dans l'execution du niveau");
                    textprintf_ex(ecran_noir, font, 0, 6*(LIGNE+3), makecol(255,255,255),-1, "Les teleporteurs vont pas paires et sont liés dans l'ordre dans le quel vous les implémentez!");
                    textprintf_ex(ecran_noir, font, 0, 7*(LIGNE+3), makecol(255,255,255),-1, "une seule sortie ou tunnel!! Le tunnel eclipsera la sortie le cas échéant mais plusieurs d'entre eux conduiront a un échec");
                    textprintf_ex(ecran_noir, font, 0, 8*(LIGNE+3), makecol(255,255,255),-1, "Soyez créatifs!!!");
                }
            }
            else
            {
                editeur_de_case(affiche, valeurs);
                buffer=affiche_buffer(affiche);
                draw_sprite(buffer, ecran_noir, 192-2*32, 160);
                blit(buffer, screen,0,0,0,0, 21*TSPRITE, 15*TSPRITE);
                x=menu_oui_non(buffer, "dessin");
                line++;
                if(x==0)
                {
                    clear_to_color(ecran_noir, makecol(0,0,0));
                    textprintf_ex(ecran_noir, font, 0, 0, makecol(255,255,255),-1, "entrez le nom de votre niveau");
                    worst_writing_ever(mot, buffer, ecran_noir, 1, affiche);
                    if (sauvegarde_niveau(valeurs, mot));
                    else
                    {
                        allegro_message("niveau enregistre!");
                        x=0;
                    }
                }
                else
                {

                        for (i=0; i<15; i++)
                            {
                                for(j=0; j<19; j++)
                                    {
                                        affiche[i][j]=sauvegarde[i][j];
                                    }
                            }
                }
            }
            blit(ecran_selec, ecran_noir, 0,0,0,0, 192+5*32, 160 );
        }
    }
コード例 #2
0
ファイル: main.c プロジェクト: zeldrone/finn_ice_info
int main()//Preparation du menu du PRJ01
{
    int x=0;
    int score=0, niveau=0;
    char imput [50];
    int mode_graphique=0, mode_son=0;
    FILE* fichier_score;
    fichier_score= fopen("scores.txt", "r+");

    while (x==0)//Infini au cas ou l'utilisateur n'ecrit pas qq chose de correct
    {
        printf("\t\t\t MENU \n");
            printf("\tMettez la console en PLEIN ECRAN\n");
            printf ("\t    Ecrivez sans fautes d'orthographe! \n");
            printf ("Ecrivez 'jouer' pour commencer a jouer ! \n");
            printf ("Ecrivez 'reprendre' pour reprendre votre partie sauvegardee ! \n");
            printf ("Ecrivez 'tutoriel' si vous jouez pour la premiere fois ! \n");
            printf ("Ecrivez 'options' pour modifier vos options ! \n");
            printf ("Ecrivez 'quitter' pour quitter le jeu !\n");

                scanf ("%s",imput);
                if (strcmp (imput,"jouer")==0)
                    {
                        getconsole_size();
                            if (mode_graphique!=0)
                            {
                            // si c'est le premier niveau joué

                                    // on initiallise allegro
                                    allegro_init();
                                    // on initialise le mode couleur
                                    set_color_depth(16);
                                    // on installe le clavier
                                    install_keyboard();
                                    // on démarre le mode graphique
                                    set_gfx_mode(GFX_AUTODETECT_WINDOWED, 19*TSPRITE, 15*TSPRITE,0,0);

                            }
                            for(niveau=0; niveau<5; niveau++)
                            {
                                switch(jeu_graphique(niveau, &score, mode_graphique, NULL))
                                {
                                    case 1: niveau--;
                                    break;
                                    case 3: niveau=5;

                                    //si l'utilisateur rentre le bon trucs, appelle la fonction
                                    x++;
                                }
                            }
                            if (mode_graphique)
                            {
                                BITMAP* buffer;
                                buffer=create_bitmap(TSPRITE*19, TSPRITE*15);
                                clear_to_color(buffer);
                                if(menu_oui_non(buffer, "score"));
                                else
                                {
                                    textprintf_ex(buffer, font, 192-2*32, 160);

                                }


                            }

                    }
                else if (strcmp (imput,"reprendre")==0)
                    {
                    jeu_graphique(5, &score, mode_graphique, NULL);
                    x++;
                    }
                else if (strcmp (imput, "tutoriel")==0)
                    {
                        strcat(imput, ".txt");
                        jeu_graphique(0, &score, mode_graphique, imput);
                        system("cls");

                    }
                else if (strcmp (imput, "scores")==0)
                    {
                    fonction_scores;
                    x++;
                    }
                else if (strcmp (imput, "options")==0)
                    {
                    fonction_options(&score, &mode_graphique, &mode_son);
                    system("cls");
                    }
                else if (strcmp (imput, "quitter")==0)
                    {
                    return 0;
                    }
                else if (strcmp (imput, "admin")==0)
                    {
                    fonction_admin(mode_graphique, &score);
                    x++;
                    }
                else if(strcmp (imput, "editer")==0)
                    {
                       level_editor();
                    }
                else if(strcmp (imput, "niveaux")==0)
                {
                    mes_niveaux(&score, mode_graphique);
                }
                else
                {
                    printf ("Ce n'est pas un choix correct, veuillez recommencer\n");
                    Sleep(500);

                }
    }
    return 0;
} END_OF_MAIN();