Declaration limitée de variables

Fermé
LozziAli - 30 janv. 2015 à 17:01
 JwTdd - 31 janv. 2015 à 14:02
Bonjour,

Je n'arrive plus à déclarer de nouvelles variables dans mon code. je travaille avec la bibliothèque SDL.

Le code marche bien, dès que je déclare une variable nouvelle, le programme ne se lance pas ... Or si je supprime une variable et que je déclare la nouvelle, ça marche toujours.

Je ne sais pas si le nombre de déclarations est limité (ça m'étonnerai ...) ou si c'est un erreur de codage ...

Voici mon code du Main UNIQUEMENT, (Illisible je suppose).

Et Merci d'avance pour votre aide.
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_ttf.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <time.h>
#include <iostream>
#include <windows.h>
#include "NIM.h"




int main ( int argc, char** argv )
{
    //----------------------------------------------
    Bouton **MenueP(NULL);

    Bouton ***MenueS(NULL);

    Bouton **IGMenue(NULL);

    SDL_Surface **BG(NULL);

    SDL_Rect zeropos(Pos(0,0));

    Uint32* MenuePStart(NULL);

    Uint32** MenueSStart(NULL);

    Uint32 ThisMoment;

    Uint32 BGMotionStart;

    Uint32 Start;

    //FILE* DetectErrors(NULL);

    FILE* Matches;

    int CurrentFrame(0);

    int i;

    int j(0);

    int SelectedDiff(0);

    int SelectedNum(0);

    int Reclick(1);

    int GameStart(1);

    int desactive(1);

    int Menue(1);

    char* BGFile;

    char* NChaine;

    SDL_Event event;

    //----------------------------------------------

    MenueP = (Bouton**)malloc(5*sizeof(Bouton*));
    MenuePStart = (Uint32*)malloc(5*sizeof(Uint32));
    BGFile = (char*)malloc(10*sizeof(char));
    BG = (SDL_Surface**)malloc(280*sizeof(SDL_Surface*));
    MenueS = (Bouton***)malloc(3*sizeof(Bouton**));
    MenueS[0] = (Bouton**)malloc(3*sizeof(Bouton*));
    MenueS[1] = (Bouton**)malloc(30*sizeof(Bouton*));
    MenueS[2] = (Bouton**)malloc(4*sizeof(Bouton*));
    MenueSStart = (Uint32**)malloc(3*sizeof(Uint32*));
    MenueSStart[0] = (Uint32*)malloc(3*sizeof(Uint32));
    MenueSStart[1] = (Uint32*)malloc(40*sizeof(Uint32));
    MenueSStart[2] = (Uint32*)malloc(4*sizeof(Uint32));
    IGMenue = (Bouton**)malloc(2*sizeof(Bouton*));

    //----------------------------------------------

    //DetectErrors = fopen("DetectErrors.txt","w");

    //----------------------------------------------

    SDL_Init( SDL_INIT_VIDEO );
    TTF_Init();

    //----------------------------------------------

    atexit(SDL_Quit);


    SDL_Surface* screen = SDL_SetVideoMode(1280, 720, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);

    //----------------------------------------------


    MenueP[0] = Balloc(MenueP[0],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Single Player","Data/Fonts/georgia.ttf",20,0,0,0,-300,400,1);
    MenueP[1] = Balloc(MenueP[1],0,0,"Data/Images/MenueButton.jpg",0,0,0,"MultiPlayer","Data/Fonts/georgia.ttf",20,0,0,0,-300,460,1);
    MenueP[2] = Balloc(MenueP[2],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Settings","Data/Fonts/georgia.ttf",20,0,0,0,-300,520,1);
    MenueP[3] = Balloc(MenueP[3],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Credits","Data/Fonts/georgia.ttf",20,0,0,0,-300,580,1);
    MenueP[4] = Balloc(MenueP[4],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Exit","Data/Fonts/georgia.ttf",20,0,0,0,-300,640,1);

    MenueS[0][0] = Balloc(MenueS[0][0],0,0,"Data/Images/DiffButton.jpg",0,0,0,"Easy","Data/Fonts/georgia.ttf",20,0,0,0,-1080 + 330,340,1);
    MenueS[0][1] = Balloc(MenueS[0][1],0,0,"Data/Images/DiffButton.jpg",0,0,0,"Medium","Data/Fonts/georgia.ttf",20,0,0,0,-1080 + 530,340,1);
    MenueS[0][2] = Balloc(MenueS[0][2],0,0,"Data/Images/DiffButton.jpg",0,0,0,"Hard","Data/Fonts/georgia.ttf",20,0,0,0,-1080 + 730,340,1);
    for(i=0;i<30;i++)
    {
        sprintf(NChaine,"%d",i+11);
        MenueS[1][i] = Balloc(MenueS[1][i],0,0,"Data/Images/Number.jpg",0,0,0,NChaine,"Data/Fonts/georgia.ttf",16,200,200,200,-25*(i+1),466,1);
    }
    MenueS[2][0] = Balloc(MenueS[2][0],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Difficulty","Data/Fonts/georgia.ttf",20,0,0,0,-1080,350,1);
    MenueS[2][1] = Balloc(MenueS[2][1],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Number of Matches","Data/Fonts/georgia.ttf",20,0,0,0,-25*40 - 330,450,1);
    MenueS[2][2] = Balloc(MenueS[2][2],0,0,"Data/Images/DeadMenueButton.jpg",0,0,0,"Start","Data/Fonts/georgia.ttf",20,0,0,0,-1080,550,1);
    MenueS[2][3] = Balloc(MenueS[2][3],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Main Menue","Data/Fonts/georgia.ttf",20,0,0,0,-1080,650,1);

    IGMenue[0] = Balloc(IGMenue[0],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Burn","Data/Fonts/georgia.ttf",20,0,0,0,600,650,1);
    IGMenue[1] = Balloc(IGMenue[1],0,0,"Data/Images/MenueButton.jpg",0,0,0,"Main Menue","Data/Fonts/georgia.ttf",20,0,0,0,930,650,1);

    //----------------------------------------------


    //----------------------------------------------

    for(i = 0;i<=140;i++)
    {
        /*if(i<10)
            sprintf(BGFile,"Data/Images/BGMotion/BG000%d.jpg",i);
        else if(i<100)
            sprintf(BGFile,"Data/Images/BGMotion/BG00%d.jpg",i);
        else if(i<1000)
            sprintf(BGFile,"Data/Images/BGMotion/BG0%d.jpg",i);*/
        sprintf(BGFile,"Data/Images/BGMotion/BG%d.jpg",i);
        BG[i] = IMG_Load(BGFile);
    }

    //----------------------------------------------

    BGMotionStart = SDL_GetTicks();
    Start = BGMotionStart + 3000;

    //----------------------------------------------


    bool done = false;
    while (!done)
    {
        //----------------------------------------------

        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
            case SDL_QUIT:
                done = true;
                break;
            case SDL_KEYDOWN:
                {
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                        done = true;
                    break;
                }
            }
        }

        if(Menue == 1)
        {
            for(i=0;i<5;i++)
            {
                if(BSelect(MenueP[i],event))
                {
                    SDL_FreeSurface(MenueP[i]->SF);
                    MenueP[i]->SF = IMG_Load("Data/Images/ActiveMenueButton.jpg");
                    if(event.type == SDL_MOUSEBUTTONDOWN)
                    {
                        switch(i)
                        {
                        case 0:
                            {
                                GameStart = 2;
                                Menue = 2;
                                Start = SDL_GetTicks();
                                MenueP[0]->motion = 1;
                                MenueP[1]->motion = 1;
                                MenueP[2]->motion = 1;
                                MenueP[3]->motion = 1;
                                MenueP[4]->motion = 1;
                                for(i=0;i<3;i++)
                                    MenueS[0][i]->motion = 1;
                                for(i=0;i<30;i++)
                                    MenueS[1][i]->motion = 1;
                                for(i=0;i<4;i++)
                                    MenueS[2][i]->motion = 1;
                            }break;
                        case 4:
                            {
                                done = true;
                            }
                        }
                    }
                }
                else
                {
                    SDL_FreeSurface(MenueP[i]->SF);
                    MenueP[i]->SF = IMG_Load("Data/Images/MenueButton.jpg");
                }
            }
        }

        if(Menue == 2)
        {
            for(i=0;i<3;i++)
            {
                if(BSelect(MenueS[0][i],event))
                {
                    if(SelectedDiff != i+1)
                    {
                        SDL_FreeSurface(MenueS[0][i]->SF);
                        MenueS[0][i]->SF = IMG_Load("Data/Images/ActiveDiffButton.jpg");
                    }
                    if(event.type == SDL_MOUSEBUTTONDOWN && Reclick == 1)
                    {
                        SDL_FreeSurface(MenueS[0][i]->SF);
                        MenueS[0][i]->SF = IMG_Load("Data/Images/SelectedDiffButton.jpg");
                        if(SelectedDiff != 0)
                        {
                            SDL_FreeSurface(MenueS[0][SelectedDiff-1]->SF);
                            MenueS[0][SelectedDiff-1]->SF = IMG_Load("Data/Images/DiffButton.jpg");
                        }
                        SelectedDiff = i+1;
                        Reclick = 0;
                    }
                    if(event.type == SDL_MOUSEBUTTONUP)
                        Reclick = 1;
                }
                else if(SelectedDiff != i+1)
                {
                    SDL_FreeSurface(MenueS[0][i]->SF);
                    MenueS[0][i]->SF = IMG_Load("Data/Images/DiffButton.jpg");
                }
                if(SelectedDiff != 0 && SelectedNum != 0)
                {
                    SDL_FreeSurface(MenueS[2][2]->SF);
                    MenueS[2][2]->SF = IMG_Load("Data/Images/MenueButton.jpg");
                    desactive = 0;
                }
            }
            for(i = 0;i<30;i++)
            {
                if(BSelect(MenueS[1][i],event))
                {
                    if(SelectedNum != i+11)
                    {
                        SDL_FreeSurface(MenueS[1][i]->SF);
                        MenueS[1][i]->SF = IMG_Load("Data/Images/ActiveNumber.jpg");
                    }
                    if(event.type == SDL_MOUSEBUTTONDOWN && Reclick == 1)
                    {
                        SDL_FreeSurface(MenueS[1][i]->SF);
                        MenueS[1][i]->SF = IMG_Load("Data/Images/SelectedNumber.jpg");
                        if(SelectedNum != 0)
                        {
                            SDL_FreeSurface(MenueS[1][SelectedNum-11]->SF);
                            MenueS[1][SelectedNum-11]->SF = IMG_Load("Data/Images/Number.jpg");
                        }
                        SelectedNum = i+11;
                        Reclick = 0;
                    }
                    if(event.type == SDL_MOUSEBUTTONUP)
                        Reclick = 1;
                }
                else if(SelectedNum != i+11)
                {
                    SDL_FreeSurface(MenueS[1][i]->SF);
                    MenueS[1][i]->SF = IMG_Load("Data/Images/Number.jpg");
                }
            }
            if(BSelect(MenueS[2][2],event) && desactive == 0)
            {
                SDL_FreeSurface(MenueS[2][2]->SF);
                MenueS[2][2]->SF = IMG_Load("Data/Images/ActiveMenueButton.jpg");
                if(event.type == SDL_MOUSEBUTTONDOWN)
                {
                    SDL_FreeSurface(BG[CurrentFrame]);
                    sprintf(NChaine,"Data/Images/Matches/MTC%d.jpg",SelectedNum);
                    BG[CurrentFrame] = IMG_Load(NChaine);
                    Menue = 3;
                    GameStart = 5;
                    Start = SDL_GetTicks();
                    for(i=0;i<3;i++)
                        MenueS[0][i]->motion = 1;
                    for(i=0;i<30;i++)
                        MenueS[1][i]->motion = 1;
                    for(i=0;i<4;i++)
                        MenueS[2][i]->motion = 1;
                    desactive = 1;
                    SDL_FreeSurface(MenueS[2][2]->SF);
                    MenueS[2][2]->SF = IMG_Load("Data/Images/DeadMenueButton.jpg");
                }
            }
            if(BSelect(MenueS[2][3],event))
            {
                SDL_FreeSurface(MenueS[2][3]->SF);
                MenueS[2][3]->SF = IMG_Load("Data/Images/ActiveMenueButton.jpg");
                if(event.type == SDL_MOUSEBUTTONDOWN)
                {
                    Menue = 1;
                    GameStart = 4;
                    Start = SDL_GetTicks();
                    for(i=0;i<3;i++)
                        MenueS[0][i]->motion = 1;
                    for(i=0;i<30;i++)
                        MenueS[1][i]->motion = 1;
                    for(i=0;i<4;i++)
                        MenueS[2][i]->motion = 1;
                    SelectedDiff = 0;
                    SelectedNum = 0;
                    desactive = 1;
                    SDL_FreeSurface(MenueS[2][2]->SF);
                    MenueS[2][2]->SF = IMG_Load("Data/Images/DeadMenueButton.jpg");
                }
            }
            else
            {
                SDL_FreeSurface(MenueS[2][3]->SF);
                MenueS[2][3]->SF = IMG_Load("Data/Images/MenueButton.jpg");
            }
        }
        if(Menue == 3)
        {
            if(BSelect(IGMenue[1],event))
            {
                SDL_FreeSurface(IGMenue[1]->SF);
                IGMenue[1]->SF = IMG_Load("Data/Images/ActiveMenueButton.jpg");
                sprintf(NChaine,"Data/Images/Matches/Coordonnees/MTC%d.mtc",SelectedNum);
                Matches = fopen(NChaine,"r");

                if(event.type == SDL_MOUSEBUTTONDOWN)
                {
                    Menue = 1;
                    GameStart = 1;
                    Start = SDL_GetTicks();
                    IGMenue[0]->motion = 1;
                    IGMenue[1]->motion = 1;
                    SelectedDiff = 0;
                    SelectedNum = 0;
                    desactive = 1;
                    SDL_FreeSurface(MenueS[2][2]->SF);
                    MenueS[2][2]->SF = IMG_Load("Data/Images/DeadMenueButton.jpg");
                    MenueP[0]->motion = 1;
                    MenueP[1]->motion = 1;
                    MenueP[2]->motion = 1;
                    MenueP[3]->motion = 1;
                    MenueP[4]->motion = 1;
                    SDL_FreeSurface(BG[CurrentFrame]);
                    BG[CurrentFrame] = IMG_Load("Data/Images/BGMotion/BG140.jpg");
                }
            }
            else
            {
                SDL_FreeSurface(IGMenue[1]->SF);
                IGMenue[1]->SF = IMG_Load("Data/Images/MenueButton.jpg");
            }
        }
        //----------------------------------------------

        ThisMoment = SDL_GetTicks();

        //----------------------------------------------

        SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 0, 0));
        if(ThisMoment - BGMotionStart < 2500)
        {
            CurrentFrame = (ThisMoment - BGMotionStart)/18;
        }
        else
        {
            CurrentFrame = 140;
            if(j<140)
            {
                SDL_FreeSurface(BG[j]);
                j++;
            }
        }

        SDL_BlitSurface(BG[CurrentFrame],NULL,screen,&zeropos);


        //----------------------------------------------

        if(GameStart == 1)
        {
            MenueP[0]->pos = Moove(MenueP[0]->pos,-300,50,400,400,250,&MenuePStart[0],&MenueP[0]->motion,Start);
            MenueP[0]->active = 1;
            MenueP[1]->pos = Moove(MenueP[1]->pos,-300,50,460,460,250,&MenuePStart[1],&MenueP[1]->motion,Start + 100);
            MenueP[1]->active = 1;
            MenueP[2]->pos = Moove(MenueP[2]->pos,-300,50,520,520,250,&MenuePStart[2],&MenueP[2]->motion,Start + 200);
            MenueP[2]->active = 1;
            MenueP[3]->pos = Moove(MenueP[3]->pos,-300,50,580,580,250,&MenuePStart[3],&MenueP[3]->motion,Start + 300);
            MenueP[3]->active = 1;
            MenueP[4]->pos = Moove(MenueP[4]->pos,-300,50,640,640,250,&MenuePStart[4],&MenueP[4]->motion,Start + 400);
            MenueP[4]->active = 1;
            BCol(MenueP[0],screen,MenueP[0]->pos.x,MenueP[0]->pos.y,CENTER);
            BCol(MenueP[1],screen,MenueP[1]->pos.x,MenueP[1]->pos.y,CENTER);
            BCol(MenueP[2],screen,MenueP[2]->pos.x,MenueP[2]->pos.y,CENTER);
            BCol(MenueP[3],screen,MenueP[3]->pos.x,MenueP[3]->pos.y,CENTER);
            BCol(MenueP[4],screen,MenueP[4]->pos.x,MenueP[4]->pos.y,CENTER);
        }
        if(GameStart == 2)
        {
            MenueP[0]->pos = Moove(MenueP[0]->pos,50,-300,400,400,250,&MenuePStart[0],&MenueP[0]->motion,Start + 50);
            MenueP[0]->active = 0;
            MenueP[1]->pos = Moove(MenueP[1]->pos,50,-300,460,460,250,&MenuePStart[1],&MenueP[1]->motion,Start + 150);
            MenueP[1]->active = 0;
            MenueP[2]->pos = Moove(MenueP[2]->pos,50,-300,520,520,250,&MenuePStart[2],&MenueP[2]->motion,Start + 200);
            MenueP[2]->active = 0;
            MenueP[3]->pos = Moove(MenueP[3]->pos,50,-300,580,580,250,&MenuePStart[3],&MenueP[3]->motion,Start + 250);
            MenueP[3]->active = 0;
            MenueP[4]->pos = Moove(MenueP[4]->pos,50,-300,640,640,250,&MenuePStart[4],&MenueP[4]->motion,Start + 300);
            MenueP[4]->active = 0;
            if(MenueP[4]->pos.x == -300)
            {
                GameStart = 3;
                Start = SDL_GetTicks();
                Menue = 2;
            }

            //----------------------------------------------

            BCol(MenueP[0],screen,MenueP[0]->pos.x,MenueP[0]->pos.y,CENTER);
            BCol(MenueP[1],screen,MenueP[1]->pos.x,MenueP[1]->pos.y,CENTER);
            BCol(MenueP[2],screen,MenueP[2]->pos.x,MenueP[2]->pos.y,CENTER);
            BCol(MenueP[3],screen,MenueP[3]->pos.x,MenueP[3]->pos.y,CENTER);
            BCol(MenueP[4],screen,MenueP[4]->pos.x,MenueP[4]->pos.y,CENTER);
        }
        if(GameStart == 3)
        {
            for(i=0;i<3;i++)
            {
                MenueS[0][i]->pos = Moove(MenueS[0][i]->pos,-1080 + 330 + 200*i,50+330 + 200*i,340,340,400,&MenueSStart[0][i],&MenueS[0][i]->motion,Start + 50);
                MenueS[0][i]->active = 1;
            }
            for(i=0;i<30;i++)
            {
                MenueS[1][i]->pos = Moove(MenueS[1][i]->pos,-25*(i+1),50+330 + 25*i,466,466,400,&MenueSStart[1][i],&MenueS[1][i]->motion,Start + 150);
                MenueS[1][i]->active = 1;
            }
            MenueS[2][0]->pos = Moove(MenueS[2][0]->pos,-1080,50,400,350,400,&MenueSStart[2][0],&MenueS[2][0]->motion,Start + 50);
            MenueS[2][0]->active = 1;
            MenueS[2][1]->pos = Moove(MenueS[2][0]->pos,-1080,50,450,450,400,&MenueSStart[2][1],&MenueS[2][1]->motion,Start + 150);
            MenueS[2][1]->active = 1;
            MenueS[2][2]->pos = Moove(MenueS[2][0]->pos,-1080,50,550,550,400,&MenueSStart[2][2],&MenueS[2][2]->motion,Start + 250);
            MenueS[2][2]->active = 1;
            MenueS[2][3]->pos = Moove(MenueS[2][0]->pos,-1080,50,650,650,400,&MenueSStart[2][3],&MenueS[2][3]->motion,Start + 350);
            MenueS[2][3]->active = 1;

            //----------------------------------------------

            for(i=0;i<3;i++)
                BCol(MenueS[0][i],screen,MenueS[0][i]->pos.x,MenueS[0][i]->pos.y,CENTER);
            for(i=0;i<30;i++)
                BCol(MenueS[1][i],screen,MenueS[1][i]->pos.x,MenueS[1][i]->pos.y,CENTER);
            for(i=0;i<4;i++)
                BCol(MenueS[2][i],screen,MenueS[2][i]->pos.x,MenueS[2][i]->pos.y,CENTER);

        }

        if(GameStart == 4)
        {
            for(i=0;i<3;i++)
            {
                MenueS[0][i]->pos = Moove(MenueS[0][i]->pos,50+330 + 200*i,-1080 + 330 + 200*i,340,340,400,&MenueSStart[0][i],&MenueS[0][i]->motion,Start + 50);
                MenueS[0][i]->active = 0;
            }
            for(i=0;i<30;i++)
            {
                MenueS[1][i]->pos = Moove(MenueS[1][i]->pos,50+330 + 25*i,-25*(i+1),466,466,400,&MenueSStart[1][i],&MenueS[1][i]->motion,Start + 150);
                MenueS[1][i]->active = 0;
            }
            MenueS[2][0]->pos = Moove(MenueS[2][0]->pos,50,-1080,400,350,400,&MenueSStart[2][0],&MenueS[2][0]->motion,Start + 50);
            MenueS[2][0]->active = 0;
            MenueS[2][1]->pos = Moove(MenueS[2][0]->pos,50,-1080,450,450,400,&MenueSStart[2][1],&MenueS[2][1]->motion,Start + 150);
            MenueS[2][1]->active = 0;
            MenueS[2][2]->pos = Moove(MenueS[2][0]->pos,50,-1080,550,550,400,&MenueSStart[2][2],&MenueS[2][2]->motion,Start + 250);
            MenueS[2][2]->active = 0;
            MenueS[2][3]->pos = Moove(MenueS[2][0]->pos,50,-1080,650,650,400,&MenueSStart[2][3],&MenueS[2][3]->motion,Start + 350);
            MenueS[2][3]->active = 0;

            //----------------------------------------------

            for(i=0;i<3;i++)
                BCol(MenueS[0][i],screen,MenueS[0][i]->pos.x,MenueS[0][i]->pos.y,CENTER);
            for(i=0;i<30;i++)
                BCol(MenueS[1][i],screen,MenueS[1][i]->pos.x,MenueS[1][i]->pos.y,CENTER);
            for(i=0;i<4;i++)
                BCol(MenueS[2][i],screen,MenueS[2][i]->pos.x,MenueS[2][i]->pos.y,CENTER);

            if(MenueS[2][3]->pos.x == -1080)
            {
                GameStart = 1;
                Start = SDL_GetTicks();
                Menue = 1;
                MenueP[0]->motion = 1;
                MenueP[1]->motion = 1;
                MenueP[2]->motion = 1;
                MenueP[3]->motion = 1;
                MenueP[4]->motion = 1;
            }
        }
        if(GameStart == 5)
        {
            for(i=0;i<3;i++)
            {
                MenueS[0][i]->pos = Moove(MenueS[0][i]->pos,50+330 + 200*i,-1080 + 330 + 200*i,340,340,400,&MenueSStart[0][i],&MenueS[0][i]->motion,Start + 50);
                MenueS[0][i]->active = 0;
            }
            for(i=0;i<30;i++)
            {
                MenueS[1][i]->pos = Moove(MenueS[1][i]->pos,50+330 + 25*i,-25*(i+1),466,466,400,&MenueSStart[1][i],&MenueS[1][i]->motion,Start + 150);
                MenueS[1][i]->active = 0;
            }
            MenueS[2][0]->pos = Moove(MenueS[2][0]->pos,50,-1080,400,350,400,&MenueSStart[2][0],&MenueS[2][0]->motion,Start + 50);
            MenueS[2][0]->active = 0;
            MenueS[2][1]->pos = Moove(MenueS[2][0]->pos,50,-1080,450,450,400,&MenueSStart[2][1],&MenueS[2][1]->motion,Start + 150);
            MenueS[2][1]->active = 0;
            MenueS[2][2]->pos = Moove(MenueS[2][0]->pos,50,-1080,550,550,400,&MenueSStart[2][2],&MenueS[2][2]->motion,Start + 250);
            MenueS[2][2]->active = 0;
            MenueS[2][3]->pos = Moove(MenueS[2][0]->pos,50,-1080,650,650,400,&MenueSStart[2][3],&MenueS[2][3]->motion,Start + 350);
            MenueS[2][3]->active = 0;

            //----------------------------------------------

            for(i=0;i<3;i++)
                BCol(MenueS[0][i],screen,MenueS[0][i]->pos.x,MenueS[0][i]->pos.y,CENTER);
            for(i=0;i<30;i++)
                BCol(MenueS[1][i],screen,MenueS[1][i]->pos.x,MenueS[1][i]->pos.y,CENTER);
            for(i=0;i<4;i++)
                BCol(MenueS[2][i],screen,MenueS[2][i]->pos.x,MenueS[2][i]->pos.y,CENTER);

            for(i=0;i<2;i++)
                BCol(IGMenue[i],screen,IGMenue[i]->pos.x,IGMenue[i]->pos.y,CENTER);
        }


        //----------------------------------------------



        //----------------------------------------------



        //----------------------------------------------

        SDL_Delay(10);
        SDL_Flip(screen);
    }



    printf("Exited cleanly\n");
    return 0;
}


1 réponse

Salut, non il n'y a pas de limites si se n'est le plan d'addressage en 32bit pour les applications 32bit et 64bit pour les applications 64bit.
Il faut utiliser new et non malloc en c++:
- en utilisant new tu auras un trow de std::bad_alloc en cas de problèmes d'allocations
-new/delete est plus adapté pour l'appel des constructeurs et destructeurs

Tu sais que tu peux utiliser un débogueur pour savoir jusqu'as quelle ligne tu arrives avant de planter?

Tendu les pointeurs triples, c'est au délà de mon entendement désolé.
0