



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、#include <stdio.h>#include <stdlib.h>#include <string.h>void basic_interface()/基本界面system("clear");system("tput cup 5 20");printf("=n ");system("tput cup 6 20");printf("*n");system("tput cup 7 20");printf("*_歡迎使用商人過河游
2、戲!_*n");system("tput cup 8 20");printf("*n");system("tput cup 9 20");游戲說明*n");system("tput cup 10 20");printf("* 三個商人帶著三個隨從和貨物過河,船每次最多只能載兩個人,要求在過河期間,任一岸上商人的人數*n");system("tput cup 11 20");printf("* 要大于或等于隨從的人數,否則隨從會殺掉商人搶走貨物。*
3、n");system("tput cup 12 20");printf("*n");system("tput cup 13 20");printf("*游戲操作 :*n");system("tput cup 14 20 ");printf("*( 1)依次輸入過河的商人和隨從人數; *n");system("tput cup 15 20");printf("*( 2)非法輸入按鍵將重新開始。*n");system("
4、tput cup 16 20");printf("*-*n");system("tput cup 1720");printf("*n");system("tput cup 17113");printf("*n");system("tput cup 1820");printf("*n");system("tput cup 18113");printf("*n");system("tput cup 1
5、920");printf("*n");system("tput cup 19113");printf("*n");system("tput cup 2020");printf("*n");system("tput cup 20113");printf("*n");system("tput cup 2120");printf("*n");system("tput cup 21113");p
6、rintf("*n");system("tput cup 2220");printf("*n");system("tput cup 22113");printf("*n");system("tput cup 2320");printf("*n");system("tput cup 23113");printf("*n");system("tput cup 2420");printf("*
7、n");system("tput cup 24113");printf("*n");system("tput cup 2520");printf("*n");system("tput cup 25113");printf("*n");system("tput cup 2620");printf("*n");system("tput cup 26113");printf("*n");sys
8、tem("tput cup 2720");printf("*n");system("tput cup 27113");printf("*n");system("tput cup 28 20"); printf("*n");char a6;/此岸char b6;/彼岸void print_state(char a,char b)/ 打印渡河狀態int i,j,ab,aa,ba,bb;/ab此岸商人數, aa此岸隨從數bb彼岸商人數,ba,彼岸隨從數aa=ab=ba=bb=0;b
9、asic_interface() ;system("tput cup 18 40");printf("system("tput cup 19 40");printf("system("tput cup 18 73");printf("system("tput cup 19 73");printf("此岸商人數: n");此岸隨從數: n");彼岸商人數 : n");彼岸隨從數: n");for(i=0;i<6;i+)/計算此岸商人
10、數和隨從數if(ai='B')ab+;else if (ai='A')aa+;system("tput cup 18 53");printf("%dn",ab);/輸出此岸商人數system("tput cup 19 53");printf("%dn",aa);/輸出此岸隨從數for(j=0;j<6;j+)/計算彼岸商人數和隨從數if(bj='B')bb+;else if(bj='A')ba+;system("tput cup 18 8
11、6");printf("%dn",bb);/輸出彼岸商人數system("tput cup 19 86");printf("%dn",ba);/輸出彼岸隨從數if(ab=0 && aa=0 && bb=3 && ba=3)/ 判斷是否渡河成功system("tput cup 23 40");printf(" 恭喜你!你已成功幫助商人安全過河!按任意鍵退出 .n");system("tput cup 30 0");get
12、char();system("clear");exit(0);void process()int i,j,go_b,go_a,back_b,back_a,ab,aa,bb,ba;/go_b, 過去商人數, go_a, 過去隨從數, back_b, 回來商人數, back_a, 回來隨從數,char ch;Start:basic_interface();system("tput cup 20 40");printf(" 請按任意鍵開始游戲(按 Q鍵退出) ."); ch=getchar();if(ch='Q'|ch=
13、39;q')system("clear");exit(0);for(i=0;i<3;i+)ai='B'for(i=3;i<6;i+)ai='A'for(i=0;i<6;i+)bi='0'print_state(a,b);while(1)/ 過去for(ab=0,aa=0,i=0;i<6;i+)/計算此岸的商人數和隨從數if(ai='B')ab+;else if(ai='A')aa+;system("tput cup 21 43");printf
14、("輸入去彼岸商人的人數:n");system("tput cup 22 43");printf("輸入去彼岸隨從的人數:n");system("tput cup 21 65");scanf("%d",&go_b);/輸入去彼岸的商人數getchar();system("tput cup 22 65");輸入去彼岸的隨從數getchar();if(go_b<0 | go_b>ab | go_a<0 | go_a>aa |go_a+go_b<
15、;1 |go_a+go_b>2)/輸入不合法system("tput cup 24 40");printf("輸入有誤!按任意鍵重新開始.");getchar();goto Start;for(i=1;i<=go_b;i+)/過河后兩邊的狀態for(j=0;j<6;j+)if(aj='B')aj='0'break;for(i=1;i<=go_b;i+)for(j=0;j<6;j+)if(bj='0')bj='B'break;for(i=1;i<=go_a;
16、i+)for(j=0;j<6;j+)if(aj='A')aj='0'break;for(i=1;i<=go_a;i+)for(j=0;j<6;j+)if(bj='0')bj='A'break;for(aa=0,ab=0,i=0;i<6;i+)/統計過河后 a 岸的商人數和隨從數if(ai='A')aa+;else if(ai='B')ab+;for(ba=0,bb=0,i=0;i<6;i+)/統計過河后 b 按的商人數和隨從數if(bi='A')ba+;
17、else if(bi='B')bb+;if(ab=3) |(bb=3) | (ab=aa) | (bb=ba)/ 可以繼續下一步的條件print_state(a,b);elsesystem("tput cup 24 40");printf("商人被殺,按任意鍵重新開始.n");system("tput cup 30 0");getchar();goto Start;/ 回來for(bb=0,ba=0,i=0;i<6;i+) /統計對岸的商人數和隨從數if(bi='B')bb+;else if(bi
18、='A')ba+;system("tput cup 24 43");printf("輸入回此岸商人的人數:n");system("tput cup 25 43");printf("輸入回此岸隨從的人數:n");system("tput cup 24 65");scanf("%d",&back_b);system("tput cup 25 65");scanf("%d",&back_a);if(back_b
19、<0 | back_b>bb | back_a<0 | back_a>ba | back_a+back_b<1 | back_a+back_b>2) /判斷輸入是否合法system("tput cup 26 40");printf("輸入有誤!按任意鍵重新開始.n");system("tput cup 30 0");getchar();goto Start;for(i=1;i<=back_b;i+)/返回后的狀態for(j=0;j<6;j+)if(bj='B')bj='0'break;for(i=1;i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告傳媒居間推廣提成協議
- 醫療器械融資存款居間合同
- 2024靈石縣第一職業高級中學工作人員招聘考試及答案
- 2024濟南汶源工商管理學校工作人員招聘考試及答案
- 2024甘德縣紅格爾多吉民族職業高中工作人員招聘考試及答案
- 施工安全防范合同范本
- 工業機器人技術與應用試題庫+參考答案
- 城市綠化工程項目施工合同
- 花卉靜物美術課件
- 耐藥菌感染病人的護理
- 2025年龍江森工集團權屬林業局有限公司招聘筆試參考題庫含答案解析
- 2025生豬購買合同范文
- 醫療器械經營質量管理制度及工作程序-完整版
- (二模)溫州市2025屆高三第二次適應性考試英語試卷(含答案)+聽力音頻+聽力原文
- DeepSeek+AI組合精準賦能教師教學能力進階實戰 課件 (圖片版)
- 行政事業單位固定資產培訓
- 6.1.2化學反應與電能 課件 2024-2025學年高一下學期化學人教版(2019)必修第二冊
- 建筑施工企業安全生產流程
- 外來植物入侵工程施工方案
- 2025屆高考地理專項練習:農業區位因素及其變化(含答案)
- 初中生科學素養與科學探究能力的培養策略研究考核試卷
評論
0/150
提交評論