简单的三子棋游戏

简单的三子棋游戏,我能力有限把电脑玩家的走子写的比较简单。

#include<stdio.h>

void qipan()

{

printf("_ _|_ _|_ _\n");

printf("_ _|_ _|_ _\n");

printf("_ _|_ _|_ _\n");

}

void player_and_pcdo()

{

int i = 0, j = 0;

static char a[3][3] = { ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘ };

printf("请输入棋子的位置:");

scanf("%d %d", &i, &j);

a[i - 1][j - 1] = ‘X‘;

i = 0, j = 0;

for (i = 0; i < 3; i++)

{

for (j = 0; j < 3;j++)

{

if (a[i][j] == ‘ ‘ && a[i][j]!=‘X‘)

{

a[i][j] = ‘O‘;

goto flag1;

}

}

}

flag1:

printf("_%c_|_%c_|_%c_\n", a[0][0], a[0][1], a[0][2]);

printf("_%c_|_%c_|_%c_\n", a[1][0], a[1][1], a[1][2]);

printf("_%c_|_%c_|_%c_\n", a[2][0], a[2][1], a[2][2]);

if ((a[0] == ‘X‘) | (a[1] == ‘X‘) | (a[2] == ‘X‘) | ((a[0][0] == ‘X‘) && (a[1][1] == ‘X‘) && (a[2][2] == ‘X‘)) | ((a[0][2] == ‘X‘) && (a[1][1] == ‘X‘) && (a[2][0] == ‘X‘)))

{

printf("player win!!!!!!\n");

}

else if ((a[0] == ‘O‘) | (a[1] == ‘O‘) | (a[2] == ‘O‘) | ((a[0][0] == ‘O‘) && (a[1][1] == ‘O‘) && (a[2][2] == ‘O‘)) | ((a[0][2] == ‘O‘) && (a[1][1] == ‘O‘) && (a[2][0] == ‘O‘)))

{

printf("player win!!!!!!\n");

}

}

int main()

{

int i = 0, j = 0;

qipan();

for (; i <= 2; i++)

{

player_and_pcdo();

}

system("pause");

return 0;

}

时间: 2024-10-06 14:04:21

简单的三子棋游戏的相关文章

一个简单的三子棋游戏(c语言实现)

题目是:在一个3*3大小的矩阵中下棋一方有连续三个子便获胜 代码如下: #include<stdio.h> #include<stdlib.h> #include<time.h>               char arr[3][3] = { 0 };            //直接定义外部变量所有的函数可以直接使用    因为考虑到棋盘大小是固定的 int size = 9;                   //棋盘大小固定  每下一个子都会使可以下子的容量-1

C语言编程 三子棋 游戏

#include<stdio.h> #include<stdlib.h> #include<windows.h> #define amu 3 void menu()//菜单界面 { printf("***********************************************\n"); printf("********** 欢 迎 来 到 三 子 棋 游 戏 *********\n"); printf("

三子棋游戏

#include<stdio.h> #include<stdlib.h> #include<time.h> void chess_board(char arr[3][3])          //打印棋盘 {    int i = 0;    int j = 0;    for (i = 0; i < 3; i++)    {        printf( " %c | %c | %c \n", arr [i][0], arr[i][1], a

用C语言实现三子棋游戏

1.头文件部分#ifndef _THREE_CHESSH#define _THREE_CHESSH #include<stdio.h>#include<windows.h>#include<string.h>#include<time.h>#pragma warning(disable:4996) #define ROW 3#define COL 3 void ShowUI();void Game();void ComputerMove(char board

c语言&quot;黑框框&quot;下不忍直视的三子棋实现

今天发一个界面丑到爆,无比Low的三子棋程序 同样,win32 无图形界面 输入坐标进行交互, X代表玩家下子,0代表电脑下子(rand()函数随机产生合法坐标落子),率先连成三子则胜利.棋盘满未连成三子则平局. 程序比较简单直接发源码.三个块,game.h代表程序所需头文件.宏定义.函数声明,test.c代表程序游戏逻辑,game.c代表程序定义函数实现. 代码未优化,尽请见谅. game.h: /* 此头文件包含test.c所需头文件及相关函数声明 */ #ifndef __GAME_H__

企业内训实录:三子棋版阿尔法狗项目及视频面试应用开发

课程下载:https://pan.baidu.com/s/1pPIgDBYiqirDGibxrUWuag 提取码: g9xd 本课程设计三大部分的企业应用:一.数据SQL***的企业防御解决方案(SQLiGoT深入讲解):二.仿AlphaGO的三子棋游戏核心开发技术与模拟实现:三.人工智能视频面试技术 :三个小项目分别属于企业热门经典应用,涉及的技术包括但不限于:SQL.数据库.数据库安全,SVM算法原理.实现及企业真实场景应用.人机对战.前端REACT实现.人工智能相关库的调用.人脸识别算法原

益智趣味小游戏之三子棋

同五子棋,三子棋即在九宫格里能实现三个棋子连在一起即获胜 //未修改写法,实现了功能但是繁琐不美观且有很多不健全的地方 #include<stdio.h> #include<stdlib.h> void init(int arr[][3])//初始化数组 { int i = 0; for (i = 0; i < 3; i++) { printf(" %c | %c | %c ", arr[i][0], arr[i][1], arr[i][2]); if (

写一个三子棋小游戏的感悟

在写之前,我已经把函数的结构设计出来,主要由以下几个函数实现: 1:初始化棋框 2:玩家下棋 3:电脑下棋 4:判断胜负 5:更新棋框 6:主函数 在写的过程中碰到了不能将玩家下的位置放入棋框中,原因是在函数定义过程中没有将二维数组引入, 导致棋框更新不正确,在函数中引用二维数组时,因为c语言编译系统不检查第一维的大小,只要第二维大小相同,形参数组第一维可以与实参不同,因此在函数定义时只需要写int qk(arr[][i]),i为常数,在主函数调用时只需要写qk(arr)即可,因为数组名本身就是

C语言 三子棋 小游戏

//C语言 三子棋 小游戏 //棋盘为3x3大小,电脑棋子 X ,玩家 O : //用命令窗口模拟3子棋,玩家与电脑轮流下,先连成3子判赢:无路可走判平局 #include<stdio.h> #include<string.h> #include<windows.h> int judge_is_moved(char arr[][12], int place); void print_chessboard(char arr[][12])//输出棋盘 { int i = 0