【GXZ的原创】C++小游戏——五子棋
前些时候考完试自己编的带有胜负判定的五子棋。
操作方法:WSAD或↑↓←→移动下棋位置,Space或Enter放置。
如果游戏出现bug,欢迎大家在评论区反馈。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
#include <algorithm>
#include <conio.h>
#include <windows.h>
using namespace std;
#define fblack() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE) , BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE)
#define fwhite() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE) , FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);
][] , mx = , my = , turn = , nap;
char ch;
void go(int x , int y)
{
COORD pos = {x , y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut , pos);
}
void pmap()
{
puts("");
puts(" ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │↘│↙│ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │↗│↖│ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤");
puts(" │ │ │ │ │ │ │ │ │ │ │ │ │ │ │");
puts(" └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘\n");
}
void movemouse(int ax , int ay , int bx , int by)
{
go( + ay * - , ax * - );
printf(" ");
go( + ay * - , ax * - );
printf(" ");
go( + ay * - , ax * );
printf(" ");
go( + ay * - , ax * );
printf(" ");
go( + by * - , bx * - );
printf("↘");
go( + by * - , bx * - );
printf("↙");
go( + by * - , bx * );
printf("↗");
go( + by * - , bx * );
printf("↖");
go( , );
}
void changechess(int x , int y , int p)
{
go( + y * - , x * - );
)
{
fblack();
printf("●");
}
else
{
fwhite();
printf("●");
}
map[x][y] = p;
fblack();
go( , );
}
bool judge(int lx , int ly , int p)
{
int x , y , n;
x = lx;
y = ly;
n = ;
&& map[x][y] == p)
{
n ++ ;
x -- ;
}
x = lx + ;
y = ly;
&& map[x][y] == p)
{
n ++ ;
x ++ ;
}
)
{
;
}
x = lx;
y = ly;
n = ;
&& map[x][y] == p)
{
n ++ ;
y -- ;
}
x = lx;
y = ly + ;
&& map[x][y] == p)
{
n ++ ;
y ++ ;
}
)
{
;
}
x = lx;
y = ly;
n = ;
&& y >= && map[x][y] == p)
{
n ++ ;
x -- ;
y -- ;
}
x = lx + ;
y = ly + ;
&& y <= && map[x][y] == p)
{
n ++ ;
x ++ ;
y ++ ;
}
)
{
;
}
x = lx;
y = ly;
n = ;
&& y <= && map[x][y] == p)
{
n ++ ;
x -- ;
y ++ ;
}
x = lx + ;
y = ly - ;
&& y >= && map[x][y] == p)
{
n ++ ;
x ++ ;
y -- ;
}
)
{
;
}
;
}
int main()
{
system("color 70");
system("mode con cols=80 lines=35");
pmap();
)
{
while(ch = getch())
{
)
{
ch = getch();
&& my > ) //l
{
movemouse(mx , my , mx , my - );
my -- ;
}
&& my < ) //r
{
movemouse(mx , my , mx , my + );
my ++ ;
}
&& mx > ) //u
{
movemouse(mx , my , mx - , my);
mx -- ;
}
&& mx < ) //d
{
movemouse(mx , my , mx + , my);
mx ++ ;
}
}
else if(ch == 'a') //l
{
movemouse(mx , my , mx , my - );
my -- ;
}
else if(ch == 'd') //r
{
movemouse(mx , my , mx , my + );
my ++ ;
}
else if(ch == 'w') //u
{
movemouse(mx , my , mx - , my);
mx -- ;
}
else if(ch == 's') //d
{
movemouse(mx , my , mx + , my);
mx ++ ;
}
|| ch == )&& !map[mx][my])
{
changechess(mx , my , turn);
nap ++ ;
break;
}
}
if(judge(mx , my , turn))
{
)
{
printf(" 黑方胜!\n\n");
}
else
{
printf(" 白方胜!\n\n");
}
break;
}
)
{
printf(" 平局!\n\n");
break;
}
turn = - turn;
}
Sleep();
printf(" ");
system("pause");
;
}
【GXZ的原创】C++小游戏——五子棋的更多相关文章
- 原创跑酷小游戏《Cube Duck Run》 - - 方块鸭快跑
自从unity5出来才开始关注unity,业余时间尝试做了个小游戏: <方块鸭快跑> (Cube Duck Run) 像素风,3d视角,色彩明快,有无尽和关卡两种模式. 应用连接: goo ...
- c++小游戏--五子棋
大家好,我是芝麻狐! 这是我自制的小游戏,目前仅支持devc++. 如果你没有c++软件, 请打开网站GDB online Debugger | Compiler - Code, Compile, R ...
- c++小游戏——五子棋
#include<iostream> #include<iomanip> #include<cstring> using namespace std; const ...
- 介绍一款Android小游戏--交互式人机对战五子棋
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6589025 学习Android系统开发之余,编 ...
- js小游戏:五子棋
使用纯js的小游戏,五子棋 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 小游戏——js+h5[canvas]+cs3制作【五子棋】小游戏
五子棋小游戏学习—— 有一个问题是,棋盘线的颜色,在canvas中,明明设置了灰色,但在我的预览中还是黑色的,很重的颜色. 以下是复刻的源码: <!DOCTYPE html> <ht ...
- Java五子棋小游戏(控制台纯Ai算法)
Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...
- 基于FPGA的飞机的小游戏
基于FPGA的飞机的小游戏 实验原理 该实验主要分为4个模块,采用至上而下的设计方法进行设计.由50M的晶振电路提供时钟源,VGA显示控制模块.图形显示控制模块.移动模块的时钟为25M,由时钟分频电路 ...
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
随机推荐
- 本地连接虚拟机上面的redis
想做一个抓取系统,想到用redis存储临时数据可能会比较好些,就想着装个虚拟机,在虚拟机上面安装redis,通过本地来访问虚拟机上面的redis. 虚拟机和redis安装成功之后,发现本地怎么都连接不 ...
- RabbitMQ代码第一步
Hello RabbitMQ 终于到了使用.Net连接RabbitMQ的时候了,我们首先新建一个控制台应用程序,在程序包管理控制器中NuGet中下载 RabbitMQ. Install-Package ...
- EF-CodeFirst-1 玩起来
注本文是学习旺杰兄的CodeFirst系列所写 CodeFirst CodeFirst是一种全新的玩法,代码先行使得我们更了解实体之间的关系.而且更加符合了DDD领域驱动设计的思想 .所以CodeFi ...
- CF 208A Dubstep(简单字符串处理)
题目链接: 传送门 Dubstep Time Limit: 1000MS Memory Limit: 32768 KB Description Vasya works as a DJ in t ...
- 解决冲突-git入门教程
人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new ...
- JAva使用DOM读取XML数据(解析)
原来一切都是有套路的 使用DOM解析XML文档步骤 1.创建解析器工厂对象 DocumentBuildFactory对象 2.由解析器工厂对象创建解析器对象,即DocumentBuilder对象 3. ...
- JQuery------$.get()和$.post()传递数据的使用方法
菜鸟教程地址: http://www.runoob.com/jquery/jquery-ref-ajax.html html(../Home/Index.cshtml) <!DOCTYPE ht ...
- JavaWeb学习笔记——DAO设计模式
- Xcode如何编译Debug版和Release版
在Run和Stop按钮的右边有一个工程名 点击工程名,选择Manage Schemes 选择Edit... 左侧选择Run ProjectName.app 右侧选择Info页,在Build Confi ...
- ecshop添加上传图片
基础 cls_images.php: function upload_image(){} $_FILES 输出值:Array ( [group_thumb_url] => Array ( [n ...