C语言实现简单网络版五子棋(服务器与客户端)

本小游戏是在Linux下实现的(因为我不会Windows网络编程),这次实现的仅仅是服务器与客户端之间进行互动,彼此只要互相发送下点的坐标就ok,用结构体存放坐标,各自收到坐标后进行下子,以及判断结果。 本篇文章里只涉及部分代码,更多是步骤介绍,实现方法以及思路 源码在这里()->https://github.com/Xiaoyejun/learngit/commit/44caec515...
摘要由CSDN通过智能技术生成

本小游戏是在Linux下实现的(因为我不会Windows网络编程),这次实现的仅仅是服务器与客户端之间进行互动,彼此只要互相发送下点的坐标就ok,用结构体存放坐标,各自收到坐标后进行下子,以及判断结果。
本篇文章里只涉及部分代码,更多是步骤介绍,实现方法以及思路
源码在这里()->https://github.com/Xiaoyejun/learngit/commit/44caec515cb7194eb8119ba4c4b3d75473e729d1(绿色部分)

小游戏介绍

五子棋大家肯定都玩过,无非就是你下子来我来赌,能赢全靠运气(这里说的是本人)。要想实现一个简易的五子棋小游戏,需要的也就是三点 : 1、棋盘 2、黑子/白子(这里我们用两个不同的字符区分黑白方) 3、游戏规则

游戏实现

  • 首先我们打印一张棋盘,范围自己控制,我这里是10*10的棋盘,打印前进行初始化
void InitBoard(char board[ROWS][COLS],int row, int col)
{
//每个坐标的初始值我用空格代替
    memset(board,' ',row*col*sizeof(char));
}
//打印棋盘
void PrintBoard(char board[ROWS][COLS],int row,int col)
{
    int  i = 0;
    printf("    1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10\n");
    for(; i < row;i++)
    {
        printf("%2d ",i+1);
        int j = 0;
        for(; j < col;j++)
        {
            if( j == col-1 )
            {
                printf(" %c \n",board[i][j]);
                if(i != row-1)
                    printf("   ---|---|---|---|---|---|---|---|---|---\n");
                break;
            }
            printf(" %c ",board[i][j]);
            printf("|");
        }

    }
}     

结果
这里写图片描述

  • 游戏规则:
    • 不能下到边界外
    • 不能下到已有子处
    • 有一方赢游戏就结束,或者双方平局

看起来是不是很简单,实际上它就是很简单,因为这只是1.0版本的,以后我会努力推出高级版本,大家拭目以待。

玩家移动代码:

//移动
void CommonMove(char board[ROWS][COLS],Point* point,char ch) 
{
    if(point == NULL)
    {   
        return;
    }   
    int x = point->row;
    int y = point->col;
    //如果棋盘满了的话就退出循环,也就是不能再下子了
    while(1)
  • 8
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值