human process
unknown
c_cpp
3 years ago
2.7 kB
3
Indexable
if ( n == 0) //Joueur human { prctl(PR_SET_PDEATHSIG, SIGHUP); //Si le pere meurt, le fils meurt aussi //Humain lit de pd2, ecrit dans pd1 close(pd2[1]); //Humain ne va pas ecrire dans la pipe pd2, car il ne va ecrire que dans pd1 close(pd1[0]); //Humain ne va pas lire de la pipe pd1, car il ne va lire que de pd2 //Si le joueur humain choisi d'aller en premier, il fait le premier move if(rep == 'Y' || rep == 'y') { drawGrid(grid); cout << endl << "Veuillez choisir une colonne : "; cin >> columnChoice; while (columnChoice > 7 || columnChoice < 1) { cout << endl << "Mauvais choix, veuillez choisir la bonne colonne : "; cin >> columnChoice; } play(grid, columnChoice, 'X'); plays++; drawGrid(grid); write(pd1[1], &columnChoice, 4); //Ecrire le choix du joueur dans pd2 pour indiquer a l'autre joueur le move //pour qu'il puisse mettre a jour son tableau } while(true) { //Lire les moves du CPU pour mettre a jour le tableau du joueur humain while(read(pd2[0], &columnChoiceOpp, 4)) { play(grid, columnChoiceOpp, 'O'); plays++; break; } bool CPUWin = winCheck(grid, columnChoiceOpp, 'O'); //Voir si le CPU a gagne if (CPUWin == true || plays == 42) //break dans le cas ou CPU gagne ou tableau plein break; cout << endl << "Veuillez choisir une colonne : "; cin >> columnChoice; while (columnChoice > 7 || columnChoice < 1 || grid[columnChoice - 1].size() > 6) { cout << endl << "Mauvais choix, veuillez choisir la bonne colonne : "; cin >> columnChoice; } play(grid, columnChoice, 'X'); plays++; drawGrid(grid); write(pd1[1], &columnChoice, 4); //Ecrire le choix du joueur dans pd2 pour indiquer a l'autre joueur le move //pour qu'il puisse mettre a jour son tableau bool HumanWin = winCheck(grid, columnChoice, 'X'); if (HumanWin == true || plays == 42) break; } }
Editor is loading...