項目

在這兩週是咱們的項目時間,在項目期間,我學到了許多新的知識,例如文件讀寫。還知道了許多方便快捷的軟件,例如圖片轉字符軟件。我完成了角色移動,移動打怪,文件讀寫等板塊。。。接下來爲你們展現下...blog

  //角色移動 
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);
	}
}
相關文章
相關標籤/搜索