大树大战伐木工不完整
2024-07-31 08:27:38
发布于:浙江
#include <bits/stdc++.h>
#include<windows.h>//Sleep(延迟优化)  system("pause");   system("cls")(界面优化)
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define max 10   
#define min 1    
//int num,cnt=40;
//srand(time(0));
//num = rand() % (max - min) + min;  
//ditu[num][cnt]=''
using namespace std; 
int bianhao;
int kanx,kany;
int jieshu;
int zhongx,zhongy;
int n;
long long yezi=0;
char ditu[100][100];
void zjm(){
	cout<<endl;
	cout<<" 大树 大战 伐木工"<<endl;
	cout<<" Trees VS Lumberjacks"<<endl;
	cout<<endl;
	cout<<endl;
	cout<<" 输入1 >>开始游戏<<"<<endl;
	cout<<"输入2 >>制作人名单<<"<<endl;
	cout<<" 输入3 >>游戏规则<<"<<endl;
	cout<<"  输入999退出游戏"<<endl;
	cout<<"    要输入两次"<<endl;
	cout<<endl;
	cout<<endl;
	cout<<" 版本号:0.0.1"<<endl;
	cin>>n;
}
void yxjm(){
	for(int i=1;i<=10;i++){
		for(int ii=1;ii<=40;ii++){
				ditu[i][ii]='#';
		}				
	}
	cout<<"叶子:"<<yezi<<endl;
	for(int i=1;i<=10;i++){
		for(int ii=1;ii<=40;ii++){
			cout<<ditu[i][ii];
		}
		cout<<endl;
	}
	//地图部分
	cout<<"1 = 树叶拳击手 100叶子 近战攻击(&)"<<endl;
	cout<<"2 = 小树苗 50叶子 每5秒产出25叶子 不可攻击($)"<<endl;
	cout<<"3 = 爆炸之树 150叶子 放下可以对3X3格子的伐木工造成伤害 一次性树(@)"<<endl;
	cout<<"4 = 坚硬的树桩 50叶子 血量很高,可以挡住伐木工 不可攻击(%)"<<endl;
	cout<<"5 = 超级树叶射手 200叶子 近战攻击(!)"<<endl;
	cout<<"6 = 斧头 可以砍掉不需要的树木 把他们转换成叶子"<<endl; 
	cout<<"7 = 种树"<<endl;
	cout<<endl;
	cout<<"伐木工 可以砍伐树木 攻击力较低 血量较低(|)"<<endl;
	cout<<"超快伐木工 移动速度快 可以砍伐树木 攻击力低 血量低(<)"<<endl;
	cout<<"安全帽伐木工 可以砍伐树木 攻击力较低 血量中等(+)"<<endl;
	cout<<"超级伐木工 移动速度快 砍伐树木较快 血量高(<)"<<endl;
	cout<<"输入要做的操作(6 = 斧头,7 = 种树)"<<endl;
	cin>>n;
	if(n==6){
		system("cls");
		for(int i=1;i<=10;i++){
			for(int ii=1;ii<=40;ii++){
				cout<<ditu[i][ii];
			}
			cout<<endl;
		}
		cout<<endl<<"输入要砍伐的树的位置的位置  例:1  5"<<endl;
		cin>>kanx>>kany;
	}else if(n==7){
		system("cls");
		for(int i=1;i<=10;i++){
			for(int ii=1;ii<=40;ii++){
				cout<<ditu[i][ii];
			}
			cout<<endl;
		}
		cout<<"请输入要种树的编号"<<endl;
		cout<<"1 = 树叶拳击手 100叶子 近战攻击(&)"<<endl;
		cout<<"2 = 小树苗 50叶子 每5秒产出25叶子 不可攻击($)"<<endl;
		cout<<"3 = 爆炸之树 150叶子 放下可以对3X3格子的伐木工造成伤害 一次性树(@)"<<endl;
		cout<<"4 = 坚硬的树桩 50叶子 血量很高,可以挡住伐木工 不可攻击(%)"<<endl;
		cout<<"5 = 超级树叶射手 200叶子 近战攻击(!)"<<endl;
		cout<<"请输入要种植的植物编号"<<endl;
		cin>>bianhao;
		cout<<endl<<"输入种植的位置  例:1  5"<<endl;
		cin>>zhongx>>zhongy;
		if(bianhao==1){
			
		}
		return ;
	}else{
		system("cls");
		for(int i=1;i<=10;i++){
			for(int ii=1;ii<=40;ii++){
				cout<<ditu[i][ii];
			}
			cout<<endl;
		}
		cout<<"请先输入要做的操作"<<endl; 
		Sleep(10000000);
	}
}
void zzrmd(){
	cout<<"游戏规则 by: B站 Gety盖提"<<endl;
	cout<<" 游戏界面 by: 黄晨益"<<endl;
	cout<<" 游戏代码 by: 顾霈泽"<<endl;
	cout<<" 输入666返回主页面"<<endl;
	cout<<"  输入999退出游戏"<<endl;
	cout<<"    要输入两次"<<endl;
	cin>>n;
}
void yxgz(){
	cout<<"游戏规则 by: B站 Gety盖提"<<endl;
	cout<<"树类:"<<endl;
	cout<<"& = 树叶拳击手 100叶子 血量较高 近战攻击"<<endl;
	cout<<"$ = 小树苗 50叶子 血量低 每5秒产出25叶子 不可攻击"<<endl;
	cout<<"@ = 爆炸之树 无血量 150叶子 放下可以对3X3格子的伐木工造成伤害 一次性树"<<endl;
	cout<<"% = 坚硬的树桩 血量高50叶子 血量很高,可以挡住伐木工 不可攻击"<<endl;
	cout<<"! = 超级树叶射手 血量较高 200叶子 远程攻击"<<endl;
	cout<<endl;
	cout<<"伐木工:"<<endl;
	cout<<"伐木工 可以砍伐树木 攻击力较低 血量较低(|)"<<endl;
	cout<<"超快伐木工 移动速度快 可以砍伐树木 攻击力低 血量低(<)"<<endl;
	cout<<"安全帽伐木工 可以砍伐树木 攻击力较低 血量中等(+)"<<endl;
	cout<<"超级伐木工 移动速度快 砍伐树木较快 血量高(<)"<<endl;
	cout<<endl;
	cout<<"如何种植:"<<endl;
	cout<<"在游戏地图下方输入第几行,第几列,输入要种植物的数字即可种植"<<endl;
	cout<<"开始游戏后无法返回主界面或退出游戏"<<endl;
	cout<<endl;
	cout<<"输入666返回主页面"<<endl;
	cout<<" 输入999退出游戏"<<endl;
	cout<<"    要输入两次"<<endl;
	cin>>n;
}
void syqjs(int x,int y){
	int xuel=100;
	int gongji=30;
	ditu[x][y]='&';
	if(ditu[x][y+1]=='|'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='<'){
		Sleep(900);
		xuel-=20;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='+'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='>'){
		Sleep(1000);
		xuel-=100;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
}
void xiaoshumiao(int x,int y){
	int xuel=30;
	int gongji=0;
	ditu[x][y]='$';
	if(ditu[x][y+1]=='|'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
			
		}
	}
	else if(ditu[x][y+1]=='<'){
		Sleep(900);
		xuel-=20;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='+'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='>'){
		Sleep(1000);
		xuel-=100;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
}
void baozha(int x,int y){
	int xuel=1;
	int gongji=100;
	ditu[x][y]='@';
	if(ditu[x][y+1]=='|'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
			for(int i=x-1;i<=x+1;i++){
				for(int j=y-1;j<=y+1;y++){
					if(ditu[i][j]=='|'||ditu[i][j]=='<'||ditu[i][j]=='+'||ditu[i][j]=='>'){
						ditu[i][j]='#';
					}
				}
			}
		}
	}
	else if(ditu[x][y+1]=='<'){
		Sleep(900);
		xuel-=20;
		if(xuel<=0){
			ditu[x][y]='#';
			for(int i=x-1;i<=x+1;i++){
				for(int j=y-1;j<=y+1;y++){
					if(ditu[i][j]=='|'||ditu[i][j]=='<'||ditu[i][j]=='+'||ditu[i][j]=='>'){
						ditu[i][j]='#';
					}
				}
			}
		}
	}
	else if(ditu[x][y+1]=='+'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
			for(int i=x-1;i<=x+1;i++){
				for(int j=y-1;j<=y+1;y++){
					if(ditu[i][j]=='|'||ditu[i][j]=='<'||ditu[i][j]=='+'||ditu[i][j]=='>'){
						ditu[i][j]='#';
					}
				}
			}
		}
	}
	else if(ditu[x][y+1]=='>'){
		Sleep(1000);
		xuel-=100;
		if(xuel<=0){
			ditu[x][y]='#';
			for(int i=x-1;i<=x+1;i++){
				for(int j=y-1;j<=y+1;y++){
					if(ditu[i][j]=='|'||ditu[i][j]=='<'||ditu[i][j]=='+'||ditu[i][j]=='>'){
						ditu[i][j]='#';
					}
				}
			}
		}
	}
	 
}
void jianying(int x,int y){
	int xuel=1000;
	int gongji=0;
	ditu[x][y]='%';
	if(ditu[x][y+1]=='|'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
			
		}
	}
	else if(ditu[x][y+1]=='<'){
		Sleep(900);
		xuel-=20;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='+'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='>'){
		Sleep(1000);
		xuel-=100;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
}
void chaoji(int x,int y){
	int xuel=500;
	int gongji=60;
	ditu[x][y]='!';
	if(ditu[x][y+1]=='|'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
			
		}
	}
	else if(ditu[x][y+1]=='<'){
		Sleep(900);
		xuel-=20;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='+'){
		Sleep(1000);
		xuel-=30;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
	else if(ditu[x][y+1]=='>'){
		Sleep(1000);
		xuel-=100;
		if(xuel<=0){
			ditu[x][y]='#';
		}
	}
}
void fmg(){
	int xuel=80;
	int gongji=30;
	
}
void ckfmg(){
	int xuel=50;
	int gongji=20;
	 
}
void aqmfmg(int x,int y){
	int xuel=150;
	int gongji=50;
}
void cjfmg(int x,int y){
	int xuel=200;
	int gongji=100;
}
int main(){
	zjm();
	while(n!=999){
		cin>>n;
		if(n==1){
			system("cls");
			yxjm();
		}else if(n==2){
			system("cls");
			zzrmd();
		}else if(n==3){
			system("cls");
			yxgz();
		}else if(n==666){
			system("cls");
			zjm();
		}else{
			cout<<"请不要乱输入"<<endl; 
		}
	}
return 0;
}
这里空空如也









有帮助,赞一个