2007年9月6日 星期四

C 程式設計作業二,選擇邏輯與輸出、輸入應用:解題


/* C Programming, Project 2 */

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int choice1,choice2,choice3,choice4;/*宣告變數choice1,choice2,choice3,choice4*/
int choice5,choice6,choice7,choice8;/*宣告變數choice5,choice6,choice7,choice8*/
char playername[10];/*宣告可容納10個字元的字元陣列playername*/

printf("\n歡迎來到 \"千隨島\"\n\n");
printf("請玩家輸入姓名:");/*印出請玩家輸入姓名:*/
scanf("%s",playername);/*讀取字串,並把他寫到playername字串陣列裡*/
printf("遊戲方式:每次可以選擇\'向左\'或者\'向右\'走。\n");/*印出遊戲執行方式*/
printf("時間:西元六千年。\n");/*印出遊戲的時間*/
printf("背景:在千隨島上的生物以狼人與吸血鬼為主。 早在西元4350年,曾經\n");
printf("雙方有意和平相處而出現所謂的「和平會議」,但終究宣告失敗。世世\n");
printf("代代相互殘殺......\n");
printf("相傳在千隨島的某個森林中,存在唯一的人類叫\'密斯\'。而玩家的目的\n");
printf("在於尋找到密斯,並跟隨密斯拯救整個千隨島......,千隨島是否能和平\n");
printf("與是否能完成此任務,一切都在於你。\n");/*此段印出遊戲的故事背景*/

/*列印出遊戲開始狀況-狀況1*/
printf("\n%s玩家,目前你所在位置在島嶼的西北方,身上僅有一把瑞士刀。\n",playername);
printf("開始朝著森林深處前進...。\n");
printf("第一個交叉路口:(1)左(2)右");
scanf("%d",&choice1);/*讀取鍵盤之輸入,並存於choice1*/
if(choice1==1)/*判斷做出狀況1選擇時所遭遇之各種狀況*/
{
printf("在森林路徑尋找到一個山洞,在洞中找到一些乾糧及水。\n");
}
else if(choice1==0||choice1>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
}
else
{
printf("唉唷!因尚未熟悉地形,不幸踩空,跌落山谷。\n");
printf("%s, 你執行任務失敗,遊戲結束。\n",playername);
system("pause");
return 0;
}
/*列印出狀況2*/
printf("遇到凶猛的猛獸,拿起瑞士刀與他戰鬥。但終究不敵猛獸...轉身逃跑。\n");
printf("第二個交叉路口:(1)左(2)右");
scanf("%d",&choice2);/*讀取鍵盤之輸入,並存於choice2*/
if(choice2==2)/*判斷做出狀況2選擇時所遭遇之各種狀況*/
{
printf("順利逃脫猛獸的追逐,往另一個方向前進。\n");
}
else if(choice2==0||choice2>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("在猛獸追逐中,被路上的小石頭絆倒,被猛獸咬死。\n");
system("pause");
return 0;
}
/*列印出狀況3*/
printf("\n在千隨島的東方尋得擁有三百五十六歲數的狼人智者,從他口中得知在西元\n");
printf("4182年曾經發生大規模狼人與吸血鬼被屠殺的事件。據說是傳說中的「最後\n");
printf("武器」-銀造成的,也在那之後,雙方禁止使用最後武器在戰爭上。必從他\n");
printf("口中探得密斯的隱居地。繼續向前邁進...。\n");
printf("第三個交叉路口:(1)左(2)右");
scanf("%d",&choice3);/*讀取鍵盤之輸入,並存於choice3*/
if(choice3==2)/*判斷做出狀況3選擇時所遭遇之各種狀況*/
{
printf("順利越過沼澤地,向著密斯的隱居地-岳畔湖 旁的小屋前進。\n");
}
else if(choice3==0||choice3>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("因誤入沼澤地的禁地,遭傳說中居住者的誤會而被帶走,並成為其奴隸。\n");
system("pause");
return 0;
}
/*列印出狀況4*/
printf("\n抵達位於東方的岳畔湖,並且發現一小木屋。但須在兩小路口抉擇...。\n");
printf("第四個交叉路口:(1)左(2)右");
scanf("%d",&choice4);/*讀取鍵盤之輸入,並存於choice4*/
if(choice4==1)/*判斷做出狀況4選擇時所遭遇之各種狀況*/
{
printf("發現密斯,告訴密斯來此尋找他的目的。請求他的幫忙,\n");
}
else if(choice4==0||choice4>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("誤入密斯獨門的陣法中,盤旋其中,不得而出。\n");
system("pause");
return 0;
}
/*列印出狀況5*/
printf("\n密斯要求與他對決,戰勝才願意跟隨%s並且聽命於他。於是,將和密斯來\n",playername);
printf("一場攻防追逐戰。\n");
printf("第五個選擇:(1)左(2)右 追逐密斯");
scanf("%d",&choice5);/*讀取鍵盤之輸入,並存於choice5*/
if(choice5==2)/*判斷做出狀況5選擇時所遭遇之各種狀況*/
{
printf("恭喜%s,追逐到密斯,且與密斯的對決戰勝了。密斯加入你的隊伍。\n\n",playername);
}
else if(choice5==0||choice5>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("喔喔!你輸了。因未取得密斯信任而導致無法繼續執行任務。\n");
printf("%s, 你無法完成任務,遊戲結束。\n",playername);
system("pause");
return 0;
}
/*列印出狀況6*/
printf("密斯告訴%s,除了有他還不夠,必須尋找另外一位有相當身手的狼人作為\n",playername);
printf("保鏢,因為狼人能靠著氣味察覺周遭狀況。而密斯建議的人是荳兒。於是\n");
printf("密斯一行人繼續前進,朝著\"清欣\"城市走...。\n");
printf("第六個交叉路口:(1)左(2)右");
scanf("%d",&choice6);/*讀取鍵盤之輸入,並存於choice6*/
if(choice6==2)/*判斷做出狀況6選擇時所遭遇之各種狀況*/
{
printf("抵達清欣城市,在清欣城市的Papaya酒吧找到荳兒。因密斯的邀請,\n");
printf("荳兒隨即加入隊伍。\n");
}
else if(choice6==0||choice6>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("在清欣城市遭遇到狼人與吸血鬼雙方展開的獵捕行動,不幸慘遭其中\n");
printf("一位狼人的牙齒咬斷脖子,因而身首異處。任務失敗!\n\n");
system("pause");
return 0;
}
/*列印出狀況7*/
printf("\n%s一行人隨即出發尋找密斯祖傳的藏寶圖中的藏寶地點,也就是位於清欣城\n",playername);
printf("市西北西方位的遺跡......。\n");
printf("第七個交叉路口:(1)左(2)右");
scanf("%d",&choice7);/*讀取鍵盤之輸入,並存於choice7*/
if(choice7==1)/*判斷做出狀況7選擇時所遭遇之各種狀況*/
{
printf("發現遺跡!位於遺跡入口寫了一排字......\n");
printf("「一把來自異地的鑰匙,將讓和平之光再度閃耀...」\n");

}
else if(choice7==0||choice7>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("沒有足夠水量,無法穿越過沙漠,渴死在沙漠之中。\n");
system("pause");
return 0;
}
/*列印出狀況8*/
printf("\n根據藏寶圖上的暗語,%S和密斯一行人必須決定位於遺跡內的兩個暗門。",playername);
printf("左邊的暗門寫著\'ξ\',而右邊的暗門寫著\'ζ\'。\n");
printf("第八個選擇:(1)左(2)右");
scanf("%d",&choice8);/*讀取鍵盤之輸入,並存於choice8*/
if(choice8==2)/*判斷做出狀況8選擇時所遭遇之各種狀況*/
{
printf("順利取得最後武器 銀 ,並且尋得寶箱數十箱。\n");
printf("最後武器由密斯帶走,和平解決了狼人與吸血鬼的仇恨,千隨島回復平靜。\n");
}
else if(choice8==0||choice8>2)
{
printf("輸入錯誤,遊戲結束。\n");/*不當選擇,程式結束*/
system("pause");
return 0;
}
else
{
printf("跌入遺跡中用來預防入侵者的陷阱,被封鎖在其一密室中。\n");
system("pause");
return 0;
}
system("pause");
return 0;
}

作業二題目
回到首頁

沒有留言: