unsigne short int -> char

This commit is contained in:
2024-12-20 13:45:44 +01:00
parent 27ddc41eee
commit 9969cede22
7 changed files with 32 additions and 27 deletions

View File

@@ -10,7 +10,7 @@
#include <stdio.h>
#include <stdlib.h>
void screenDisplay (unsigned short int **tab, int size)
void screenDisplay (char **tab, int size)
{
// puts("0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 ");
char element[7] = { ' ', '#', 'S', '.', '*', '@', '+' };
@@ -18,13 +18,13 @@ void screenDisplay (unsigned short int **tab, int size)
{
for (int j = 0; j < size; ++j)
{
printf ("%c ", element[tab[i][j]]);
printf ("%c ", element[(int)tab[i][j]]);
}
puts ("");
}
}
void screenDisplayGameSDL (unsigned short int **tab, dis *display_user)
void screenDisplayGameSDL (char **tab, dis *display_user)
{
unsigned int display_game
= display_user->size_window - display_user->size_menu;

View File

@@ -5,12 +5,12 @@
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
void screenDisplay (unsigned short int **tab, int size);
void screenDisplay (char **tab, int size);
int getMaxSize (dis display_user);
void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos,
int size);
void initSDL (dis *display_user);
void screenDisplayGameSDL (unsigned short int **tab, dis *display_user);
void screenDisplayGameSDL (char **tab, dis *display_user);
void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size);

View File

@@ -11,10 +11,15 @@
#include <stdlib.h>
#include <time.h>
unsigned short int **creatArea2D (const unsigned int N)
/**
* \brief Cette fonction permet de creer une liste 2D carre
* \param N La valeur N est le nombre d'élément dans le tableau.
* \return Le tableau 2D carre
*/
char **creatArea2D (const unsigned int N)
{
unsigned short int **tab2d;
tab2d = calloc (N, sizeof (unsigned short int *));
char **tab2d;
tab2d = calloc (N, sizeof (char *));
if (tab2d == NULL)
{
return NULL;
@@ -24,7 +29,7 @@ unsigned short int **creatArea2D (const unsigned int N)
unsigned int i;
for (i = 0; i < N && !fail; ++i)
{
tab2d[i] = calloc (N, sizeof (unsigned short int));
tab2d[i] = calloc (N, sizeof (char));
if (tab2d[i] == NULL)
{
fail = true;
@@ -44,7 +49,7 @@ unsigned short int **creatArea2D (const unsigned int N)
return tab2d;
}
void free2D (unsigned short int **tab, int N)
void free2D (char **tab, int N)
{
int i;
for (i = 0; i < N; ++i)
@@ -99,7 +104,7 @@ short int canIGoDirection (short int valueOfNCase,
return 0;
}
void move (unsigned short int **tab, vect *playerPos, vect direction,
void move (char **tab, vect *playerPos, vect direction,
score *score_user)
{
short int valueOfNCase
@@ -193,7 +198,7 @@ void move (unsigned short int **tab, vect *playerPos, vect direction,
}
}
void inGameLoop (unsigned short int **tab2d, int N, vect *playerPos,
void inGameLoop (char **tab2d, int N, vect *playerPos,
vect *targets, int nbr_targets, dis *display_user,
score *score_user)
{
@@ -286,7 +291,7 @@ void inGameLoop (unsigned short int **tab2d, int N, vect *playerPos,
}
}
bool isWin (unsigned short int **tab2d, vect *targets, int nbr_targets)
bool isWin (char **tab2d, vect *targets, int nbr_targets)
{
int i;
for (i = 0; i < nbr_targets; ++i)
@@ -301,7 +306,7 @@ bool isWin (unsigned short int **tab2d, vect *targets, int nbr_targets)
return true;
}
bool islose (unsigned short int **tab2d, const int N)
bool islose (char **tab2d, const int N)
{
int x = 0, y = 0;
for (x = 0; x < N; ++x)
@@ -336,7 +341,7 @@ vect plusVect (vect one, vect two)
int lengthVect (vect vector) { return abs (vector.x) + abs (vector.y); }
bool blockBox (unsigned short int **tab2d, vect box_coor)
bool blockBox (char **tab2d, vect box_coor)
{
int nbr_touch = 0;
vect card[4] = { { 0, -1 }, { 1, 0 }, { 0, 1 }, { -1, 0 } };
@@ -346,7 +351,7 @@ bool blockBox (unsigned short int **tab2d, vect box_coor)
for (i = 0; i < 4; ++i)
{
vect test = plusVect (box_coor, card[i]);
unsigned short int val = tab2d[test.x][test.y];
char val = tab2d[test.x][test.y];
if (val == BOX || val == WALL || val == BOX_ON_TARGET)
{
nbr_touch++;
@@ -417,7 +422,7 @@ bool blockBox (unsigned short int **tab2d, vect box_coor)
vect current = plusVect (box_coor, dir_test[i]);
while (!wall)
{
unsigned short int val = tab2d[current.x][current.y];
char val = tab2d[current.x][current.y];
if (val == WALL)
wall = true;
if (val == TARGET)

View File

@@ -39,14 +39,14 @@ typedef struct essential_sdl
unsigned int size_menu;
} dis;
unsigned short int **creatArea2D (const unsigned int N);
void free2D (unsigned short int **tab, int N);
void screenDisplay (unsigned short int **tab, int size);
bool isWin (unsigned short int **tab2d, vect *targets, int nbr_targets);
bool islose (unsigned short int **tab2d, const int N);
bool blockBox (unsigned short int **tab2d, vect box_coor);
char **creatArea2D (const unsigned int N);
void free2D (char **tab, int N);
void screenDisplay (char **tab, int size);
bool isWin (char **tab2d, vect *targets, int nbr_targets);
bool islose (char **tab2d, const int N);
bool blockBox (char **tab2d, vect box_coor);
vect plusVect (vect one, vect two);
void inGameLoop (unsigned short int **tab2d, int N, vect *playerPos,
void inGameLoop (char **tab2d, int N, vect *playerPos,
vect *targets, int nbr_targets, dis *display_user, score *score_user);
char *timeToText(time_t time);

2
main.c
View File

@@ -21,7 +21,7 @@ int main ()
vect *targets;
int nbr_targets;
score playerScore;
unsigned short int **tab2d = creatArea2D (SIZE_PLAY);
char **tab2d = creatArea2D (SIZE_PLAY);
score score_user = {0, 0, 0,0};

2
read.c
View File

@@ -2,7 +2,7 @@
#include <stdio.h>
#include <stdlib.h>
vect *fileToTab2D (const char *name_file, unsigned short int **tab,
vect *fileToTab2D (const char *name_file, char **tab,
const unsigned N, vect *player, int *nbr_targets)
{
vect *targets = malloc (sizeof (vect));

2
read.h
View File

@@ -1,6 +1,6 @@
#ifndef READ_H
#define READ_H
#include "function.h"
vect *fileToTab2D (const char *name_file, unsigned short int **tab,
vect *fileToTab2D (const char *name_file, char **tab,
const unsigned N, vect *player, int *nbr_targets);
#endif // !READ_H