À chaque étape de programmation, vous devez vérifier si le programme
:
Compile sans warning
Obtient les résultats attendus
Avant de coder, il faut écrire un algo avec un papier et un stylo !
logo
Règles du jeu
Le jeu du puissance 4 se joue sur un maGrille carré d’une taille de N
x N. Il se joue à deux joueurs qui remplissent à tour de rôle le
maGrille. Ils enfilent des pions chacun à leur tour. Le maGrille est en
position vertical. Du coup, tous les pions s’empilent les un sur les
autres (description
du jeu)
Programme attendu
Questions régulièrement posées
!
Dans
la fonction jouer pourquoi quand res=0 ça renvoie 0 et ça passe le tour
du joueur ?
Par défaut on dit que l’utilisateur n’a pas bien saisie sa
colonne
On ne passe pas le tour du joueur c’est tour de jeu
On demande à l’utilisateur de saisir une colonne et si cette colonne
n’existe pas et/ou est compléte on renvoi faux (res=0)
si la colonne existe et/ou est correcte on place le pion au bon
endroit dans la grille
Dans la fonction
jouer pourquoi tant que i< -1 ?
Lorsque l’on place un pion dans notre puissance 4, il tombe dans la
colonne jusqu’a rencontrer un autre pion ou bien jusqu’au fond.
ICI, on démarre du bas de la colonne, (i:=taille-1; /* on initialise
i à la taille de la colonne */)
S’il y a un pion (différent de -1) alors on passe au dessus etc
..
Cela nous permet d’EMPILER Les pions les uns sur les autres !
Dans la
fonction jouer pourquoi le dernier sinon?
c’est cette histoire d’empiler
Si dans la dernière case j’ai un pion (1 ou 2) alors je passe à
l’avant dernière case (i-1)
si dans l’avant dernière case j’ai un pion (1 ou 2) alors je passe à
l’avant avant dernière case (i-1)
etc
1- Créer
l’arborescence des fichiers suivantes
Dans le répertoire “INFO2”, ajouter le répertoire “TP3”
logo
Les fichiers doivent être sauvegardés dans le même répertoire
!
2- Créer le squelette du
programme
puissance4.h
#ifndef __puissance4_H_#define __puissance4_H_/* toutes mes signatures/prototypes de fonctions/procédures */#endif
puissance4.c
#include "puissance4.h"/* corps des différentes fonctions/procédures */
main.c
#include <stdio.h>#include "puissance4.h"int main(){ printf("C'est le puissance 4 ! \n");return0;}
ATTENTION : Comment dois-je
compiler ?
Il y a plusieurs étapes de compilation :
Compiler fonction.c
gcc -c -Wall puissance4.c -o puissance4.o
Compiler main.c
gcc -c -Wall main.c -o main.o
Compiler le tout !
gcc puissance4.o main.o -o exe
3- Créer
la fonction permettant d’allouer une matrice NxN :
N devra être une variable globale. Elle est fixée dans le
programme.
La compilation doit être séparée
le corps de la fonction est dans le fichier puissance4.c
la signature de la fonction dans fichier puissance4.h