開發(fā)魔法師迷你游戲平臺(tái)
[if !supportLists]一、????????????[endif]任務(wù)描述
現(xiàn)要開發(fā)一款魔法師迷你游戲平臺(tái),主要功能如下
[if !supportLists](1) .??[endif]用戶可以進(jìn)入游戲平臺(tái)并選擇喜愛的游戲。
[if !supportLists](2) .??[endif]用戶可以玩游戲并晉級(jí)
[if !supportLists](3) .??[endif]游戲結(jié)束后,用戶支付游戲幣
[if !supportLists](4) .??[endif]統(tǒng)計(jì)不同游戲的點(diǎn)擊率
[if !supportLists](5) .??[endif]循環(huán)錄入用戶信息
以上需要,我們可以通過分階段來完成
[if !supportLists]二、????????????[endif]練習(xí)一:選擇游戲
[if !supportLists](一) [endif]需求說明
用戶進(jìn)入游戲平臺(tái)后,可以選擇喜愛的游戲,程序運(yùn)行結(jié)果如下:
[if !vml]
[endif]
[if !supportLists](二) [endif]提示
使用switch選擇結(jié)構(gòu)
[if !supportLists](三) [endif]參考代碼
???????????Console.WriteLine("歡迎進(jìn)入魔法師迷你游戲平臺(tái)");
???????????Console.WriteLine("請(qǐng)選擇您喜愛的游戲:");
???????????Console.WriteLine("****************************************");
???????????Console.WriteLine(@"
??????????????????? 1.斗地主
??????????????????? 2.斗牛
??????????????????? 3.泡泡龍
??????????????????? 4.連連看");
???????????Console.WriteLine("****************************************");
???????????Console.Write("請(qǐng)選擇:");
???????????string str_num = Console.ReadLine();
???????????try
???????????{
??????????????? int num = Convert.ToInt32(str_num);
??????????????? switch(num)
??????????????? {
??????????????????? case1:
??????????????????????? Console.WriteLine("您已進(jìn)入斗地主房間");
??????????????????????? break;
??????????????????? case2:
???????????????????????Console.WriteLine("您已進(jìn)入斗牛房間");
??????????????????????? break;
??????????????????? case3:
??????????????????????? Console.WriteLine("您已進(jìn)入泡泡龍房間");
??????????????????????? break;
??????????????????? case4:
??????????????????????? Console.WriteLine("您已進(jìn)入連連看房間");
??????????????????????? break;
??????????????? }
???????????}
???????????catch
???????????{
??????????????? Console.WriteLine("你輸入的是非數(shù)字,程序退出,請(qǐng)重新運(yùn)行程序");
???????????}
???????????Console.ReadKey();
[if !supportLists]三、????????????[endif]練習(xí)二:玩游戲并晉級(jí)
[if !supportLists](一) [endif]需求說明
用戶玩游戲,每次玩5局,晉級(jí)標(biāo)準(zhǔn)如下
[if !supportLists](1) .??[endif]每次玩游戲不足5局,則不能晉級(jí)
[if !supportLists](2) .??[endif]在5局游戲中,如果80%達(dá)到80分以上,則為一級(jí);如果60%達(dá)到80分以上,則為二級(jí),否則不能晉級(jí)。
[if !vml]
[endif][if !vml]
[endif]
[if !supportLists](二) [endif]提示
[if !supportLists]1.????????[endif]使用循環(huán)實(shí)現(xiàn)玩5局,使用break語(yǔ)句實(shí)現(xiàn)中途退出游戲。
do
??????????? {
??????????????? Console.Write("您正在玩第{0}局,成績(jī)?yōu)椋?, n);
??????????????? string str_score = Console.ReadLine();
??????????????? int score = Convert.ToInt32(str_score);
??????????????? if(score > 80)
??????????????? {
??????????????????? count++;
??????????????? }
??????????????? n++;
??????????????? if(n > 5)
??????????????? {
??????????????????? Console.WriteLine("游戲結(jié)束");
??????????????? }else
?? ?????????????{
??????????????????? Console.Write("\n繼續(xù)玩下一局嗎?(yes/no)");
??????????????????? answer =Console.ReadLine();
??????????????????? if ("no"== answer)
??????????????????? {
??????????????????????? Console.Write("\n您已經(jīng)中途退出程序了");
????????????????? ??????break;
??????????????????? }else
??????????????????? {
??????????????????????? Console.WriteLine("進(jìn)入一局");
??????????????????? }
??????????????? }
??????????? }while (n <= 5);
[if !supportLists]2.????????[endif]使用多重if選擇結(jié)構(gòu),根據(jù)游戲的得分判斷是否晉級(jí)
doublerate = count / 5.0;????? // 計(jì)算達(dá)到80分以上的比率
???????????if(n> 5)
???????????{
??????????????? if(rate > 0.8)
??????????????? {
??????????????????? Console.WriteLine("恭喜,通過一級(jí)");
??????????????? }else if(rate > 0.6)
??????????????? {
??????????????????? Console.WriteLine("通過二級(jí)");
??????????????? }else
??????????????? {
??????????????????? Console.WriteLine("\n對(duì)不起,你未能晉級(jí),繼續(xù)加油吧~");
??????????????? }
???????????}else
???????????{
??????????????? Console.WriteLine("對(duì)不起,你沒有完成游戲,不能晉級(jí),繼續(xù)加油努力");
???????????}
[if !supportLists]四、????????????[endif]練習(xí)三:玩游戲并支付游戲幣
[if !supportLists](一) [endif]需求
[if !supportLists](1) .??[endif]根據(jù)游戲類型和游戲時(shí)長(zhǎng)計(jì)算應(yīng)付的游戲幣
[if !supportLists](2) .??[endif]游戲類型分為牌類和休閑競(jìng)技類兩大類
[if !supportLists](3) .??[endif]游戲的收費(fèi)標(biāo)準(zhǔn)如下:
[if !supportLists]a)????????[endif]牌類:10元/小時(shí)
[if !supportLists]b)????????[endif]休閑競(jìng)技類:20元/小時(shí)
[if !supportLists](4) .??[endif]游戲的收費(fèi)規(guī)則如下:游戲時(shí)間超過10個(gè)小時(shí),打5折;10小時(shí)及以下,打8折。
程序運(yùn)行結(jié)果如下圖所示:
[if !vml]
[endif]
[if !supportLists](二) [endif]提示
[if !supportLists]1.????????[endif]使用switch選擇結(jié)構(gòu)判斷游戲類型
[if !supportLists]2.????????[endif]使用if-else選擇結(jié)構(gòu)游戲時(shí)長(zhǎng)判斷折扣
[if !supportLists]五、????????????[endif]練習(xí)四:統(tǒng)計(jì)游戲點(diǎn)擊率
[if !supportLists](一) [endif]需求
錄入游戲的點(diǎn)擊率,統(tǒng)計(jì)點(diǎn)擊率超過100的游戲所占的比例。程序運(yùn)行結(jié)果如下圖所示
[if !vml]
[endif]
[if !supportLists](二) [endif]提示
使用循環(huán)結(jié)構(gòu)錄入所有游戲的點(diǎn)擊率,并使用if選擇結(jié)構(gòu)統(tǒng)計(jì)點(diǎn)擊率在100以上的游戲的比例。
[if !supportLists]六、????????????[endif]練習(xí)五:添加用戶信息
[if !supportLists](一) [endif]需求
為了維護(hù)用戶信息,需要將其信息錄入系統(tǒng),具體要求如下:
[if !supportLists](1) .??[endif]循環(huán)錄入用戶的信息,包括用戶編號(hào)、年齡、積分
[if !supportLists](2) .??[endif]判斷年齡是否合法,要求用戶必須滿10周歲以上。若年齡合法,則顯示錄入信息,否則顯示錄入失敗
程序運(yùn)行結(jié)果如下:
[if !vml]
[endif]
[if !supportLists](二) [endif]提示
使用循環(huán)結(jié)構(gòu)錄入用戶信息,并使用if選擇結(jié)構(gòu)和continue語(yǔ)句判斷錄入的年齡信息是否合法