自闭枪战C++
Player1: ad左右移动,w跳,jk发射子弹
Player2: 左右键左右移动,上键跳,23发射子弹
#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h> using namespace std; int jump[] = {, -, -, -, -}; char mmp[][] = {"\nO # # @",
"\n## ##",
"\n ### ### ",
"\n ",
"\n#### ####",
"\n ",
"\n ######################## ",
"\n ",
"\n ",
"\n############ ############",
"\n ",
"\n ",
"\n ###### ###### ",
"\n ",
"\n ",
"\n ###### ",
"\n ",
"\n######## ########",
"\n ###### ###### ",
"\n "
}; int main() { int xp1 = , yp1 = , xp2 = , yp2 = , tick = ;
char ch;
int score1 = , score2 = , jumpdelay1 = , jumpdelay2 = ; while () { Sleep();
HANDLE hout;
COORD coord;
coord.X=;
coord.Y=;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,coord);
fwrite(mmp, , * , stdout);
printf("\nscore: 1:%d 2:%d", score1, score2); if (jumpdelay1 > ) { if (xp1 + jump[jumpdelay1] > && mmp[xp1 + jump[jumpdelay1]][yp1] == ' ') { mmp[xp1][yp1] = ' ';
xp1 += jump[jumpdelay1];
mmp[xp1][yp1] = 'O'; }
if (xp1 + jump[jumpdelay1] > && (mmp[xp1 + jump[jumpdelay1]][yp1] == '<' || mmp[xp1 + jump[jumpdelay1]][yp1] == '>')) { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; }
if (xp1 + jump[jumpdelay1] > && mmp[xp1 + jump[jumpdelay1]][yp1] == '#') { jumpdelay1 = ; }
if (xp1 + jump[jumpdelay1] > && mmp[xp1 + jump[jumpdelay1]][yp1] == '@') { jumpdelay1 = ; }
jumpdelay1--; } else { if (xp1 == ) { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } else { if (mmp[xp1 + ][yp1] == ' ') { mmp[xp1][yp1] = ' ';
xp1++;
mmp[xp1][yp1] = 'O'; }
if (mmp[xp1 + ][yp1] == '<' || mmp[xp1 + ][yp1] == '>') { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } } }
if (jumpdelay2 > ) { if (xp2 + jump[jumpdelay2] > && mmp[xp2 + jump[jumpdelay2]][yp2] == ' ') { mmp[xp2][yp2] = ' ';
xp2 += jump[jumpdelay2];
mmp[xp2][yp2] = '@'; }
if (xp2 + jump[jumpdelay2] >= && (mmp[xp2 + jump[jumpdelay2]][yp2] == '<' || mmp[xp2 + jump[jumpdelay2]][yp2] == '>')) { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; }
if (xp2 + jump[jumpdelay2] >= && mmp[xp2 + jump[jumpdelay2]][yp2] == '#') { jumpdelay2 = ; }
if (xp2 + jump[jumpdelay2] >= && mmp[xp2 + jump[jumpdelay2]][yp2] == '#') { jumpdelay2 = ; }
jumpdelay2--; } else { if (xp2 == ) { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } else { if (mmp[xp2 + ][yp2] == ' ') { mmp[xp2][yp2] = ' ';
xp2++;
mmp[xp2][yp2] = '@'; }
if (mmp[xp2 + ][yp2] == '<' || mmp[xp2 + ][yp2] == '>') { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } } } for (register int i = ; i < ; i++) { for (register int j = ; j <= ; j++) { if (mmp[i][j] == '<') { if (j - <= ) { mmp[i][j] = ' ';
continue; } if (mmp[i][j - ] == 'O') { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++;
mmp[i][j - ] = '<'; }
if (mmp[i][j - ] == '@') { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; }
if (mmp[i][j - ] == '#') { mmp[i][j] = ' '; }
if (mmp[i][j - ] == ' ') { mmp[i][j] = ' ';
mmp[i][j - ] = '<'; }
if (mmp[i][j - ] == '>') { mmp[i][j] = mmp[i][j - ] = ' '; } } } }
for (register int i = ; i >= ; i--) { for (register int j = ; j >= ; j--) { if (mmp[i][j] == '>') { if (j + >= ) { mmp[i][j] = ' ';
continue; } if (mmp[i][j + ] == 'O') { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++;
mmp[i][j + ] = '>'; }
if (mmp[i][j + ] == '@') { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; }
if (mmp[i][j + ] == '#') { mmp[i][j] = ' '; }
if (mmp[i][j + ] == ' ') { mmp[i][j] = ' ';
mmp[i][j + ] = '>'; }
if (mmp[i][j + ] == '<') { mmp[i][j] = mmp[i][j + ] = ' '; } } } } if (kbhit()) { ch = getch(); switch (ch) { case : exit(); break; case 'a' : if (yp1 - > && mmp[xp1][yp1 - ] == ' ') { mmp[xp1][yp1] = ' ';
yp1--;
mmp[xp1][yp1] = 'O'; } if (yp1 - > && (mmp[xp1][yp1 - ] == '<' || mmp[xp1][yp1 - ] == '>')) { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } break; case 'd' : if (yp1 + <= && mmp[xp1][yp1 + ] == ' ') { mmp[xp1][yp1] = ' ';
yp1++;
mmp[xp1][yp1] = 'O'; } if (yp1 + <= && (mmp[xp1][yp1 + ] == '<' || mmp[xp1][yp1 + ] == '>')) { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } break; case 'w' : if (jumpdelay1 == && mmp[xp1 + ][yp1] == '#') { jumpdelay1 = ; } break; case - : ch = getch(); switch (ch) { case : if (yp2 - > && mmp[xp2][yp2 - ] == ' ') { mmp[xp2][yp2] = ' ';
yp2--;
mmp[xp2][yp2] = '@'; } if (yp2 - > && (mmp[xp2][yp2 - ] == '*' || mmp[xp2][yp2 - ] == '*')) { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } break; case : if (yp2 + <= && mmp[xp2][yp2 + ] == ' ') { mmp[xp2][yp2] = ' ';
yp2++;
mmp[xp2][yp2] = '@'; } if (yp2 + <= && (mmp[xp2][yp2 + ] == '<' || mmp[xp2][yp2 + ] == '>')) { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } break; case : if (jumpdelay2 == && mmp[xp2 + ][yp2] == '#') { jumpdelay2 = ; } break; } break; case 'j' : if (yp1 > ) { if (mmp[xp1][yp1 - ] == '@') { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } if (mmp[xp1][yp1 - ] == ' ') { mmp[xp1][yp1 - ] = '<'; } } break;
case 'k' : if (yp1 < ) { if (mmp[xp1][yp1 + ] == '@') { mmp[xp2][yp2] = ' ';
xp2 = , yp2 = ;
mmp[xp2][yp2] = '@';
score1++; } if (mmp[xp1][yp1 + ] == ' ') { mmp[xp1][yp1 + ] = '>'; } }
break;
case '' : if (yp2 > ) { if (mmp[xp2][yp2 - ] == 'O') { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } if (mmp[xp2][yp2 - ] == ' ') { mmp[xp2][yp2 - ] = '<'; } } break;
case '' : if (yp2 < ) { if (mmp[xp2][yp2 + ] == 'O') { mmp[xp1][yp1] = ' ';
xp1 = , yp1 = ;
mmp[xp1][yp1] = 'O';
score2++; } if (mmp[xp2][yp2 + ] == ' ') { mmp[xp2][yp2 + ] = '>'; } } break; } } } return ; }
转载请注明©Ice_watermelon233
自闭枪战C++的更多相关文章
- C#设计模式系列:开闭原则(Open Close Principle)
1.开闭原则简介 开闭原则对扩展开放,对修改关闭,开闭原则是面向对象设计中可复用设计的基石. 2.开闭原则的实现 实现开闭原则的关键就在于抽象,把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规 ...
- C#软件设计——小话设计模式原则之:开闭原则OCP
前言:这篇继续来看看开闭原则.废话少说,直接入正题. 软件设计原则系列文章索引 C#软件设计——小话设计模式原则之:依赖倒置原则DIP C#软件设计——小话设计模式原则之:单一职责原则SRP C#软件 ...
- 设计模式之六大原则——开闭原则(OCP)
转载于: http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...
- CentOS 配置防火墙操作实例(启、停、开、闭端口):
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status< ...
- Linux开源系统对比Windows闭源系统的优势解析
当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...
- nginx 配置全站404(百度闭站保护)
在百度站长里申请闭站保护时,需要全站404.可能过nginx配置实现 location / { #root html; #index index.html index.htm; retur ...
- 开放-封闭原则(OCP)开-闭原则 和 依赖倒转原则,单一职责原则
单一职责原则 1.单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因 2.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或抑制这个类完成其他职责的能力. ...
- [转]设计模式之六大原则——开闭原则(OCP)
原文地址:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...
- BZOJ 1124: [POI2008]枪战Maf
1124: [POI2008]枪战Maf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 617 Solved: 236[Submit][Status ...
随机推荐
- Java基础学习笔记(五) - 常用的API
API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要 ...
- [Note] CentOS 命令
1. uninstall software install by yum install yum install -y [package-name] //无-y则交互式安装 yum remove [p ...
- SpringBoot第二十五篇:SpringBoot与AOP
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 作者在实际 ...
- 从键盘录入输入3 个数num1,num2,num3,按从大到小进行输出
本题分别使用嵌套分支语句以及三目运算符来实现,两种方法,可以对比看看. import java.util.Scanner; /** * 从键盘录入输入3 个数a,b,c,按从大到小进行输出 * @au ...
- 探讨Microsoft Solution Framework(MSF)框架下管理的秘密
hello,同学们,同胞们,同志们,同龄们,这样们,那样们,们们们,我又回来写“论文”了,半年时间没见我发布任何博文,是不是认为我被潜规则了啊,哈哈.我想死你们了.好了,废话不多说,进入今天主题: ...
- windows上gedit 安装
1. 用浏览器打开https://wiki.gnome.org/Apps/Gedit 下载并安装 gedit 文本编辑器.这个操作无需管理员权限. 2. 把 gedit 放到桌面或者快速启动栏,这样你 ...
- PHP 插入排序 -- 直接插入排序
1)直接插入序 -- Straight Insertion Sort 时间复杂度 :O(n^2) 适用条件: 适合记录数不多的情况 1 <?php 2 $a = [0 =>3,4,5,1, ...
- Cocos2d-x 学习笔记(10) ActionInstant
1.概述 ActionInstant的子类都是立即完成的动作,即一帧就完成了,不像ActionInterval的子类动作需要定义动作总时间. Action类的继承关系图: 2.具体 ActionIns ...
- opencv::模板匹配(Template Match)
模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域. 所以模板匹配首先需要一个模板图像T(给定的子图像) 另外需要一个待检测的图像-源图像S 工作方法,在带检测图像上,从左到右,从 ...
- Mac系统 安装Photoshop CC 2018破解版
应用场景 本人从事前端行业,但是工作中有时也需要会点PS技能,之前一直使用window系统,突然换了Mac其他软件基本都差不多安装完了,就剩下比较难搞的PS.刚开始按照网上乱七八槽的教程下载过好多次都 ...