国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

C語言小游戲,三子棋游戲(適合初學者練習)

lwx12525 / 3251人閱讀

摘要:三子棋代碼耗時三天,本人很菜,瘋狂不細心寫代碼真的很累本代碼使用編譯所以使用了懂得都懂如果使用別的編譯器請注意將起改為宏定義行數為為行,為列不會列的英文宏定義列數為也可以改為大棋盤,但要更改游戲機制初始

三子棋代碼


耗時三天,本人很菜,瘋狂debug
不細心寫代碼真的很累

**本代碼使用vs2019編譯
所以使用了scanf_s(懂得都懂)
如果使用別的編譯器請注意將起改為scanf

#include#include#include#define ROW 3//宏定義行數為3     ROW為行,LIE為列(不會列的英文)#define LIE 3//宏定義列數為3,也可以改為大棋盤,但要更改游戲機制void aBoard(char board[ROW][LIE], int row, int lie);//初始化棋子void printBoard(char board[ROW][LIE], int row, int lie);// 打印棋盤void Playergo(char board[ROW][LIE], int row, int lie); //人走void Computergo(char board[ROW][LIE], int row, int lie);//電腦走char ifWin(char board[ROW][LIE], int row, int lie);//判斷輸贏void menu(void);//菜單void test(void);//void game(void);//核心int main(void){	test();	return 0;}void game(void){	char p = 0;	char board[ROW][LIE] = { 0 };//我也不知道為什么不能用‘ ’;	//初始化棋子為空格	aBoard(board, ROW, LIE);	//打印棋盤	printBoard(board, ROW, LIE);	while (2)//非0的數字就可以	{		//玩家下棋		Playergo(board, ROW, LIE);		printBoard(board, ROW, LIE);		//判斷玩家是否勝利		p = ifWin(board, ROW, LIE);		if (p != "C")		{			break;		}		//電腦下棋		Computergo(board, ROW, LIE);		printBoard(board, ROW, LIE);		//判斷電腦是否勝利		p = ifWin(board, ROW, LIE);		if (p != "C")		{			break;		}	}	if (p == "*")	{		printf("YOU WIN/n");		printf("/n");	}	else if (p == "#")	{		printf("COMPUTER WIN!/n");		printf("/n");	}}//游戲菜單void menu(void){	printf("-----------------------------------------------/n");	printf("-----------------------------------------------/n");	printf("*****輸入1.開始游戲         輸入0.退出游戲*****/n");	printf("-----------------------------------------------/n");	printf("-----------------------------------------------/n");}//初始化棋盤void aBoard(char board[ROW][LIE], int row, int lie){	for (int i = 0; i < row; i++)	{		for (int j = 0; j < lie; j++)		{			board[i][j] = " ";		}	}}//打印棋盤void printBoard(char board[ROW][LIE], int row, int lie){	for (int i = 0; i < row; i++)	{		for (int j = 0; j < lie; j++)		{			if (j < lie - 1)			{				printf(" %c |", board[i][j]);			}			else				printf(" %c ", board[i][j]);		}		printf("/n");		if (i < row - 1)		{			for (int k = 0; k < lie; k++)			{				if (k < lie - 1)				{					printf("---|");				}				else				{					printf("---");				}			}		}		printf("/n");	}}//玩家輸入void Playergo(char board[ROW][LIE], int row, int lie){	int x = 0;	int y = 0;	while (1)//同上	{		printf("系統提示:請輸入您要下的坐標");		printf("坐標之間用空格隔開");		scanf_s("%d%d", &x, &y);		printf("/n");		//判斷xy是否合法,一個是是否超出,一個是是否被占用		if (x > 0 && x < row + 1 && y>0 && y < lie + 1)		{			if (board[x - 1][y - 1] == " ")			{				board[x - 1][y - 1] = "*";				break;			}			else			{				printf("坐標被占用,請重新輸入/n");				printf("/n");			}		}		else		{			printf("超出坐標范圍,輸入的橫縱都坐標為1到3;/n/n");		}	}}void Computergo(char board[ROW][LIE], int row, int lie){	int x = 0;	int y = 0;	printf("本電腦走的飛快/n/n");	while (1)	{		x = rand() % row;		y = rand() % lie;		if (board[x][y] == " ")		{			board[x][y] = "#";			break;		}	}}//判斷勝負char ifWin(char board[ROW][LIE], int row, int lie){	int i = 0;	//判斷行	for (i = 0; i < row; i++)	{		if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][1] != " ")		{			return board[i][1];		}	}	//判斷列	for (i = 0; i < lie; i++)	{		if (board[0][i] == board[1][i] && board[1][i] == board[2][i] && board[1][i] != " ")		{			return board[1][i];		}	}	//判斷對角線	if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[1][1] != " ")	{		return board[1][1];	}	if (board[2][0] == board[1][1] && board[1][1] == board[0][2] && board[1][1] != " ")	{		return board[1][1];	}	return "C";}void test(void){	srand((unsigned int)time(NULL));	int input = 0;	do	{		menu();		printf("/n");		printf("系統提示:請選擇:>>>");		scanf_s("%d", &input);		printf("/n");		switch (input)		{		case 1:			game();			break;		case 0:			printf("游戲結束/n");			break;		default:			printf("非法輸入,請重新輸入/n");			break;		}	} while (input);}

**以下就是游戲進行的過程
本人實力有限,游戲體驗可能不太好
**


各位有什么優化游戲的建議可以指出

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122564.html

相關文章

  • 三子(井字)】如何用C語言實現

    摘要:三子棋目錄一問題介紹三子棋,在民間又叫井字棋。因為人們在游玩時常常不畫棋盤的邊框,正如漢字中的井字,多稱為井字棋。 三子棋 目錄 一、問題介紹 ? ? ? ? 三子棋,在民間又叫井字棋。因為人們在游玩時常常不畫棋盤的邊框,正如漢字中的井字,多稱為井字棋。 三子棋的游戲規則十分的簡單: ...

    jsbintask 評論0 收藏0
  • C語言實現三子

    摘要:文章目錄三子棋的設置的內容設置的設置棋盤的內容棋盤以及棋盤的初始化打印棋盤下棋步驟玩家下棋電腦下棋判斷是否勝利三子棋三子棋的規則是在的棋盤里,雙方輪流下子以和表示,先將個子連成一條線橫豎斜都可以的一方獲勝下面是三子棋語 ...

    vspiders 評論0 收藏0
  • C語言實現入門級游戲——三子(萬字長篇)

    摘要:今天博主將為大家帶來語言入門級小游戲三子棋井字棋的詳細介紹,希望這篇文章對大家能有幫助。在這里,我們使用函數來實現這一功能。 ?? ? ??今天博主將為大家帶來C語言入門級小游戲——三子棋(井字棋)的詳細介紹,希望這篇文章對大家能有幫助?。?? ? ? 在編程的學習過程中,編寫一些中這樣...

    meteor199 評論0 收藏0
  • C語言入門》三子C語言實現(詳細版)

    摘要:簡單介紹了三子棋原理后接下來為大家講解分步目標及代碼如何實現。電腦下棋我們實現了玩家和電腦的下棋后,我們需要編寫一個函數來判斷雙方的輸贏。我們使用函數來實現這一目標。 目錄 1.三子棋原理 2.分塊代碼實現 3.總結 1.首先向大家介紹一下三子棋的原理 首先我們需要有一個棋盤,初始時棋...

    妤鋒シ 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<