| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 
 | #include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h>
 
#include "constantes.h"
#include "jeu.h"
 
 
void jeu(SDL_Surface* ecran)
{
    //Création des différentes surfaces de leur position
    SDL_Surface *Rouge = NULL, *Bleu = NULL, *Plateau = NULL, *Vide = NULL;
    SDL_Rect positionBleu, positionPlateau, positionRouge, positionVide;
    SDL_Event event;
 
 
    int continuer = 1;
    int i,j,z;
    int colonne, ligne;
 
    //Chargement des images
    Plateau = IMG_Load("plateau.png");
    Bleu = IMG_Load("pion_bleu.png");
    Rouge = IMG_Load("pion_rouge.png");
    Vide = IMG_Load("vide.png");
 
    //Position du plateau de jeu
    positionPlateau.x = 0;
    positionPlateau.y = 0;
 
 
    SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); //Coloration du fond
    SDL_BlitSurface(Plateau, NULL, ecran, &positionPlateau); //Insertion de l'image du plateau de jeu
    SDL_Flip(ecran);
 
 
    //Insertion des images "vide" pour créer les différentes cases du plateau
    for (i=0;i<BLOCS_LARGEUR;i++)
    {
        for (j=0;j<BLOCS_HAUTEUR;j++)
        {
            positionVide.x=120+150*i; //position du 1er pions + espacement entre chaque
            positionVide.y=38+105*j;
            SDL_BlitSurface(Vide,NULL, ecran,&positionVide);
        }
    }
 
    colonne = ((event.button.x - 120) / 150);
    ligne = ((event.button.y - 38) / 105);
 
 
    while (continuer)
    {
        SDL_WaitEvent(&event);
        switch (event.type)
        {
        case SDL_QUIT:
            continuer = 0;
            break;
        case SDL_KEYDOWN:
            switch (event.key.keysym.sym)
            {
            case SDLK_ESCAPE: //Touche Echap pour quitter
                continuer = 0;
                break;
            }
        case SDL_MOUSEBUTTONUP:
            if (event.button.button == SDL_BUTTON_LEFT) //Pour un clique gauche
            {
 
 
                positionBleu.x=120+150*colonne;
                positionBleu.y=38+105*ligne;
                SDL_BlitSurface(Bleu, NULL, ecran, &positionBleu);
 
 
 
            }
            if (event.button.button == SDL_BUTTON_RIGHT) //Pour un clique droit
            {
                positionRouge.x = event.button.x;
                positionRouge.y = event.button.y;
                SDL_BlitSurface(Rouge, NULL, ecran, &positionRouge);
            }
            break;
        }
 
 
        SDL_BlitSurface(Plateau, NULL, ecran, &positionPlateau);
        SDL_Flip(ecran);
 
    }
} | 
Partager