メモとクレジットに、コード(c言語、c++言語対応)があります。コピーしてご自分の環境化でお使いください。
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { srand((unsigned int)time(NULL)); int me[9]{ 0,0,0,0,0,0,0,0,0 }; int kai,i,j=0,f,k,uma=0; printf("■■■ 012\n■■■ 345\n■■■ 678\n"); while(1){ printf("\n\n自分のターン"); while (j < 3) { scanf("%d", &kai); if (me[kai] == 0) { j = 9; me[kai] = 1; uma = uma + 1; } } for (i = 0; i <= 8; i++) {//画面更新 if (i == 0 || i == 3 || i == 6) { printf("\n"); } if (me[i]==1) { printf("●"); } if (me[i] == 2) { printf("×"); } if (me[i] == 0) { printf("■"); } } if (me[0] == 1 && me[1] == 1 && me[2] == 1 || me[3] == 1 && me[4] == 1 && me[5] == 1 || me[6] == 1 && me[7] == 1 && me[8] == 1 || me[0] == 1 && me[3] == 1 && me[6] == 1 || me[1] == 1 && me[4] == 1 && me[7] == 1 || me[2] == 1 && me[5] == 1 && me[8] == 1 || me[0] == 1 && me[4] == 1 && me[8] == 1 || me[2] == 1 && me[4] == 1 && me[6] == 1) { printf("\n自分の勝利"); break; } else { if (uma == 9) { printf("引き分け"); break; } } printf("\n\n機械のターン"); while (j > 3) { k= rand() % 8 + 0; if (me[k] == 0) { j = 1; me[k] = 2; uma = uma + 1; } } for (i = 0; i <= 8; i++) {//画面更新 if (i == 0 || i == 3 || i == 6) { printf("\n"); } if (me[i] == 1) { printf("●"); } if (me[i] == 2) { printf("×"); } if (me[i] == 0) { printf("■"); } } if (me[0] == 2 && me[1] == 2 && me[2] == 2 || me[3] == 2 && me[4] == 2 && me[5] == 2 || me[6] == 2 && me[7] == 2 && me[8] == 2 || me[0] == 2 && me[3] == 2 && me[6] == 2 || me[1] == 2 && me[4] == 2 && me[7] == 2 || me[2] == 2 && me[5] == 2 && me[8] == 2 || me[0] == 2 && me[4] == 2 && me[8] == 2 || me[2] == 2 && me[4] == 2 && me[6] == 2) { printf("\n機械の勝利"); break; } else { if (uma == 9) { printf("引き分け"); break; } } } return 0; }