史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   請問下面的程式要怎麼寫阿?? (http://forum.slime.com.tw/thread219894.html)

rang0419 2007-11-09 05:23 PM

請問下面的程式要怎麼寫阿??
 
Write a program of a dice game.
1.The computer and the player are given 100 dollars wager.
2.The player decides the number of dices to roll (It should be larger than 0).
3. The computer and the player roll the dices.
4.Whoever has the larger total is the winer.
5. Whoever wins twice wins a set of game. The winner gains the wager of 20 dollars and the loser looses the wager of 20 dollars.
6. A player can keep playing the game or quit the game.
7. The game is over when the player or the computer looses all the wager.
8.Once the game is over, the player can start a new game or quit the game.


A possible run may look like:
**************************************************
Welcome to the dice game!
**************************************************
Player's wager: 100
Computer's wager: 100
Enter the number of dices to roll (>= 1): 0
Try again! Enter the number of dices to roll: 2
Roll the dice (Push any key to roll)?
Player: 3 3
Computer: 2 6
=> Computer wins once.
Roll the dice (Push any key to roll)?
Player: 2 5
Computer: 3 4
=> No winner. Try again!
Roll the dice (Push any key to roll)?
Player: 2 6
Computer: 1 3
=> Player wins once.
Roll the dice (Push any key to roll)?
Player: 4 6
Computer: 3 5
=> Player wins the set.
Player's wager: 120
Computer's wager: 80
==================================================
Continue (Y/N)? Y
Enter the number of dices to roll: 3
Roll the dice (Push any key to roll)?
Player: 3 3 6
Computer: 2 6 5
=> Computer wins once.
.....
.....
Player's wager: 200
Computer's wager: 0
==================== Game Over! ==================
Start a new game (Y/N)? Y
....



這該怎麼寫勒.........

可以給我參考一下嗎

joebin 2007-11-11 12:51 AM

語法:

#include<iostream>
using namespace std;
int main(){
  int i,r,n,w[2],s[2],m[2]={100,100}; 
  char p='y'; 
  //p表示否繼續玩,陣列0為玩家,1為電腦,w表贏的次數,s表骰子和,m表金錢數
  cout <<"Welcome to the dice game!"<<endl;
  for(i=0;i<30;i++) cout <<"*";
  srand(time(NULL));
  cout <<endl<<"Player's wager: 100"<<endl<<"Computer's wager: 100";
  while(p=='y'){ 
    w[0]=w[1]=0;
    cout <<endl<<"Enter the number of dices to roll (>= 1):";
    while(cin >>n){ //n表骰子數目
          if(n>0) break;
      cout<<endl<<"Try again! Enter the number of dices to roll:";
    }   
    while(1){
      s[0]=s[1]=0;
      cout<<endl<<"Roll the dice (Push any key to roll)?"<<endl;
      cin >>p;
      cout <<"Player:";
      for(i=0;i<n;i++){
        r=(rand()%6)+1;
        cout <<" "<<r;
        s[0]+=r;   
      }
      cout <<endl<<"Computer:";
      for(i=0;i<n;i++){
        r=(rand()%6)+1;
        cout <<" "<<r;
        s[1]+=r;   
      }
      if(s[0]>s[1]){  //玩家贏
              if(w[0]>0){
          cout <<endl<<"=> Player wins the set."<<endl;
          m[0]+=20;m[1]-=20;   
          break;
        }
        cout <<endl<<"=> Player wins once."<<endl;
        w[0]++; 
      }
      if(s[1]>s[0]){  //電腦贏
              if(w[1]>0){
          cout <<endl<<"=> Computer wins the set."<<endl;
          m[1]+=20;m[0]-=20; 
          break;
        }
        cout <<endl<<"=> Computer wins once."<<endl;
        w[1]++; 
      }
      if(s[0]==s[1]) cout <<endl<<"=> No winner. Try again!"<<endl;
    }
    for(i=0;i<30;i++) cout <<"=";
    cout <<endl<<"Player's wager: "<<m[0]<<endl<<"Computer's wager: "<<m[1]<<endl;
    if(m[0]>0&&m[1]>0){  //是否繼續遊戲
          cout <<"Continue (Y/N)?";
      cin >>p;
    } 
    else{
      for(i=0;i<20;i++){
          if(i==10) cout <<" Game Over! ";
          cout <<"=";
      }
      cout <<endl<<"Start a new game (Y/N)?";  //是否結束遊戲
          cin >>p;
      m[0]=m[1]=100;
    }                     
  }
  system("pause");
  return 0;
}


rang0419 2007-11-11 12:52 PM

非常感謝你的解答喔!!

很詳細又有註解~~~:

我現在就來試試看..........

感謝捏 有問題我再問你!!:on_14::on_87:

joebin 2007-11-11 03:01 PM

引用:

作者: rang0419 (文章 1842086)
非常感謝你的解答喔!!

很詳細又有註解~~~:

我現在就來試試看..........

感謝捏 有問題我再問你!!:on_14::on_87:

歡迎^^剛打入全國賽~正愁沒題目練習

rang0419 2007-11-12 05:32 PM

引用:

作者: joebin (文章 1842164)
歡迎^^剛打入全國賽~正愁沒題目練習



甚麼全國賽阿 這麼厲害 :on_72:


所有時間均為台北時間。現在的時間是 01:26 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1