c++游戏综合2

这篇博客介绍了使用c++编程实现的斗破苍穹游戏,代码共计1221行,详细展示了游戏的实现过程。作者还提及计划发布另一款2千多行代码的《三国杀》游戏。
摘要由CSDN通过智能技术生成

进到这里的大佬们都非常幸运,因为你们迎来了c++游戏

斗破苍穹

#include<bits/stdc++.h> 
#include<windows.h>
struct Player{
   //玩家结构体,并初始化player
	char name[21];
	int attack;
	int defense;
	int health;
	long int max_health;
	int level;
	int exp;
	int range_exp;
	long int max_exp;
}player={
   "勇者",50,40,100,100,1,0,0,100};
struct Enemy{
   //怪的结构体,并初始化各种怪
	char name[20];
	char wupin[12];
	int attack;
	int defense;
	int health;
	int money;
	long int exp;
	int wupin_sign;
	int wupinpro;
	int double_attack;
	int miss;
}strongman={
   "森林巨人","黄金圣衣",40,50,350,200,100,1,2,1,0},
	witch={
   "森林女巫","银甲",25,15,100,50,50,2,2,1,1},
	xiyi={
   "森林蜥蜴","铁甲",18,10,50,30,35,3,3,2,2},
	big_strongman={
   "森林巨人王","巨人晶石",40*5,50*5,200*5,200*5,100*5,4,4,2,0},
	lion={
   "草原雄狮","绝世好剑",60,30,280,200,100,5,2,1,0},
	horse={
   "草原野马","碧血剑",28,12,90,50,50,6,2,1,1},
	bee={
   "草原黄蜂","长剑",17,11,60,30,35,7,3,2,2},
	shitu={
   "使徒","\0",60*8,30*8,280*8,200*8,100*8,9,1,1,0},
	guai={
   "\0","\0",0,0,0,0,0,0,0,0,0};
struct Place{
   
	int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3;
}place={
   1,2,3,4,5,6,7,8};
int max_exp=0;
int choose_number=0,s=0,strongman_arm=0,battle=0,money=500,place_sign=9;
int cao=3,jijiubao=2,baiyao=2,superbaiyao=1,boom=3,dubiao=2,atom_boom=1;
int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0;
int gong=0,gong1=8,gong1n=0,gong2=15,gong2n=0,gong3=25,gong3n=0,gong4=60,gong4n=0;
int jingyancao=0,jingyanbao=0,jingyanshi=0;
char gongname[20]="无",fangname[20]="无";
char proof;
void AddWupin(int);
int AttackResult();
void BattleAct();
void ChooseWupin();
void DisplayState();
void OrdinaryAct();
int SuiJi();
int SuiJi100();
void WhetherLevelUp();
void SlowDisplay(char *);
int main(){
   
	int i=0,j=0,k=0;
	char player_name[21];
	Sleep(1000);
	printf("--------------------------欢迎来到 [苍穹世界] 2.2 测试版-----------------------\n\n\n");
	//如果想使用外挂,名字请输入:“圣战斗士 ”。 
	printf("这里是苍穹世界! 雅莉萨斯国的罗茜公主被陌生人绑架了!\n\n\n 伟大的勇者啊~拿起你们的武器,营救公主!\n\n\n输入你的名字: (20个字符)\n\n\n");
	scanf("%s",player_name);
	strncpy(player.name,player_name,20);
	if(strcmp(player.name,"圣战斗士")==0){
   
		printf("\n\n\n封印多年的圣剑血统啊!你终于觉醒了!\n\n\n圣战斗士,你成为了天选之人,请你救出公主吧!\n\n\n");
		player.attack=999;
		player.defense=999;
		player.health=9999;
		player.max_health=9999;
	}
	getchar();
	OrdinaryAct();
	return 0;
}
int SuiJi(){
   
	srand((unsigned)time(NULL));
	return rand()%10;
}
int SuiJi100(){
   
	srand((unsigned)time(NULL));
	return rand()%100;
}	
void ChooseWupin(){
   //选择物品 并使用
	printf("物品: 1,止血草%d个 2,急救包%d个 3,云南白药%d个 4,超级云南白药%d个 5,手雷%d个 6,毒标%d个 7,手抛式原子弹%d个 8,经验草%d个 9,经验包%d个 10,经验石%d个 11,巨人晶石%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom,jingyancao,jingyanbao,jingyanshi,strongman_arm);
	switch(scanf("%d",&choose_number),choose_number){
   
		case 1:
		if(cao>0){
   
			printf("使用止血草,HP增加60\n\n\n");
			cao--;
			if(player.health+60>player.max_health)player.health=player.max_health;
			else player.health+=60;
		}
		else printf("没有止血草了\n\n\n");
		break;
		case 2:
		if(jijiubao>0){
   
			printf("使用急救包,HP增加80\n\n\n");
			jijiubao--;
			if(player.health+80>player.max_health)player.health=player.max_health;
			else player.health+=80;
		}
		else printf("没有急救包了\n\n\n");
		break;
		case 3:
		if(baiyao>0)
		{
   
		printf("使用云南白药,HP增加120\n\n\n");
		baiyao--;
		if(player.health+120>player.max_health)player.health=player.max_health;
		else player.health+=120;
		}
		else printf("没有云南白药了\n\n\n");
		break;
		case 4:
		if(superbaiyao>0)
		{
   
		printf("使用超级云南白药,HP增加200\n\n\n");
		superbaiyao--;
		if(player.health+200>player.max_health)player.health=player.max_health;
		else player.health+=200;
		}
		else printf("没有超级云南白药了\n\n\n");
		break;
		case 5:
		if(battle){
   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
			if(boom>0){
   
				printf("使用手雷,敌人HP减少100\n\n\n");
				boom--;
				guai.health-=100;
				AttackResult();
			}
		}
		else printf("非战斗状态,不能使用手雷!\n\n\n");
		break;
		case 6:
		if(battle){
   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
			if(dubiao>0){
   
				printf("使用毒标,敌人HP减少200\n\n\n");
				dubiao--;
				guai.health-=200;
				AttackResult();
			}
		}
		else printf("非战斗状态,不能使用毒标!\n\n\n");
		break;
		case 7:
		if(battle){
   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
			if(atom_boom>0){
   
			printf("使用手抛式原子弹,敌人HP减少666666666\n\n\n");
			atom_boom--;
			guai.health-=666666666;
			AttackResult();
			}
		}
		else printf("非战斗状态,不能使用手抛式原子弹!\n\n\n");
		break;
		case 8:
		if(jingyancao>0 && player.level<46)
		{
   
		
		printf("使用经验草,等级增加1级\n\n\n");
		jingyancao--;
		player.level+=1;
		printf("等级:%d\n",player.level);
		}
		else    if(jingyancao<1)
		{
   
		printf("没有经验草了\n\n\n");
		}
		else printf("等级超过45级,修为太高,无法使用。\n\n\n");
		break;
		case 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值