Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- int victory(int **tab, int columns);
- int victory (int **tab, int columns) {
- int count = 0;
- int i = 0;
- int j = 0;
- for (i = 0; i < columns; ++i) // Verticale
- {
- count = 0;
- for (j = 0; j < columns; ++j)
- {
- if (tab[i][j] == tab[i][j+1] && tab[i][j] != 0)
- count++;
- if (count == columns-2)
- return 1;
- }
- }
- for (j = 0; j < columns; j++) // Horizontale
- {
- count = 0;
- for (i = 1; i < columns; i++)
- {
- if (tab[i][j] == tab[i-1][j] && tab[i][j] != 0)
- count++;
- if (count == columns-1)
- return 1;
- }
- }
- for(i = 0; i<columns; i++){
- if(tab[i] == tab[i+1] && tab[i] !=0){
- count++;
- j++;
- }
- if(count == columns-1){
- return 1;
- }
- }
- return 0;
- }
- int main() {
- int **plateau;
- int columns;
- int i = 0;
- int j = 0;
- int token = 0;
- int count = 1;
- int j1 = 0;
- int j2 = 0;
- int game = 0;
- printf("Saisir le nombre de colonnes :\n");
- scanf("%d",&columns);
- system("cls");
- if ((plateau = malloc(sizeof(int *) * columns)) == NULL)
- exit(0);
- for(i=0 ; i < columns ; i++){
- if ((plateau[i] = malloc(sizeof(int) * columns)) == NULL)
- exit(0);
- }
- for(i=0;i<columns;i++){
- plateau[i][0] = i+1;
- for(j=1;j<columns + 1;j++){
- plateau[i][j] = 0;
- }
- }
- for(j=0;j<columns;j++){
- for(i=0;i<columns;i++){
- printf("| %d ",plateau[i][j]);
- }
- printf("\n");
- }
- printf("La partie commence.\n");
- game = 1;
- /* ---------------------------------------------------------- */
- do {
- j1 = 1;
- do { // Tour du joueur 1
- printf("Joueur 1 :\n");
- scanf("%d",&token);
- system("cls");
- for(i=0;i<columns;i++){
- for(j=1;i<columns + 1;j++){
- if(plateau[i][columns-j] == 0){
- count = j;
- break;
- }
- }
- if(plateau[i][0] == token){
- plateau[i][columns-count] = 1;
- }
- }
- for(j=0;j<columns;j++){
- for(i=0;i<columns;i++){
- printf("| %d ",plateau[i][j]);
- }
- printf("\n");
- }
- if (victory(plateau, columns) == 1)
- {
- printf("Victoire du joueur 1\n");
- game = 0;
- }
- j1 = 0;
- } while (j1 == 1);
- j2 = 1;
- if (game == 1)
- {
- do { // Tour du joueur 2
- printf("Joueur 2 :\n");
- scanf("%d",&token);
- system("cls");
- for(i=0;i<columns;i++){
- for(j=1;i<columns + 1;j++){
- if(plateau[i][columns-j] == 0){
- count = j;
- break;
- }
- }
- if(plateau[i][0] == token){
- plateau[i][columns-count] = 2;
- }
- }
- for(j=0;j<columns;j++){
- for(i=0;i<columns;i++){
- printf("| %d ",plateau[i][j]);
- }
- printf("\n");
- }
- if (victory(plateau, columns) == 1)
- {
- printf("Victoire du joueur 2\n");
- game = 0;
- }
- j2 = 0;
- } while (j2 == 1);
- }
- }while(game == 1);
- free (plateau);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement