人机对战五子棋-c#

人机对战五子棋是一款有趣的智力游戏。玩家需要与计算机进行对弈,通过策略和智慧来战胜对手。如果您想学习如何编写一个简单的五子棋程序,可以参考以下代码示例:
```csharp
using System;
namespace FiveInARow {
class Program {
static void Main(string[] args) {
Console.WriteLine("欢迎来到人机对战五子棋游戏!");
// 初始化棋盘
char[,] board = new char[15, 15];
for (int i = 0; i < 15> for (int j = 0; j < 15> board[i, j] = ' ';
}
}
// 玩家和计算机轮流下棋,直到有一方赢得游戏或平局
bool isComputerTurn = true; // 初始化谁先走(这里假设由计算机先手)
int playerScore = 0; // 记录玩家的得分
int computerScore = 0; // 记录计算机的得分
while (true) {
// 玩家下棋
if (!isComputerTurn && !HasWin(board)) {
Console.WriteLine("请输入你的下棋位置(例如:5,6)");
string[] input = Console.ReadLine().Split(','); // 获取玩家的输入坐标
int row = int.Parse(input[0]) - 1; // 调整行数,因为数组下标从0开始
int col = int.Parse(input[1]) - 1; // 调整列数,因为数组下标从0开始
if (board[row, col] == ' ') {
board[row, col] = isComputerTurn ? 'C' : 'P'; // 标记玩家或计算机的棋子
isComputerTurn = !isComputerTurn; // 交换谁先走
playerScore += IsWinningMove(board, row, col) ? 1 : 0; // 如果玩家的移动导致胜利,则得分加一
} else {
Console.WriteLine("该位置已被占据,请重新输入!");
}
}
// 计算机下棋
else if (isComputerTurn && !HasWin(board)) {
int[] computerMove = FindBestMove(board); // 找到计算机的最佳移动
board[computerMove[0], computerMove[1]] = isComputerTurn ? 'C' : 'P'; // 标记玩家或计算机的棋子
isComputerTurn = !isComputerTurn; // 交换谁先走
computerScore += IsWinningMove(board, computerMove[0], computerMove[1]) ? 1 : 0; // 如果计算机的移动导致胜利,则得分加一
}
}
Console.WriteLine("游戏结束!");
Console.WriteLine("玩家得分:" + playerScore);
Console.WriteLine("计算机得分:" + computerScore);
}
}
}
```
rar 文件大小:5.74MB