C++实现CS爆破

最近,我想打CS,但是,作为码农,直接丢开洛谷打开CS好像不是太好,所以就自己做了一个。

#include<algorithm>
#include<fstream>
#include<iostream>
#include<stdio.h>
#include<cstdio>
#include<iostream>
#include<windows.h>
#include<conio.h>
#include <time.h>
#include <stdlib.h>
#include<bits/stdc++.h>
#include<cstdio>
#include<algorithm>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int map_num;
int js; 
int x,y;
int dx,dy;
int bx,by;
int bww=100;
int qfw=100;
int x_what(int x) {//取随机数
	srand((unsigned)time(NULL));
	return( rand() % x);
}
int map_out(int x){
	if(x==0){
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
		cout<<"*";
	}
	else{
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN|FOREGROUND_RED);
		cout<<"*";
	}
}
int open() {
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED);
	cout<<"----------"<<endl;
	cout<<"| 黑客小C |"<<endl;
	cout<<"----------"<<endl;
	Sleep(2000);
	system("cls");
	cout<<"----------"<<endl;
	cout<<"|爆破战争|"<<endl;
	cout<<"----------"<<endl;
	while(!kbhit()) {

	}
	system("cls");
}
int out1(){
	system("cls");
	cout<<"警:"<<bww<<"匪:"<<qfw<<endl;
	for(int i=0;i<11;i++){
		for(int j=0;j<11;j++){
			if(i==0||i==10){
				map_out(map_num);
			}
			else if(j==0||j==10){
				map_out(map_num);
			}
			else if(i==x&&j==y){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
				cout<<"+";
			}
			else if(i==dx&&j==dy){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE);
				cout<<"+";
			}
			else if(i==bx&&j==by){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED);
				cout<<"O";
			}
			else{
				cout<<" ";
			}
		}
		cout<<endl;
	}
}
int out2(){
	system("cls");
	cout<<"警:"<<bww<<"匪:"<<qfw<<endl;
	for(int i=0;i<11;i++){
		for(int j=0;j<11;j++){
			if(i==0||i==10){
				map_out(map_num);
			}
			else if(j==0||j==10){
				map_out(map_num);
			}
			else if(i==dx&&j==dy){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
				cout<<"+";
			}
			else if(i==x&&j==y){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE);
				cout<<"+";
			}
			else if(i==bx&&j==by){
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED);
				cout<<"O";
			}
			else{
				cout<<" ";
			}
		}
		cout<<endl;
	}
}
int play1(){
	char c;
	if(kbhit()){
		c=getch();
		if(c=='w'&&x>1){
			x--;
		}
		if(c=='a'&&y>1){
			y--;
		}
		if(c=='s'&&x<9){
			x++;
		}
		if(c=='d'&&y<9){
			y++;
		}
		if(x==dx){
			bww-=10;
		}
		if(y==dy){
			bww-=10;
		}
		if(x==bx&&y==by){
			bww=0;
		}
	}
}
int play2(){
	char c;
	if(kbhit()){
		c=getch();
		if(c=='w'&&x>1){
			x--;
		}
		if(c=='a'&&y>1){
			y--;
		}
		if(c=='s'&&x<9){
			x++;
		}
		if(c=='d'&&y<9){
			y++;
		}
		if(x==dx||y==dy){
			qfw-=10;
		}
		if(c=='e'){
			if(x==bx&&y==by){
				qfw=0;
			}
		}
	}
}
int AI(){
	if(bww<=0||qfw<=0){
		return 0;
	}
	if(qfw<=0||bww<=0){
		return 0;
	}
	if(x>dx&&dx<9&&dy!=y){
		dx++;
	}
	if(y>dy&&dy<9&&dx!=x){
		dy++;
	}
	if(x<dx&&dx>1&&dy!=y){
		dx--;
	}
	if(y<dy&&dy>1&&dx!=x){
		dy--;
	}
	if(dy==y||dx==x){
		if(js==2){
			bww-=5;
		}
		if(js==1){
			qfw-=5;
		}
	}
}
int qf(){
	while(true){
		out1();
		play1();
		AI();
		if(bww<=0){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED| FOREGROUND_GREEN);
			cout<<"土匪胜利";
			Sleep(2000);
			system("cls");
			return 0;
		}
		if(qfw<=0){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED| FOREGROUND_GREEN);
			cout<<"警察胜利";
			Sleep(2000);
			system("cls");
			return 0;
		} 
	}
}
int bw(){
	while(true){
		out2();
		play2();
		AI();
		if(bww<=0){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED| FOREGROUND_GREEN);
			cout<<"土匪胜利";
			Sleep(2000);
			system("cls");
			return 0;
		}
		if(qfw<=0){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED| FOREGROUND_GREEN);
			cout<<"警察胜利";
			Sleep(2000);
			system("cls");
			return 0;
		} 
	}
}
int main() {
	int ms;
	open();
	map_num=x_what(2);
	ms=x_what(2);
	while(true) {
		if(map_num==0){
			map_num=1;
		}
		else{
			map_num=0;
		}
		qfw=100;
		bww=100;
		x=1;
		y=1;
		dx=9;
		dy=9;
		bx=2;
		by=5;
		if(ms==0) {
			js=1;
			ms=1;
			qf();
		} else {
			ms=0;
			js=2;
			bw();
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值