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. Python——Pandas速查手册中文版

    转自——http://blog.csdn.net/qq_33399185/article/details/60872853,非常感谢大神的整理! 还有图片版,转自——https://zhuanlan. ...

  2. 魔鬼在细节,理解Java并发底层之AQS实现

    jdk的JUC包(java.util.concurrent)提供大量Java并发工具提供使用,基本由Doug Lea编写,很多地方值得学习和借鉴,是进阶升级必经之路 本文从JUC包中常用的对象锁.并发 ...

  3. mui中判断是点击还是滑动

    判断和滑动是两种触发方式 滑动分为四种,上下左右(swipeup,swipedown,swipeleft,swiperight) 点击分为两种,点击和双击,一般用单机(tap) 根据自己不同的需求进行 ...

  4. Windows10+YOLOv3实现检测自己的数据集(1)——制作自己的数据集

    本文将从以下三个方面介绍如何制作自己的数据集 数据标注 数据扩增 将数据转化为COCO的json格式 参考资料 一.数据标注 在深度学习的目标检测任务中,首先要使用训练集进行模型训练.训练的数据集好坏 ...

  5. WebGL简易教程(十):光照

    目录 1. 概述 2. 原理 2.1. 光源类型 2.2. 反射类型 2.2.1. 环境反射(enviroment/ambient reflection) 2.2.2. 漫反射(diffuse ref ...

  6. Linux上的Nginx上设置支持PHP的解析

    当前的运行环境为,PHP7.2.2以 FastCGI 模式运行,默认端口为:9000,Nginx1.15.6 打开nginx配置文件 vi /usr/local/nginx/conf/nginx.co ...

  7. Java学习笔记之方法

     前言:如果把所有代码都写到main方法中,后果是什么?    1,结构混乱 不清晰    2,不能重用 方法:规则:方法写在类中,不能写在其它方法中.方法不能嵌套方法 如何定义方法: 访问修饰符 返 ...

  8. AWD脚本之批量mysql写shell

    摘之工具包中脚本 需要安装mysqldb.windwos环境直接在https://www.codegood.com/archives/129下载MySQL-python-1.2.3.win-amd64 ...

  9. luoguP2144 [FJOI2007]轮状病毒

    题目描述 求 nnn 个点的生成树个数. Solution 2144\text{Solution 2144}Solution 2144 打表得 1=125=5×1216=4245=5×32121=11 ...

  10. [POJ3523]The Morning after Halloween

    Description You are working for an amusement park as an operator of an obakeyashiki, or a haunted ho ...