C语言基础经典案例:三子棋的实现(Tic_Tac_Toe)

文章目录

三子棋

关于三子棋的实现,本案例一共用了两个源文件和一个头文件,即test.c、game.c和game.h。

代码都做了相关的注释说明,可供大家参考

game.h

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ROW 3 //行
#define COL 3 //列

//枚举,Exit=0、Play=1
enum Option
{
   
	Exit,
	Play
};

//函数声明
void InitBoard(char board[ROW][COL], int row, int col);//初始化棋盘
void DisplayBoard(char board[ROW][COL], int row, int col);//打印棋盘
void PlayerAct(char board[ROW][COL], int row, int col);//玩家下棋
void ComputerAct(char board[ROW][COL], int row, int col);//电脑下棋
char Judge_WinOrLose(char board[ROW][COL], int row, int col);//判断输赢

game.c

#define _CRT_SECURE_NO_WARNINGS 1

#include "game.h"

int i = 0;
int j = 0;

char Draw(char board[ROW][COL], int row, int col)//判断棋盘是否下满。
{
   
	for (i = 0; i < row; i++)
	{
   
		for (j = 0; j < col; j++)
		{
   
			if (board[i][j] == ' ')
				return 'C';
		}
	}
	return 'D';
}

void InitBoard(char board[ROW][COL], int row, int col)
{
   
	for (i = 0; i < row; i++)
	{
   
		for (j = 0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Python编写一个简单的tic-tac-toe游戏,以下是一个示例代码: ``` def print_board(board): print("-------------") for i in range(3): print("|", end="") for j in range(3): print(" " + board[i][j] + " |", end="") print("\n-------------") def check_win(board, player): for i in range(3): if (board[i][0] == player and board[i][1] == player and board[i][2] == player): return True if (board[0][i] == player and board[1][i] == player and board[2][i] == player): return True if (board[0][0] == player and board[1][1] == player and board[2][2] == player): return True if (board[0][2] == player and board[1][1] == player and board[2][0] == player): return True return False def tic_tac_toe(): board = [[" ", " ", " "], [" ", " ", " "], [" ", " ", " "]] players = ["X", "O"] current_player = players[0] print_board(board) while True: print("It's " + current_player + "'s turn.") row = int(input("Enter row (0-2): ")) col = int(input("Enter column (0-2): ")) if (board[row][col] != " "): print("That spot is already taken. Try again.") continue board[row][col] = current_player print_board(board) if (check_win(board, current_player)): print(current_player + " wins!") break if (board[0].count(" ") == 0 and board[1].count(" ") == 0 and board[2].count(" ") == 0): print("It's a tie!") break current_player = players[(players.index(current_player) + 1) % 2] tic_tac_toe() ``` 这个程序会让两个玩家轮流下棋,直到有一方获胜或者棋盘填满。你可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值