我們生活中隨處可見的玩骰子遊戲,那麼我們用c++的類實現出來時會是怎麼樣呢?
首先,是得到乙個1-6之間隨機數的寫法
random.h
#ifndef random__h__
#define random__h__
using
namespace
std;
#include
#include
class random
;#endif
random.cpp
#include"random.h"
random::random()
unsigned random::get_random_num(int top) const
接著是對這個隨機數的一些封裝的操作:
roll.h
#ifndef roll__h__
#define roll__h__
#include"random.h"
using namespace std;
class roll
;#endif
roll.cpp
#include "roll.h"
#include "random.h"
intconst roll::default_num = 6;
intconst roll::min_default_num = 2;
roll::roll(int num)
: number_of_sides(num < min_default_num ? default_num : num)
unsigned int roll::generate_face_value() const
roll::roll(const roll& r)
: number_of_sides(r.number_of_sides)
, face_value(r.face_value)
roll& roll::toss()
int roll::get_number_of_sides() const
unsigned roll::get_face_value()const
int roll::get_default_num()
然後是建立乙個人玩遊戲的類,這個人可以玩多個骰子,但最少必須玩2個,還要獲得他玩骰子的總和點數。
peolpleroll.h
#ifndef peopleroll__h__
#define people__h__
#include"roll.h"
class
peopleroll
;#endif
peopleroll.cpp
#include"peopleroll.h"
#include
intconst peopleroll::default_number_of_peopleroll = 2;
intconst peopleroll::min_number_of_peopleroll = 1;
peopleroll::peopleroll(int number) //sides表示獲得的隨機點數
:number_of_roll(number < min_number_of_peopleroll ? default_number_of_peopleroll:number)
}peopleroll::~peopleroll()
delete ptrroll;
}const peopleroll& peopleroll::fun()const
return *this;
}unsigned peopleroll::get_roll_value(int index)const
int peopleroll::get_number_of_sides()const
int peopleroll::get_number_of_roll()const
unsigned peopleroll::get_total_of_roll()const
return total;
}
最後則是用類封裝乙個人玩遊戲類,便於函式的操作。
rollview.h
#ifndef rollview__h__
#define rollview__h__
class peopleroll;
class rollview
void display()const; //列印出這個人各個骰子的點數
private:
peopleroll& ref_people_roll; //使用預設建構函式建立乙個人玩骰子的函式
};#endif
rollview.cpp
#include
#include"peopleroll.h"
#include"rollview.h"
void rollview::display()const
cout << "total = "
<< ref_people_roll.get_total_of_roll() << endl;
}
最後就是main函式了,最好寫乙個輸入輸出的函式,是main函式看上盡量簡單易懂。
下面的空格是自己專門加上的,為的是顯示好看。
test.cpp
#include
#include"rollview.h"
#include"peopleroll.h"
void display(const peopleroll& temp, const rollview& view)
int main()
本文借鑑於eric nagler的《c++大學教程》第三版,
侯普秀,曹振新譯。
是一本很好的書,很系統的講解了c++期間應該學會的操作。
用c 完成猜數字遊戲
題目樣式 產生0到100之間的隨機數字可以用以下語句 random rdm new random int guess rdm.next 0,101 思路 先設乙個開關,是否要執行,是就輸入 1 否則的話輸入 0 然後根據這個隨機數字guess,使用者輸入的的值賦值給input,用do while語句...
投骰子的隨機遊戲
投骰子的隨機遊戲 每個骰子有六面,點數分別為 1 2 3 4 5 6。遊戲者在程式開始時輸入乙個無 符號整數,作為產生隨機數的種子。每輪投兩次骰子,第一輪如果和數為 7 或 11 則為勝,遊戲結束 和數為 2 3 或 12 則為負,遊戲結束 和數為其它值則將此值作為自己的點數,繼續第二輪 第三輪 直...
用C語言完成猜數字小遊戲
猜數字小遊戲是我人生中第一次寫的遊戲,通過這個遊戲初步理解到了c語言的趣味性以及簡單遊戲的基本框架,有點激動,廢話不多說先把 貼出來 define crt secure no warnings include include include void menu void game if input ...