五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C語言程序設(shè)計(jì)從入門到進(jìn)階【比特鵬哥c語言2023完整版視頻教程】(c語言基礎(chǔ)入

2023-04-09 15:14 作者:把我也送回家好不好  | 我要投稿

//無智商人機(jī)實(shí)現(xiàn)n子棋

//有智商的人機(jī)可否提供代碼

//復(fù)制可運(yùn)行

#define _CRT_SECURE_NO_WARNINGS


#include <stdio.h>


#include <stdlib.h>


#include <time.h>


//表格行,列


#define ROW 10


#define COL 10


//幾子連接則勝


#define GAME 5


//初始化數(shù)組


void InitArr(char arr[ROW][COL], int row, int col)


{


for (int i = 0; i < row; i++)


{


for (int j = 0; j < col; j++)


{


arr[i][j] = ' ';


}


}


}


//打印棋盤


void DisplayArr(char arr[ROW][COL], int row, int col)


{


for (int i = 0; i < row; i++)


{


for (int j = 0; j < col; j++)


{


if (j == col - 1) {


printf(" %c \n", arr[i][j]);


}


else {


printf(" %c |", arr[i][j]);


}


}


if (i == row - 1) continue;


for (int j = 0; j < col; j++)


{


if (j == col - 1) {


printf("---\n");


}


else {


printf("---|");


}


}


}


}




//判斷輸贏


int IsWin(char arr[ROW][COL], int x, int y)


{


//行


int right = 1;


int left = 1;


//列


int down = 1;


int up = 1;


//左斜


int rightup = 1;


int leftdown = 1;


//右斜


int leftup = 1;


int rightdown = 1;


//行


for (int i = 1; i < GAME; i++)


{


if (y + i <= COL && arr[x][y] == arr[x][y + i]) {


left++;


}


else


{


break;


}


}


for (int j = 1; j < GAME; j++)


{


if (y - j >= 0 && arr[x][y] == arr[x][y - j]) {


right++;


}


else


{


break;


}


}


if (right + left - 1 >= GAME) {


return 1;


}


//列


for (int i = 1; i < GAME; i++)


{


if (x + i <= ROW && arr[x][y] == arr[x + i][y]) {


down++;


}


else


{


break;


}


}


for (int j = 1; j < GAME; j++)


{


if (x - j >= 0 && arr[x][y] == arr[x - j][y]) {


up++;


}


else


{


break;


}


}


if (down + up - 1 >= GAME) {


return 1;


}


//左斜


for (int i = 1; i < GAME; i++)


{


if (x + i <= ROW && y + i <= COL && arr[x][y] == arr[x + i][y + i]) {


leftdown++;


}


else


{


break;


}


}


for (int j = 1; j < GAME; j++)


{


if (x - j >= 0 && y - j >= 0 && arr[x][y] == arr[x - j][y - j]) {


rightup++;


}


else


{


break;


}


}


if (leftdown + rightup - 1 >= GAME) {


return 1;


}


//右斜


for (int i = 1; i < GAME; i++)


{


if (x + i <= ROW && y - i >= 0 && arr[x][y] == arr[x + i][y - i]) {


rightdown++;


}


else


{


break;


}


}


for (int j = 1; j < GAME; j++)


{


if (x - j >= 0 && y + j <= COL && arr[x][y] == arr[x - j][y + j]) {


leftup++;


}


else


{


break;


}


}


if (rightdown + leftup - 1 >= GAME) {


return 1;


}


return 0;


}


//判斷是否平局


int IsDraw(char arr[ROW][COL]) {


for (int i = 0; i < ROW; i++) {


for (int j = 0; j < COL; j++) {


if (arr[i][j] == ' ') {


return 0;


}


}


}


printf("游戲結(jié)束>\n平局");


return 1;


}

//玩家下棋


int PlayerMove(char arr[ROW][COL], int row, int col)


{


while (1)


{


printf("玩家下棋>\n請輸入坐標(biāo)> ");


int x;


int y;


scanf("%d %d", &x, &y);


if (arr[x - 1][y - 1] == ' ' && x >= 1 && x <= row && y >= 1 && y <= col) {


arr[x - 1][y - 1] = '*';


int a = IsWin(arr, x - 1, y - 1);


if (a) {


printf("玩家贏!!!!!!\n");


return 0;


}


if (IsDraw(arr)) {


return 0;


}


return 1;


}


else


{


printf("坐標(biāo)錯(cuò)誤或者被占用,重新輸入\n");


}


}


}


//電腦下棋


int ComputerMove(char arr[ROW][COL], int row, int col)


{


printf("電腦下棋>\n");


while (1)


{


int x;


int y;


x = rand() % row;


y = rand() % col;


if (arr[x][y] == ' ') {


arr[x][y] = '#';


int a = IsWin(arr, x, y);


if (a) {


printf("電腦贏!!!!!!\n");


return 0;


}


if (IsDraw(arr)) {


return 0;


}


return 1;


}


}


}






void playgame() {


char arr[ROW][COL] = { 0 };


//初始化數(shù)組


InitArr(arr, ROW, COL);


//打印棋盤


DisplayArr(arr, ROW, COL);


//開始


while (1)


{


//玩家下棋


int playnum = PlayerMove(arr, ROW, COL);


DisplayArr(arr, ROW, COL);


if (!playnum) {


break;


}


//電腦下棋


int computernum = ComputerMove(arr, ROW, COL);


DisplayArr(arr, ROW, COL);


if (!computernum) {


break;


}


}


}




int main() {


int choose;


srand((unsigned int)time(NULL));


do {


printf("**************************\n");


printf("**********1.play**********\n");


printf("**********0.exit**********\n");


printf("**************************\n");


printf("請選擇>");


scanf("%d", &choose);


switch (choose)


{


case 1:


playgame();


break;


case 0:


printf("退出游戲成功");


break;


default:


printf("輸入數(shù)字錯(cuò)誤,重新輸入!\n");


break;


}


} while (choose);


return 0;


}

C語言程序設(shè)計(jì)從入門到進(jìn)階【比特鵬哥c語言2023完整版視頻教程】(c語言基礎(chǔ)入的評論 (共 條)

分享到微博請遵守國家法律
海林市| 临邑县| 古田县| 章丘市| 曲松县| 大足县| 阿坝县| 贵港市| 许昌县| 丰城市| 凤山县| 诸城市| 封丘县| 海宁市| 武夷山市| 韩城市| 衡水市| 分宜县| 偃师市| 芜湖市| 绍兴市| 姜堰市| 金坛市| 安图县| 平定县| 贵港市| 昌都县| 安阳市| 杨浦区| 阳谷县| 林甸县| 怀安县| 海口市| 四平市| 西吉县| 姚安县| 汉源县| 沾化县| 巴塘县| 新田县| 阜新|