bonjour, tout dabord je precise que je suis debutante en programmation. dans le cadre d'un mini projet g realisé un programme qui permet la lecture des ebooks sur la nintendo ds. néanmoins il a actuellement un petit probleme dans le programme car il faut rentrer a la main dans deux variables differentes une liste d'image, ainsi que le nombre d'images. En prenant comme hypothese, que dans un repertoire, on trouve l'ensemble des images et le squelette du programme ( c'est a dire sans ses deux variables), il doit etre possible de creer un programme en C qui permet de prendre le squelette et de rajouter les variables avec les noms correctes.
aidez moi svp c urgent, merci.
voila mon main.c :
#include "PROJET_ZZ1.h"
#include <PA9.h> // Include for PA_Lib
#include "gfx/all_gfx.c"
#include "gfx/all_gfx.h"
#define NB_PAGE 3
int main(int argc, char ** argv)
{
PAGfx_struct *fond[NB_PAGE] = {&big01, &big02, &big03};
PAGfx_struct *icone[NB_PAGE] = {&small01, &small02, &small03};
// Variables pour le scrolling
int scrolling_x = 0;
int scrolling_y = 0;
int stylus_x_initial = 0;
int stylus_y_initial = 0;
int image_width = 360;
int image_height = 550;
// Variables pour le changement de page
int numero_de_page = 0;
// Initialisation
PA_Init();
PA_InitVBL();
// Variables pour le carré rouge
PA_Init8bitBg(1,3); // Pour pouvoir dessiner sur l'écran du haut... Possible seulement sur la layer 3.
PA_SetBgPrioSeq(1,3,0,1,2); // Change la priorité des layers pour que la layer 3 soit visible.
// Chargement d'une image
PA_EasyBgLoadPtr(1,2,icone[numero_de_page]);
PA_EasyBgLoadPtr(0,2,fond[numero_de_page]);
// ...et on centre l'image du bas.
// On suppose que l'image a un format usuel, soit ~126*192 une fois rétrécie.
PA_EasyBgScrollX(1,2,-65);
while (1)
{
// Déplacement avec le stylet
if (Stylus.Newpress)
{
stylus_x_initial = Stylus.X;
stylus_y_initial = Stylus.Y;
}
if (Stylus.Held)
{
scrolling_x += (stylus_x_initial - Stylus.X);
scrolling_y += (stylus_y_initial - Stylus.Y);
stylus_x_initial = Stylus.X;
stylus_y_initial = Stylus.Y;
}
// Déplacement avec les flèches
scrolling_x += (Pad.Held.Right - Pad.Held.Left)*4; // 4 pixels à chaque fois
scrolling_y += (Pad.Held.Down - Pad.Held.Up)*4;
// On vérifie qu'on ne sort pas de l'image...
if (scrolling_x < 0) scrolling_x = 0;
if (scrolling_x > image_width - 255) scrolling_x = image_width - 255;
if (scrolling_y < 0) scrolling_y = 0;
if (scrolling_y > image_height - 191) scrolling_y = image_height - 191;
// Application du scrolling...
PA_EasyBgScrollXY(0, 2, scrolling_x, scrolling_y);
gestion_carre(scrolling_x, scrolling_y,image_width,image_height);
// Changement de page
if (Pad.Newpress.R)
{
if (numero_de_page < NB_PAGE-1)
{
numero_de_page++;
PA_EasyBgLoadPtr(1,2,icone[numero_de_page]);
PA_EasyBgLoadPtr(0,2,fond[numero_de_page]);
PA_EasyBgScrollX(1,2,-65);
}
}
if (Pad.Newpress.L)
{
if (numero_de_page > 0)
{
numero_de_page--;
PA_EasyBgLoadPtr(1,2,icone[numero_de_page]);
PA_EasyBgLoadPtr(0,2,fond[numero_de_page]);
PA_EasyBgScrollX(1,2,-65);
}
}
PA_WaitForVBL();
}
return 0;
} // End of main()
Message édité par Elmoricq le 03-06-2008 à 07:15:28