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