想过七夕?->女朋友陪你玩游戏(C)(上)

简介: 三子棋七夕到了,没有女朋友怎么办?没事~ 写一个小游戏,让女朋友陪你玩三子棋~

三子棋



七夕到了,没有女朋友怎么办?没事~ 写一个小游戏,让女朋友陪你玩三子棋~


1.展示棋盘


这部分我折腾了很久,因为展示出来的效果是实现能通过更改ROW和COL的值来展示不同大小的棋盘


只能不断的调整–观察发现最后一行不打印横线,最后一列不打印竖杠

void Displayboard(char board[ROW][COL], int row, int col)
{
  int i, j,k;
  for (i = 0; i < row; i++)
  {
    for (j = 0; j < col; j++)
    {
      if(j<col-1)
      printf(" %c |", board[i][j]);
        if (j == col-1 )
      {
        printf(" %c \n", board[i][j]);
      }
    }
    for (j = 0;j<col; j++)
    {
      if (j <col-1 && i!=row-1)
      {
        printf("---|");
      }
    }
    if (i != row - 1)
    {
        printf("---");
          printf("\n");
    }
  }
}


效果如下:

3539ebef40914f90a9e5f30fd999dffd.png


通过更改ROW和COL的值来展示不同大小的棋盘:


三子棋:

f63cc01a747f4def98da9138708423dd.png


五子棋:

0f45fcd55bf44484bdba586701f311cf.png


七子棋:

66177531ca6d4cd78b3d8eacfd0336d7.png


2. 玩家落子


注意:每次落子完要重新打印一次棋盘


当输入坐标错误或者已经有棋子的时候要进行相应的提示

void PlayerMove(char board[ROW][COL], int row, int col)//玩家落子
{
  int x, y;
  while (1)
  {
    printf("请玩家落子>");
    printf("请输入棋子行列坐标:\n");
    scanf("%d%d", &x, &y);
    if (x >= 1 && x <= row && y >= 1 && y <= col)
    {
      if (board[x - 1][y - 1] == ' ')//数组的真实下标从0开始
      {
        board[x - 1][y - 1] = '*';
      }
      else
      {
        printf("坐标被占用,请重新输入");
      }
    }
    else
      printf("输入坐标非法,请重新输入\n");
    Displayboard(board, ROW, COL);
  }
}

decbfbab7b1149409f3a1eeb80899811.png


3.女朋友落子


注意:这里需要生成随机数,并且引用相应的头文件

void ComputerMove(char board[ROW][COL], int row, int col) 
{
  int x, y;
  printf("\n");
  printf("女朋友下棋:\n");
  while (1)
  {
    x = rand() % row;
    y = rand() % col;
    if (board[x][y] == ' ')
    {
      board[x][y] = '#';
      break;
    }
  }
  Displayboard(board, ROW, COL);  
}


生成随机数:

e093a2a9c68d43358a73f91c7bd92931.png


头文件:

236f167e35d54865bb586852172578b4.png


效果如下

24a66d761eb045cfb144b34a706af5ca.png


4.判断游戏输赢


结局共有三个:女朋友赢,你赢,平局


根据四种返回值来判段


你赢-- ‘*’

女朋友赢–’#’

平局–‘Q’

继续–‘C’

char isWin(char board[ROW][COL], int row, int col)
{
  //1.判断输赢
  int i;
  for (i = 0; i < row; i++)//判断行是否相等
  {
    if (board[i][0] == board[i][1] && board[i][0] == board[i][2] && board[i][0] != ' ')
    {
      return board[i][0];
    }
  }
  for (i = 0; i < row; i++)//判断列是否相等
  {
    if (board[0][i] == board[1][i] && board[0][i] == board[2][i] && board[0][i] != ' ')
    {
      return board[0][i];
    }
  }
  if (board[2][0] == board[1][1] && board[0][2] == board[2][0] && board[2][0]!=' ')//判断对角线
  {
    return board[2][0];
  }
  if (board[0][0] == board[1][1] && board[0][0] == board[2][2] && board[0][0] != ' ')
  {
    return board[0][0];
  }
  //2.判断平局
  if (isFull(board, row, col) == 1)
  {
    return 'Q';
  }
  else return 'C';
}


5.最终效果


平局:8a7c4838ab43410e8a63a1583c5b3da6.png


女朋友赢:


f8ae095890ae42bebb622c0f31007edd.png


玩家赢:


c5e6538fe9f1433ea6840a6812a40ef0.png


最终的所有的代码如下:


我的gitee–和女朋友玩的三子棋小游戏



相关文章
|
9月前
|
移动开发 前端开发 JavaScript
童年回忆——开心消消乐(内含源码inscode一键运行)
童年回忆——开心消消乐(内含源码inscode一键运行)
|
9月前
|
前端开发 JavaScript 程序员
程序员教你用代码制作圣诞树,正好圣诞节拿去送给女神给她个惊喜
使用HTML、CSS和JavaScript实现了一个圣诞树效果,包括一个闪烁的圣诞树和一个动态的光斑。代码包含一个&lt;div&gt;元素作为遮罩,一个&lt;canvas&gt;元素绘制星星动画,以及一个SVG元素绘制圣诞树。页面还包含一个提示用户先点赞再观看的提示。此效果适用于任何浏览器,推荐使用谷歌浏览器。提供了一段HTML代码,可以直接复制粘贴到文件中并以.html格式打开查看效果。
254 0
|
9月前
|
JavaScript 前端开发 Java
程序员在七夕如何用各大编程语言写浪漫情书呢?
程序员在七夕如何用各大编程语言写浪漫情书呢?
254 6
|
开发工具
想学做游戏到底该怎么学
嗨!大家好,我是小蚂蚁。 遇到过很多想学习做游戏却又不得章法的人,有些人可能只是有个想法,有些人真的付诸了行动。但是大部分人最终都是以失败而告终的,不是说最终没有做出来一个游戏,而是连第一步的门槛也没迈的过去。 做游戏做了这么多年,也教了不少的学员,我觉得我至少有一定的经历,可以来说一下,想学习做游戏到底该怎么学。
245 0
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏12之英雄自由行走
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏12之英雄自由行走
187 0
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏13之英雄不要走出屏幕
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏13之英雄不要走出屏幕
166 0
|
Web App开发 JavaScript 前端开发
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
167 0
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
|
存储 JavaScript 安全
妈妈,我要做游戏, 一文告诉你怎么入行游戏开发
经常在csdn 上看到我用java 做了什么游戏,我用python做了什么游戏,而且很多人阅读,我只想说你们都是弟弟,都是外行,你们写的那张根本就不是游戏行业的生产方式,连个玩具都不算,自嗨还行,没有一点专业性,专业的还是要看我的,正儿八经的做游戏的。
261 0
妈妈,我要做游戏, 一文告诉你怎么入行游戏开发
想过七夕?->女朋友陪你玩游戏(C)(中)
在一定数值范围内,游戏随机生成一个数字,玩家输入比随机数大的数字时,程序会提醒,数值大于目标数,反之亦然。通过不断试错,最终找出目标数字。此游戏可以重复玩。
想过七夕?->女朋友陪你玩游戏(C)(中)
想过七夕?->女朋友陪你玩游戏(C)(下)
七夕到了,没有女朋友怎么办?没事~ 写一个小游戏,让女朋友陪你玩扫雷~
想过七夕?->女朋友陪你玩游戏(C)(下)

热门文章

最新文章