作者花了大量时间来制作这个五子棋,今天就给大家看一下本作者的成果,请大家点个赞吧!谢谢!

#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;int time = 0, x, y;
string board[100];
bool W = false;
HWND hwnd = GetForegroundWindow();void SetFont(int size = 45) {CONSOLE_FONT_INFOEX cfi;cfi.cbSize = sizeof cfi;cfi.nFont = 0;cfi.dwFontSize.X = 0;cfi.dwFontSize.Y = size;cfi.FontFamily = FF_DONTCARE;cfi.FontWeight = FW_NORMAL;SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_FONT_INFO consoleCurrentFont;GetCurrentConsoleFont(handle, FALSE, &consoleCurrentFont);
}void color(string C) {if(C == "clear") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);else if(C == "yellow") SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);else SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
}void cboard() {cout << "\n";for(int i = 16; i <= 25; i++) {cout << "        ";for(int j = 16; j <= 25; j++) {if (board[i][j] == '+') {color ("yellow");cout << "+";}else if (board[i][j] == '!'){color ("clear");cout << "!"; }else {color ("white");cout << "。";}}color("white");cout << i - 15;cout << "\n";}color("white");cout << "        ";for(int i = 1; i <= 10; i++) cout << i << " ";
}void down(string C) {bool t = true;do {if(t == false) cout << "此位置已被占据!\n";cboard();cout << "\n黑方棋子为“";color("clear");cout << "!";color("white");cout << "”,白方棋子为“。”\n";if(C == "black") cout << "黑";else cout << "白";cout << "方行棋!\n请输入要落子的位置行数: ";cin >> x;bool T = true;do {if(T == false) {system("cls");cout << "不符合输入规范!";cboard();cout << "\n黑方棋子为“" ;color ("clear");cout << "!";color("white");if(C == "black") cout << "黑";else cout << "白";cout << "方行棋!\n请输入要落子的位置行数: ";cin >> x;}if(x >= 1 && x <= 10) T = true;else T = false;} while(T == false);system("cls");cboard();cout << "\n黑方棋子为“" ;color("clear");cout << "!";color("white");if(C == "black") cout << "黑";else cout << "白";cout << "方行棋!\n请输入要落子的位置列数: ";cin >> y;do {if(T == false) {system("cls");cout << "不符合输入规范!";cboard();cout << "\n黑方棋子为“" ;color("clear");cout << "!";color("white");if(C == "black") cout << "黑";else cout << "白";cout << "方行棋!\n请输入要落子的位置列数: ";cin >> y;}if(y >= 1 && y <= 10) T = true;else T = false;} while(T == false);if(board[x + 15][y + 15] == '+') t = true;else t = false;system("cls");} while(t == false);x += 15, y += 15;if(C == "black") board[x][y] = '!';else board[x][y] = '.';time++;
}bool win(char P) {int i, j, p, q;int x1 = max(16, x - 4);int x2 = min(x + 4, 26);int y1 = max(16, y - 4);int y2 = min(y + 4, 26);for(i = x1; i <= x2 - 4; i++) {int sum = 0;for(j = i; j < i + 5; j++) {if(board[j][y] == board[x][y]) sum++;else break;}if(sum == 5) return true;}for(i = y1; i <= y2 - 4; i++) {int sum = 0;for(j = i; j < i + 5; j++) {if(board[x][j] == board[x][y]) sum++;else break;}if(sum == 5) return true;}for(i = x, j = y; i > x1 && j > y1; i--, j--);for(; i <= x2 - 4 && j <= y2 - 4; i++, j++) {int sum = 0;for(p = i, q = j; p < i + 5; p++, q++) {if(board[p][q] == board[x][y]) sum++;else break;}if(sum == 5) return true;}for(i = x, j = y; i > x1 && j < y2; i--, j++);for(; i <= x2 - 4 && j >= y1 + 4; i++, j--) {int sum = 0;for(p = i, q = j; p < i + 5; p++, q--) {if(board[p][q] == board[x][y]) sum++;else break;}if(sum == 5) return true;}return false;
}int main () {SetFont();SetWindowText(hwnd, "五子棋 1.0");system("mode con cols=40 lines=16");color("white");Sleep(1000);cout << "             健康游戏忠告\n      抵制不良游戏,拒绝盗版游戏。\n      注意自我保护,谨防受骗上当。\n      适度游戏益脑,沉迷游戏伤身。\n      合理安排时间,享受健康生活。";Sleep(5000);while(1) {for(int i = 16; i <= 25; i++) board[i] = "++++++++++++++++++++++++++++++++++++++++++++++++++++";system("cls");color("clear");cout << "版本: 1.0\n\n\n            ";color("white");cout << "单机双人五子棋\n\n\n\n\n\n\n\n\n\n\n\n";color("clear");cout << "            点击任意键开始";getch();system("cls");while(1) {down("black");if (win('!')) {system("cls");cboard();cout << "\n黑方棋子为“";color("clear");cout << "!";color("white");cout << "”,白方棋子为“。”\n";cout << "黑棋胜利!对局结束!点击任意键退出对局!";getch();return 0;}if(time == 100){system("cls");cout << "棋盘已满,对局结束,双方平局!";getch();return 0;}down("white");if(win('.')){system("cls");cboard();cout << "\n黑方棋子为“";color("clear");cout << "!";color("white");cout << "”,白方棋子为“。”\n";cout << "白棋胜利!对局结束!点击任意键退出对局!";getch();return 0;}if(time == 100) {system("cls");cout << "棋盘已满,对局结束,双方平局!";getch();return 0;}}}getch();return 0;
}

代码就没了,点个赞吧!感谢支持!

c++ 制作五子棋游戏相关推荐

  1. 如何用python制作五子棋游戏_Python制作打地鼠小游戏

    原文链接 Python制作小游戏(二十一)​mp.weixin.qq.com 效果展示 打地鼠小游戏https://www.zhihu.com/video/1200492442610450432 简介 ...

  2. javafx 制作五子棋游戏——简单MVC框架

    目录 游戏描述 上手须知 源码地址 项目结构 一.实体层 二.视图层 三.控制器 四.测试 效果图 游戏描述 一个五子棋游戏,能实现双方黑白对决,当一方获胜时给出提示信息,利用Javafx实现GUI界 ...

  3. python五子棋游戏15*15_python实现五子棋游戏(pygame版)

    分享python 编写的五子棋游戏 分享高手给用python编写一个五子棋游戏,需要代码. .心里知道有这么回事,白天就很正常晚上就胡思乱想,事已至此小编们都该向前走一步了. 请用PYTHON编一个小 ...

  4. c语言改u3d游戏,使用Unity3D怎么制作一个五子棋游戏

    使用Unity3D怎么制作一个五子棋游戏 发布时间:2021-04-17 17:56:36 来源:亿速云 阅读:106 作者:Leah 本篇文章为大家展示了使用Unity3D怎么制作一个五子棋游戏,内 ...

  5. 用c语言做一个五子棋程序,C语言制作简单五子棋游戏

    原标题:C语言制作简单五子棋游戏 C语言制作简单的五子棋游戏 学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是不 ...

  6. 五子棋游戏程序设计制作(C语言)

    五子棋游戏程序设计制作 大家都玩过手机的小游戏吧.我是编程爱好者,喜欢动脑筋研究一些算法,编程做出小游戏程序,很有趣很有成就感.在学习VB6编程时就编制过钻石棋和伤脑筋十二块那样的游戏,都是标准Win ...

  7. 简单五子棋游戏c语言简单,C语言制作简单的五子棋游戏

    原标题:C语言制作简单的五子棋游戏 C语言制作简单的五子棋游戏 学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是 ...

  8. python制作五子棋_python制作简单五子棋游戏

    python制作简单五子棋游戏 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: python制作简单五子棋游戏.txt ] (友情提示:右键点上行txt文档名->目标另存 ...

  9. python五子棋游戏from tkinter import_Python tkinter制作单机五子棋游戏

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python家庭,作者Python家庭 实战项目:使用Python ...

最新文章

  1. AI如何反低俗?今日头条推内容检测工具“灵犬”3.0,首次公开其技术原理
  2. 欧拉函数和最大公约数的组合应用
  3. 解决VS2013无法安装ArcObjects10.2的问题
  4. java 位运算符赋值_java-运算符(算术、赋值 =、关系、逻辑、三元、位运算符)...
  5. JSP的文件上传处理
  6. 5月份,我居然发了这么多文章?我果然无聊.
  7. NHMicro业务脚本热部署快速开发框架介绍
  8. C语言自学《三》---- 条件判断
  9. ECharts实例开发学习笔记二——时间轴
  10. 精选算法题(1)——枚举符合要求的算术表达式(DFS、回溯法)
  11. linux cuda 安装目录,Ubuntu16.04 CUDA和GPU的最简最全安装方案及常见问题解决方法,G...
  12. Aibaba Dubbo 的前世今生以及黑历史 主程序员梁飞 阿里P9(2016年查看)
  13. a as as big rat_12句英语绕口令,你能一口气读完几句?
  14. visio如何忽略跳线|跨线
  15. SpringBoot集成SpringSecurity步骤
  16. 【信号隐藏】基于lsb算法实现音频水印嵌入提取matlab代码
  17. H3BPM实例分享——金额规则大写
  18. 如何将720P的mp4视频转换成1080P的视频?视频分辨率如何修改?
  19. linux下 Apache 配置虚拟主机三种方式
  20. BP神经网络的简单应用

热门文章

  1. 32.构造ICMP请求包进行路由跟踪
  2. 洛谷-P1010-幂次方-普及(摁写+递归/二进制+递归)
  3. Windowser Server 2012 开放端口方法
  4. 成为最厉害的白帽黑客,需要经历什么?
  5. Linux运维|记录一个挖矿病毒
  6. 爆强笑话,笑不翻你才怪我吐血!!!
  7. 网站备案靠谱吗_域名快速备案靠谱吗
  8. 稳住,能进大厂,腾讯T3大佬整理阿里、百度、京东、美团等面试题汇总
  9. 区间(interval)
  10. 大气严谨学术汇报PPT模板