【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技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
随机推荐
- Spring BeanUtils的用法
package test; import java.util.Date; import org.springframework.beans.BeanUtils; import test.basic.B ...
- Visual Studio 创建WebServer
1.文件-->新建-->项目 2.Web-->Visual Studio 2012-->ASP.NET 空Web应用程序 3.右键项目-->添加-->新建项 4.选 ...
- hibernate-聚合函数分组统计数据查询
聚合函数: 实例: package Test; import static org.junit.Assert.*; import java.util.List; import org.hibernat ...
- 第5.5次Scrum会议
会议信息 时间:2016.10.25 21:30 时长:0.5h 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 会议内容 鉴于团队推进受阻,原PM 邓 与 原后端 冯 协商后决定之后一段时间 ...
- 常见linux命令释义(第五天)——shell变量学习
由于时间有限,我写这篇博客的时间上限为30分钟.仅作为学习笔记而用,内容会尽量的讲清楚.如果讲的不清楚,你来打我啊! 玩笑开过,正式开始今天的学习. linux系统的中一些命令是在/bin下,这个是一 ...
- tomcat密码的坑
<role rolename="tomcat"/> <role rolename="role1"/> <user username ...
- redis理解
1. Redis是什么 redis是nosql的一种. 这个问题的结果影响了我们怎么用Redis.如果你认为Redis是一个key value store, 那可能会用它来代替MySQL:如果认为它是 ...
- wpf 线程
一.线程概述:[引用MSDN] 通常,WPF 应用程序从两个线程开始:一个用于处理呈现,一个用于管理 UI.呈现线程有效地隐藏在后台运行,而 UI 线程则接收输入.处理事件.绘制屏幕以及运行应用程序代 ...
- wpf 窗体内容旋转效果 网摘
<Window x:Class="simplewpf.chuangtixuanzzhuan" xmlns="http://schemas.micros ...
- uC/OS-II标志(flag)块
/*************************************************************************************************** ...