项目

在这两周是我们的项目时间,在项目期间,我学到了许多新的知识,例如文件读写。还知道了许多方便快捷的软件,例如图片转字符软件。我完成了角色移动,移动打怪,文件读写等板块。。。接下来为大家展示下...

  //角色移动 
void roleMove(){
	char m;//接收输入的字符
	int running=2;//控制循环的变量 
	while(running)
	{
		//接收输入的字符
		m=getch();
//		printf("输入的字符为:%c,%d\n", m,m);
      if(m=='q'||m=='w'||m=='a'||m=='s'||m=='d'){
	
		if(m=='d'){
			printf("向右移动");
		//	Sleep(500);
			//首先判断是否能移动到新的位置
			int tmp=l[y][x+1];
			if(tmp==1){//不能撞墙,不移动 
				
			}else
			 if(tmp==0){
			 //空白区域,可以移动 
				l[y][x]=0;
				l[y][x+1]=2;
				x++;
			}else 
			if(tmp==3){
				int ret=pkguai();
				if(ret==0){
					l[y][x]=0;
					l[y][x+1]=2;
					x++;
				}
			}
			else if(tmp==4){
			//打大boss
				int ret=pkboss();
				if(ret==0){
					l[y][x]=0;
					l[y][x+1]=2;
					x++;
				} 	
			} 
		}else if(m=='s'){
			printf("向下移动");
		//	Sleep(500);
			//首先判断是否能移动到新的位置
			int tmp=l[y+1][x];
			if(tmp==1){//不能撞墙,不移动 
				
			}else 
			if(tmp==0){
			//空白区域,可以移动 
				l[y][x]=0;
				l[y+1][x]=2;
				y++;
			}else 
			if(tmp==3){//打小怪 
				int ret=pkguai();
				if(ret==0){
					l[y][x]=0;
					l[y+1][x]=2;
					y++;
				}
			}
			else if(tmp==4){//打大boss 
				int ret=pkboss();
				if(ret==0){
					l[y][x]=0;
					l[y+1][x]=2;
					y++;
				}
			} 
		}else 
		if(m=='a'){
			printf("向左移动");
			//Sleep(500);
			//首先判断是否能移动到新的位置
			int tmp=l[y][x-1];
			if(tmp==1){//不能撞墙,不移动 
				
			}else 
			if(tmp==0){//空白区域,可以移动 
				l[y][x]=0;
				l[y][x-1]=2;
				x--;
			}else
			 if(tmp==3){//打小怪 
				int ret=pkguai();
				if(ret==0){
					l[y][x]=0;
					l[y][x-1]=2;
					x--;
				} 
			}
			else if(tmp==4){//打大boss 
				int ret=pkboss();
				if(ret==0){
					l[y][x]=0;
					l[y][x-1]=2;
					x--;
				} 	
			} 
		}	if(m=='w'){//向上
			 printf("向上移动");
			// Sleep(500);
		
			//首先判断是否能移动到新的位置
			int tmp=l[y-1][x];
			if(tmp==1){//不能撞墙,不移动 
				
			}else
			 if(tmp==0){//空白区域,可以移动 
				l[y][x]=0;
				l[y-1][x]=2;
				y--;
			}
			else if(tmp==3){//打小怪 
				int ret=pkguai();
				if(ret==0){
					l[y][x]=0;
					l[y-1][x]=2;
					y--;
				}
			}	
			else if(tmp==4){//打大boss 
				int ret=pkboss();
				if(ret==0){
					l[y][x]=0;
					l[y-1][x]=2;
					y--;
				} 	
			} 
		} 
		else 
		if(m=='q'){
			running=0;
			continue;
		}
		  }
		else{
			printf("输入错误....."); 
			Sleep(500);
		}
		system("cls");
		printDitu();
	}
	 
}

  

d=0;
					printf("\n\t我怪物攻击了我,我受到了伤害,失去了生命值%d,挂了.....",shangHai);
				
					num=0;
				}else{
					printf("\n\t我怪物攻击了我,我受到了伤害,失去了生命值%d,还剩%d.....",shangHai, p1.blood);
				}
			}
		}
		else if(c=='2'){
			printf("\n\n");
			printf("\t\t胆小鬼...");
			printf("\n\n");
			Sleep(100);
			exit (0);
		}else if(c=='3'){
			int dazhao = p1.attack*p1.grade;
			shanghai = dazhao-b1.defense;
			blood-=shanghai;
			if(blood<=0){
				printf("\n\t我攻击了怪物,怪物受到了伤害,失去了生命值%d,怪物挂了.....",shanghai);
				printf("\n\t您获得了胜利,得到经验%lf\n", p1.experience=b1.experience+p1.experience);
				printf("\n\t您获得了胜利,得到金币%d\n",p1.money=b1.money+p1.money);
				shengji();
				Sleep(WAIT2);
				return 0;
			}
			else{
				printf("我攻击了怪物,怪物受到伤害,失去%d生命值,还剩%d生命值",shanghai,blood);
				shangHai=b1.attack*b1.grade-p1.defense;
				p1.blood+=shangHai;
				if(p1.blood<=0){
					p1.blood=0;
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,挂了.....",shangHai);
						exit(0);
					num=0;
					exit(0);
				}else{
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,还剩%d.....",shangHai, p1.blood);
				}
			}
		}else if(c=='4'){
			    printf("冷血阶段,回血中....");
				p1.blood=p1.blood+20;	
			if(p1.blood>=100){
                printf("血量已回满!");
				Sleep(50); 
			   }
			 
			
		}else{
			printf("输入错误....");
			continue;
		}
		Sleep(WAIT3);
	}
}

//打boss 
int pkboss(){
	int blood = b1.blood;
	char c;
	int num=2,shanghai,shangHai;
	system("cls");
	printf("\n\n\t发现了怪物......");
	//每次发现怪物时,将怪物的血量补满
	printf("\n\t发现怪物:%s,等级%d,血量%d\n",b1.name,b1.grade,blood);
	Sleep(WAIT2);
	printf("刷新出怪物....省略");
	
	printf("\n\t对话提示:\n");
	while(num){
		system("cls");
		printf("\n\n\t刷新出怪物....省略");
		printf("\n\t1.攻击  2.逃跑  3.大招  4.补充\n\t");
		c=getch();
		if(c=='1'){
			shanghai=p1.grade*p1.attack-b1.defense;
			blood-=shanghai;
			if(blood<=0){
				printf("\n\t我攻击了怪物,怪物受到了伤害,失去了生命值%d,怪物挂了.....",shanghai);
				printf("\n\t您获得了胜利,得到经验%lf\n", p1.experience=g1.experience+p1.experience);
				printf("\n\t您获得了胜利,得到金币%d\n",g1.money+p1.money);
			    shengji();
				Sleep(WAIT2);
				return 0;
			}
			else{
				printf("我攻击了怪物,怪物受到伤害,失去%d生命值,还剩%d生命值",shanghai,blood);
				shangHai=b1.attack*b1.grade-p1.defense;
				p1.blood+=shangHai;
				if(p1.blood<=0){
					p1.blood=0;
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,挂了.....",shangHai);
					shengji();
					num=0;
				}else{
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,还剩%d.....",shangHai, p1.blood);
				}
			}
		}
		else if(c=='2'){
			printf("胆小鬼...");
			Sleep(100);
			break;
		}else if(c=='3'){
			int dazhao = p1.attack*p1.grade+500;
			shanghai = dazhao-b1.defense;
			blood-=shanghai;
			if(blood<=0){
				printf("\n\t我攻击了怪物,怪物受到了伤害,失去了生命值%d,怪物挂了.....",shanghai);
				printf("\n\t您获得了胜利,得到经验%lf\n", p1.experience=g1.experience+p1.experience);
				printf("\n\t您获得了胜利,得到金币%d\n",p1.money=g1.money+p1.money);
				shengji();
				Sleep(WAIT2);
				return 0;
			}
			else{
				printf("我攻击了怪物,怪物受到伤害,失去%d生命值,还剩%d生命值",shanghai,blood);
				shangHai=b1.attack*b1.grade-p1.defense;
				p1.blood+=shangHai;
				if(p1.blood<=0){
					p1.blood=0;
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,挂了.....",shangHai);
					shengji();
					num=0;
				}else{
					printf("\n\t怪物攻击了我,我受到了伤害,失去了生命值%d,还剩%d.....",shangHai, p1.blood);
				}
			}
		}else if(c=='4'){
			printf("冷血阶段,回血中....");
				p1.blood=p1.blood+20;	
			if(p1.blood>=100){
                printf("血量已回满!");
				Sleep(50); 
			   }
			
		}else{
			printf("输入错误....");
			continue;
		}
		Sleep(WAIT3);
	}
}

  

posted @ 2016-12-11 15:12  李华华  阅读(115)  评论(0编辑  收藏  举报