?? csimulator.cpp
字號:
//**************************************************************************************
//
// Copyright @2006 - 2007, All Rights Reserved.
//
// Filename: CSimulator.h
//
// Author: Yin Zhou
//
// Created: 04/07/2008
//
// Purpose: Implemenation of CSimulator class
// 關于游戲模擬器類的具體實現
//
//***************************************************************************************
#include "stdafx.h"
#include <assert.h>
#include "CRule.h"
#include "CGroup.h"
#include "CSimulator.h"
//*********************************************************************************
//
// Function: CSimulator::CSimulator
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: Constructor
//
// Parameters: None.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
CSimulator::CSimulator() {
int i;
m_group = new CGroup(100);
for (i=0;i<= (int) OTHERS;i++) {
m_typeCount[i] = 0;
}
}
//*********************************************************************************
//
// Function: CSimulator::~CSimulator
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: Destructor
//
// Parameters: None.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
CSimulator::~CSimulator() {
delete m_group;
}
//*********************************************************************************
//
// Function: CSimulator::GetGameCount
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: 得到總局數
//
// Parameters: None.
//
// Return: 模擬的總局數.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
int CSimulator::GetGameCount() {
return m_gameCount;
}
//*********************************************************************************
//
// Function: CSimulator::SetGameCount
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: count [IN] --- 設置的總局數
//
// Parameters: 總局數.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
void CSimulator::SetGameCount(int count) {
m_gameCount = count;
}
//*********************************************************************************
//
// Function: CSimulator::Start
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: 開始模擬
// 模擬器的總入口
//
// Parameters: None.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
void CSimulator::Start() {
CSet set1, set2;
CGame * game = NULL;
int i;
int result;
SET_TYPE type;
// 清理過去的統計記錄
for (i=0;i<= (int) OTHERS;i++) {
m_typeCount[i] = 0;
}
for (i=0;i<m_gameCount;i++) {
set1.Clear();
set2.Clear();
m_group->Dispatch(&set1);
m_group->Dispatch(&set2);
//printf("set1 :\n");
set1.Display();
//printf("set2 :\n");
set2.Display();
result = CRule::Compare(&set1, &set2);
if (result > 0) {
type = set1.GetType();
}
else if (result < 0) {
type = set2.GetType();
}
else {
;
}
m_typeCount[type]++;
}
// 畫結果統計圖
Draw();
}
//*********************************************************************************
//
// Function: CSimulator::Statistics
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: 統計游戲結果
//
// Parameters: None.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
void CSimulator::Statistics() {
}
//*********************************************************************************
//
// Function: CSimulator::Draw
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: 把統計結果作圖
//
// Parameters: None.
//
// Return: None.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
void CSimulator::Draw() {
char * typeName[] = {"SAME_COLOR", "SERIES", "SAME_NUMBER", "PAIR", "OTHERS" };
int i;
for (i=0;i<= (int) OTHERS;i++) {
printf("%s : %f \n", typeName[i], 100.0*m_typeCount[i]/m_gameCount);
}
fflush(stdout);
}
//*********************************************************************************
//
// Function: CSimulator::GetTypeCount
//
// Author: Yin Zhou
//
// Created: 04/20/2008
//
// Purpose: 得到某一類型的贏局數
//
// Parameters: setType [IN] --- 一手牌的類型.
//
// Return: 該類型的贏局數.
//
// Last Modified by : Yin Zhou
//
//*********************************************************************************
int CSimulator::GetTypeCount(int setType) {
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -