Skip to content
Snippets Groups Projects
Commit bdf831b6 authored by antoinemeyer5's avatar antoinemeyer5
Browse files

Merge branch 'main' of github.com:maberet/ProjetZZ1 into main

parents 6d620a83 a9f2d27e
Branches
No related tags found
No related merge requests found
Showing
with 83 additions and 28 deletions
travail_individuel/Belkhiri/Animate/Res/king_attack_spritesheet.png

2.42 KiB

travail_individuel/Belkhiri/Animate/Res/king_jump_spritesheet.png

1.1 KiB

travail_individuel/Belkhiri/Animate/Res/king_run_spritesheet.png

2.62 KiB

No preview for this file type
#include "gest_event.h" #include "gest_event.h"
void gestMenu(){ void gestGame(){
SDL_Event event; SDL_Event event;
while (SDL_PollEvent(&event)){ while (SDL_PollEvent(&event)){
switch(event.type) switch(event.type)
...@@ -33,8 +33,8 @@ void gestMenu(){ ...@@ -33,8 +33,8 @@ void gestMenu(){
void *EventLoop(void *arg){ void *EventLoop(void *arg){
while(running){ while(running){
switch(game_state){ switch(game_state){
case MENU : gestMenu();break; //case MENU : gestMenu();break;
//case GAME : gestGame();break; case GAME : gestGame();break;
default:printf("game state fault");break; default:printf("game state fault");break;
} }
} }
......
...@@ -6,7 +6,7 @@ int game_state; ...@@ -6,7 +6,7 @@ int game_state;
int main(){ int main(){
running = 1; running = 1;
game_state = MENU; game_state = GAME;
MainLoop(); MainLoop();
......
...@@ -5,6 +5,23 @@ SDL_Renderer *renderer; ...@@ -5,6 +5,23 @@ SDL_Renderer *renderer;
TTF_Font *RobotoFont; TTF_Font *RobotoFont;
SDL_Surface * character_walk_surface;
SDL_Surface * character_jump_surface;
SDL_Surface * character_attack_surface;
SDL_Texture * character_walk_texture;
SDL_Texture * character_jump_texture;
SDL_Texture * character_attack_texture;
int character_walk_w;
int character_walk_h;
int character_jump_w;
int character_jump_h;
int character_attack_w;
int character_attack_h;
void CreateWindow(){ void CreateWindow(){
SDL_DisplayMode ScreenDimension; SDL_DisplayMode ScreenDimension;
...@@ -38,9 +55,48 @@ void CreateWindow(){ ...@@ -38,9 +55,48 @@ void CreateWindow(){
} }
void Game(int step){
SDL_RenderClear(renderer);
SDL_Rect character_walk_rect;
character_walk_rect.x = step;
character_walk_rect.y = 0;
character_walk_rect.w = 100;
character_walk_rect.h = 250;
if (step < 100){
SDL_Rect destRect;
destRect.w = character_walk_w/8;
destRect.h = character_walk_h;
destRect.x = (destRect.w * step)%character_walk_w;
destRect.y = 0;
SDL_RenderCopyEx(renderer, character_walk_texture, &destRect, &character_walk_rect, 0, NULL, SDL_FLIP_NONE);
}
SDL_RenderPresent(renderer);
SDL_Delay(100);
}
void MainLoop(){ void MainLoop(){
CreateWindow(); CreateWindow();
int step = 0;
character_walk_surface = IMG_Load("Res/king_run_spritesheet.png");
character_jump_surface = IMG_Load("Res/king_jump_spritesheet.png");
character_attack_surface = IMG_Load("Res/king_attack_spritesheet.png");
character_walk_texture = SDL_CreateTextureFromSurface(renderer, character_walk_surface);
character_jump_texture = SDL_CreateTextureFromSurface(renderer, character_jump_surface);
character_attack_texture = SDL_CreateTextureFromSurface(renderer, character_attack_surface);
SDL_FreeSurface(character_walk_surface);
SDL_FreeSurface(character_jump_surface);
SDL_FreeSurface(character_attack_surface);
SDL_QueryTexture(character_walk_texture, NULL, NULL, &character_walk_w, &character_walk_h);
SDL_QueryTexture(character_jump_texture, NULL, NULL, &character_jump_w, &character_jump_h);
SDL_QueryTexture(character_attack_texture, NULL, NULL, &character_attack_w, &character_attack_h);
unsigned int a = SDL_GetTicks(); unsigned int a = SDL_GetTicks();
unsigned int b = SDL_GetTicks(); unsigned int b = SDL_GetTicks();
...@@ -58,11 +114,9 @@ void MainLoop(){ ...@@ -58,11 +114,9 @@ void MainLoop(){
if (delta > 1/FPS_TO_GET){ if (delta > 1/FPS_TO_GET){
b = a; b = a;
switch (game_state){ switch (game_state){
case MENU:
//Menu();
break;
case GAME: case GAME:
//Game(); Game(step);
step++;
break; break;
} }
} }
......
CC=gcc CC=gcc
CFLAGS=-Wextra -Wall -lm -lSDL2
LDFLAGS= LDFLAG=$(shell sdl2-config --cflags --libs) -Wall -Wextra -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
CFLAG=-Wall $(shell sdl2-config --cflags --libs)
EXEC=run EXEC=run
SRC=$(wildcard src/*.c)
OBJ=$(SRC:.c=.o)
all:$(EXEC) all:$(EXEC)
run: main.o render.o map.o $(EXEC):$(OBJ)
$(CC) -o $@ $^ $(LDFLAGS) $(CC) -o $@ $^ $(LDFLAG)
@echo "Lancer le programme avec ./run" mv $^ bin/
map.o : src/map.c src/map.h %.o:%.c
$(CC) -o $@ -c $< $(CFLAGS) $(CC) -o $@ -c $< $(CFLAG)
render.o : src/render.c src/render.h .PHONY:clean
$(CC) -o $@ -c $< $(CFLAGS)
main.o : src/main.c
$(CC) -o $@ -c $< $(CFLAGS)
clean: clean:
rm -rf *.o rm -rf bin/*.o
rmExec: clean
rm -rf $(EXEC) rm -rf $(EXEC)
\ No newline at end of file
File added
#ifndef projet #ifndef map_h
#define map_h
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#endif
/* ------------------------------- Déclaration des fonctions.---------------------------------------*/ /* ------------------------------- Déclaration des fonctions.---------------------------------------*/
...@@ -13,3 +14,4 @@ int nombrevoisin(int **grille,int i , int j,int w); ...@@ -13,3 +14,4 @@ int nombrevoisin(int **grille,int i , int j,int w);
void liberer_grille(int **grille,int taille); void liberer_grille(int **grille,int taille);
void iteration_suivante(int **grille,int **nouvelle_grille, int *regles_mort, int *regles_naissances, int taille); void iteration_suivante(int **grille,int **nouvelle_grille, int *regles_mort, int *regles_naissances, int taille);
void changer_case(int **grille,int i,int j,int taille); void changer_case(int **grille,int i,int j,int taille);
#endif
\ No newline at end of file
#ifndef projet #ifndef render_h
#define render_h
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <SDL2/SDL.h> #include <SDL2/SDL.h>
#endif
void init_sdl(SDL_Window *window_1 ,SDL_Renderer *renderer,int dimension_grille); void init_sdl(SDL_Window *window_1 ,SDL_Renderer *renderer,int dimension_grille);
void dessiner_grille(SDL_Renderer* renderer, int ** grille, int taille); void dessiner_grille(SDL_Renderer* renderer, int ** grille, int taille);
void fin_sdl(SDL_Renderer* renderer,SDL_Window *window_1); void fin_sdl(SDL_Renderer* renderer,SDL_Window *window_1);
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment