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++的更多相关文章

  1. C#设计模式系列:开闭原则(Open Close Principle)

    1.开闭原则简介 开闭原则对扩展开放,对修改关闭,开闭原则是面向对象设计中可复用设计的基石. 2.开闭原则的实现 实现开闭原则的关键就在于抽象,把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规 ...

  2. C#软件设计——小话设计模式原则之:开闭原则OCP

    前言:这篇继续来看看开闭原则.废话少说,直接入正题. 软件设计原则系列文章索引 C#软件设计——小话设计模式原则之:依赖倒置原则DIP C#软件设计——小话设计模式原则之:单一职责原则SRP C#软件 ...

  3. 设计模式之六大原则——开闭原则(OCP)

    转载于: http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...

  4. CentOS 配置防火墙操作实例(启、停、开、闭端口):

    CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service   iptables status< ...

  5. Linux开源系统对比Windows闭源系统的优势解析

    当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...

  6. nginx 配置全站404(百度闭站保护)

    在百度站长里申请闭站保护时,需要全站404.可能过nginx配置实现 location / {   #root html;   #index index.html index.htm;   retur ...

  7. 开放-封闭原则(OCP)开-闭原则 和 依赖倒转原则,单一职责原则

    单一职责原则 1.单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因 2.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或抑制这个类完成其他职责的能力. ...

  8. [转]设计模式之六大原则——开闭原则(OCP)

    原文地址:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...

  9. BZOJ 1124: [POI2008]枪战Maf

    1124: [POI2008]枪战Maf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 617  Solved: 236[Submit][Status ...

随机推荐

  1. iOS渠道分包2种模式之包内注入文件分包

    解决问题:商业模式中会存在这样的形式1款app需要不同的运用团队(工会)去分包推广,谁推广的包下载的人数都会在服务器记录,不同渠道的标示唯一来区分. iOS渠道分包模式有两种 一.IDFA模式 IDF ...

  2. Linux 命令个人笔记

    [表示命令]man -f [] 显示一个命令的功能whatis [] 显示一个命令的功能ls -lR | grep '^-' | wc -l 统计一个目录下总共有多少个文件head [-n numbe ...

  3. Dubbo和Zookerper的关系

    1.Dubbo的作用 Dubbo是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题.Dubbo基于RPC(Remote Procedur ...

  4. Java工程师学习指南(中级篇)

    Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...

  5. 第10项:重写equals时请遵守通用约定

      重写equals方法看起来似乎很简单,但是有许多重写方式会导致错误,而且后果非常严重.最容易避免这类问题的办法就是不覆盖equals方法,在这种情况下,类的每个实例都只能与它自身相等.如果满足了以 ...

  6. Faith 信念

    Today I’d like to talk about faith. With faith, you’ll go further and never be lost. Faith is free a ...

  7. JVM本地方法栈及native方法

    看到虚拟机栈和本地方法栈的区别的时候有点疑惑,因为本地方法栈为虚拟机的Native方法服务.以下转载一篇关于native方法的介绍: http://blog.csdn.net/wike163/arti ...

  8. django后台管理-admin

    0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register( ...

  9. .Net Core3.0使用gRPC

    gRPC是什么 gRPC是可以在任何环境中运行的现代开源高性能RPC框架.它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证.它也适用于分布式 ...

  10. 使用jmeter进行压力测试入门讲解

    1.下载安装jmeter 略 我这里放上5.1版本的,有需要可以下载 链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=share ...