• 售前

  • 售后

热门帖子
入门百科

c语言实现和电脑对峙三子棋

[复制链接]
朗读者72 显示全部楼层 发表于 2022-1-12 12:09:24 |阅读模式 打印 上一主题 下一主题
目录

前言
三子棋
一.准备需要的函数
1.棋盘
2.各自下棋
3.输赢判断
二.游戏实现
2.游戏本体的构建
总结


前言

前两天在牛客网写了一道题,关于KiKi和BoBo玩 “井”字棋,请根据棋盘状态,判断当前输赢。也就是说系统给你一个已经下好的棋,让你来判断谁输谁赢还是平局。写完这道题也不禁让我有点想法,能不能写一个代码来实现我和电脑对峙三子棋,边下棋系统边判断是否输赢或者平局,否则继续下棋。经过一天查阅资料,观看视频,自己实践,终于实现了我当初的想法,现在来分享给大家我自己的思路。
三子棋

一.准备需要的函数

1.棋盘

①构建
三子棋的棋盘肯定是必不可少,我们可以利用void函数来实现一个空的棋盘,让他为九宫格然后每一个格子都是空
  1. void intiboard(char arr[ROW][COL], int row, int col)//初始化棋盘
  2. {
  3.         for (int i = 0; i < row; i++)
  4.         {
  5.                 for (int j = 0; j < col; j++)
  6.                 {
  7.                         arr[i][j] = ' ';
  8.                 }
  9.         }
  10. }
复制代码

②美化棋盘
棋盘肯定得有棋盘的样子,我们得美化一下键盘,我的思路是在横列上先打印'|'然后打印字符,在竖列上直接打印|---,然后循环。
  1. void displayboard(char arr[ROW][COL], int row, int col)//打印棋盘
  2. {
  3.         for (int i = 0; i < row; i++)
  4.         {
  5.                 for (int j = 0; j < col; j++)
  6.                 {
  7.                         printf("|");
  8.                         printf(" %c ", arr[i][j]);                       
  9.                 }
  10.                 printf("\n");
  11.                 {
  12.                         for (int k = 0; k < col; k++)
  13.                         {
  14.                                 printf("|---");
  15.                         }
  16.                         printf("\n");
  17.                 }
  18.         }
  19. }
复制代码
最后实现是这样的。

2.各自下棋

①玩家下棋
玩家这部分我们需要自己输入横竖坐标,但是实际上数组的是从0开始的,因此我们输入的时候应该给玩家输入的实际坐标减一,假如玩家输出超出范围或者输入的值被电脑抢先输入程序会反馈重新输入,这边使用while循环也成功实现了这一点,直到找到break才可以跳出这个循环。
[code]void playermove(char arr[][COL], int row, int col)//玩家回合{        int x = 0;        int y = 0;        printf("玩家回合\n");        while (1)//一直循环直到break        {                printf("请输入你想要下的坐标\n");                scanf_s("%d %d", &x, &y);                if (x >= 1 && x = 1 && y

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作