字符头基本开发完成,准备增加随机模式。
#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 HP=4;
int Boss_HP;
int x=10;
int y=1;
int k=1;
int kx=2,ky=2;
int qh=1;
//BOSS1扔石头,BOSS2喷高压水枪,BOSS3激光
int x_what(int x) {//取随机数
srand((unsigned)time(NULL));
return( rand() % x);
}
int wl() {
if(x<10) {
x++;
}
}
int out() {
system("cls");
cout<<"HP:"<<HP<<"BOSS:"<<Boss_HP<<endl;
cout<<" 8"<<endl;
for(int i=0; i<=11; i++) {
for(int j=0; j<=11; j++) {
if(i==0||i==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(j==0||j==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(i==x&&j==y) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
cout<<"8";
} else if(j==k) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
cout<<"*";
} else {
cout<<" ";
}
}
cout<<endl;
}
}
int open() {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
cout<<" 字符头"<<endl;
cout<<"by:黑客小C"<<endl;
cout<<"键位:wad移动,s射击(格挡)(BOSS下攻击BOSS掉血)"<<endl;
cout<<"按任意键开始";
while(!kbhit()) {
}
system("cls");
}
int play() {
char cz;
if(kbhit()) {
cz=getch();
if(cz=='w') {
x-=3;
}
if(cz=='a') {
y--;
}
if(cz=='d') {
y++;
}
if(cz=='s') {
if(y==5) {
Boss_HP-=5;
}
if(x==k&&HP<4) {
HP+=2;
}
}
}
}
int m() {
if(k==x) {
HP--;
}
k=x_what(10);
k++;
}
int out2() {
system("cls");
cout<<"HP:"<<HP<<"BOSS:"<<Boss_HP<<endl;
cout<<" O"<<endl;
for(int i=0; i<=11; i++) {
for(int j=0; j<=11; j++) {
if(i==0||i==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(j==0||j==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(i==x&&j==y) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
cout<<"8";
} else if(i==kx||j==ky) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"*";
} else {
cout<<" ";
}
}
cout<<endl;
}
}
int play2() {
char cz;
if(kbhit()) {
cz=getch();
if(cz=='w') {
x-=3;
}
if(cz=='a') {
y--;
}
if(cz=='d') {
y++;
}
if(cz=='s') {
if(y==5) {
Boss_HP-=5;
}
if(x==kx||y==ky&&HP<4) {
HP+=2;
}
}
}
}
int m2() {
if(x==kx||y==ky) {
HP--;
}
kx=x_what(10);
ky=x_what(10);
}
int out3() {
system("cls");
cout<<"HP:"<<HP<<"BOSS:"<<Boss_HP<<endl;
cout<<" V"<<endl;
for(int i=0; i<=11; i++) {
for(int j=0; j<=11; j++) {
if(i==0||i==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(j==0||j==11) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_BLUE |FOREGROUND_GREEN);
cout<<"+";
} else if(i==x&&j==y) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
cout<<"8";
} else if(i==kx&&j==ky) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY );
cout<<"*";
} else {
cout<<" ";
}
}
cout<<endl;
}
}
int play3() {
char cz;
if(kbhit()) {
cz=getch();
if(cz=='w') {
x-=3;
}
if(cz=='a') {
y--;
}
if(cz=='d') {
y++;
}
if(cz=='s') {
if(y==5) {
Boss_HP-=5;
}
if(x==kx&&y==ky&&HP<4) {
HP+=2;
}
}
}
}
int m3() {
if(x==kx&&y==ky) {
HP--;
}
if(kx==10&&ky==10) {
kx=1;
ky=1;
}
if(qh%3==0) {
kx--;
ky--;
} else {
kx++;
ky++;
}
}
int Boss() {
Boss_HP=120;
x=10;
y=1;
while(true) {
out();
play();
m();
if(Boss_HP<=0) {
return 0;
}
if(HP==0) {
return 0;
}
if(Boss_HP%2==1&&HP<4) {
HP++;
}
Sleep(50);
qh++;
wl();
}
}
int Boss2() {
Boss_HP=150;
x=10;
y=1;
while(true) {
out2();
play2();
m2();
if(Boss_HP<=0) {
return 0;
}
if(HP==0) {
return 0;
}
wl();
Sleep(50);
}
}
int Boss3() {
x=10;
y=1;
Boss_HP=100;
kx=1;
ky=1;
while(true) {
out3();
play3();
m3();
if(Boss_HP<=0) {
return 0;
}
if(HP==0) {
return 0;
}
wl();
Sleep(50);
}
}
int Boss4() {
Boss_HP=250;
x=10;
y=1;
while(true) {
out2();
play2();
m2();
if(Boss_HP<=0) {
return 0;
}
if(HP==0) {
return 0;
}
wl();
Sleep(50);
}
}
int story1() {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
cout<<"滚石魔鬼:去死吧!";
Sleep(2000);
system("cls");
cout<<"采石场恶魔...";
Sleep(2000);
system("cls");
}
int story2() {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_GREEN);
cout<<"水之皇:颤抖吧字符头,我是最强大的!";
Sleep(2000);
system("cls");
cout<<"水上乐园...";
Sleep(2000);
system("cls");
}
int story3() {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_GREEN);
cout<<"激光切割机:永远消失吧!";
Sleep(2000);
system("cls");
cout<<"科研工厂...";
Sleep(2000);
system("cls");
}
int story4() {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"激光切割机:我复活啦!";
Sleep(2000);
system("cls");
cout<<"终极挑战...";
Sleep(2000);
system("cls");
}
int main() {
int ms;
char ms2;
open();
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_GREEN);
cout<<"打败Boss!"<<endl;
cout<<"分数:"<<HP;
Sleep(2000);
return 0;
}
}
system("cls");
story1();
Boss3();
if(HP<=0) {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"阵亡!";
Sleep(2000);
return 0;
} else {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_GREEN);
cout<<"打败Boss!";
Sleep(2000);
if(HP<4) {
HP++;
}
}
story2();
Boss();
if(HP<=0) {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"阵亡!";
Sleep(2000);
return 0;
} else {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);
cout<<"打败Boss!";
Sleep(2000);
if(HP<4) {
HP++;
}
}
story3();
Boss2();
if(HP<=0) {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"阵亡!";
Sleep(2000);
return 0;
} else {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
cout<<"打败Boss!";
Sleep(2000);
if(HP<4) {
HP++;
}
}
story4();
Boss4();
if(HP<=0) {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
cout<<"阵亡!";
Sleep(2000);
return 0;
} else {
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED|FOREGROUND_GREEN);
cout<<"打败所有Boss!"<<endl;
cout<<"分数:"<<HP;
Sleep(2000);
return 0;
}
}