[SDL]Lecture d'une Map 2D .txt:besoin d'aide
Itachi_93
Messages postés
21
Statut
Membre
-
Itachi_93 Messages postés 21 Statut Membre -
Itachi_93 Messages postés 21 Statut Membre -
Bonjour,je suis en train de créer un jeu 2D,mais pour cela j'avais de besoin de me pratiquer en créant un 2eme projet pour quelque test.Donc j'essaie de faire remplir un fenêtre avec seulement deux image différente.
J'ai créer un fichier text ou il y a 36 caractère,tous des zero et des un.
On dirait qu'il lit seulement le premier chiffre.Alors toute l'écran est pareil.
Si vous pouvez m'aider???
voici mon code C++.
J'ai créer un fichier text ou il y a 36 caractère,tous des zero et des un.
On dirait qu'il lit seulement le premier chiffre.Alors toute l'écran est pareil.
Si vous pouvez m'aider???
voici mon code C++.
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <SDL.h>
#include <SDL_image.h>
#define BLOCK_LARGEUR 107
#define BLOCK_HAUTEUR 80
#define NB_BLOCS_LARGEUR 6
#define NB_BLOCS_HAUTEUR 6
#define LARGEUR_FENETRE BLOCK_LARGEUR * NB_BLOCS_LARGEUR
#define HAUTEUR_FENETRE BLOCK_HAUTEUR* NB_BLOCS_HAUTEUR
using namespace std;
int main(int argc,char** argv)
{
SDL_Surface *ecran = NULL, *Terre = NULL, *Vide =NULL;
SDL_Rect position;
SDL_Event event;
int Map[6][6], x=0, y=0;
bool continuer = true;
char caractere;
SDL_Init(SDL_INIT_VIDEO);
ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("Map binaire", NULL);
SDL_EnableKeyRepeat(10, 10);
Terre = IMG_Load("Terre.bmp");
Vide = IMG_Load("Vide.bmp");
ifstream FichierMap("Map1.txt", ios::in);
while (FichierMap.get(caractere))
{
switch (caractere)
{
case '0':
Map[x][y] = 0;
break;
case '1':
Map[x][y] = 1;
break;
}
}
while (continuer)
{
for (int i = 0 ; i < NB_BLOCS_LARGEUR ; i++)
{
for (int j = 0 ; j < NB_BLOCS_HAUTEUR ; j++)
{
position.x = i * BLOCK_LARGEUR;
position.y = j * BLOCK_HAUTEUR;
switch(Map[x][y])
{
case 1:
SDL_BlitSurface(Terre, NULL, ecran, &position);
break;
case 0:
SDL_BlitSurface(Vide, NULL, ecran, &position);
break;
}
}
}
SDL_Flip(ecran);
SDL_PollEvent(&event);
switch (event.type)
{
case SDL_QUIT:
SDL_Quit();
exit(0);
break;
}
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
}
FichierMap.close();
SDL_FreeSurface(ecran);
SDL_Quit();
return 0;
}
A voir également:
- [SDL]Lecture d'une Map 2D .txt:besoin d'aide
- Google map satellite gratuit - Guide
- Lecture epub sur pc - Guide
- Accusé de lecture gmail - Guide
- Confirmation de lecture whatsapp - Guide
- Logiciel plan 2d gratuit - Télécharger - Architecture & Déco