学习用C++开发你的第一个游戏(英文)
// CowBull.cpp重命名为Main.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
# include <iostream>
# include <string> // 引入string 库
void PrintIntro();
void PlayGame();
std::string GetGuess();
bool AskToPlayAgain();
// 程序的入口
int main()
{
bool bPlayAgain = false;
do
{
PrintIntro();
PlayGame();
bPlayAgain = AskToPlayAgain();
} while (bPlayAgain);
return 0;
}
void PlayGame()
{
// 可猜测的循环次数
constexpr int NUMBER_OF_TRUNS = 5;
for (int cout = 1; cout <= NUMBER_OF_TRUNS; ++cout)
{
GetGuess();
}
}
// 介绍游戏
void PrintIntro()
{
constexpr int WORLD_LENGTH = 9; // 定义一个变量让单词的长度可变
std::cout << "Welocm to Bulls and Cows, a fun word game." << std::endl;
std::cout << "Can you guess the " << WORLD_LENGTH;
std::cout << " letter isogram I'm thinking of?\n";
std::cout << std::endl;
return;
}
// 让玩家猜一个
std::string GetGuess()
{
std::cout << "输入你猜测的结果: ";
std::string Guess = "";
std::getline(std::cin, Guess);
std::cout << "你猜测的是:" << Guess << std::endl;
std::cout << std::endl;
return Guess;
}
bool AskToPlayAgain()
{
std::cout << "你想再玩一次吗?";
std::string Response = "";
std::getline(std::cin, Response);
return (Response[0] == 'y')|| (Response[0] == 'Y');
}
// FBullCowGame.h
#pragma once
# include <string>
class FBullCOwGame {
public:
void Reset(); //ToDo make a more rich return value.
int GetMaxTries();
int GetCurrentTry();
bool IsGameWon();
bool CheckGuessValidity(std::string); // ToDo make a more rich return value.
// Please try and ignore this and focus on the interface above
private:
int MyCurrentTry;
int MyMaxTries;
};
// FBullCowGame.cpp
#include "FBullCowGame.h"
void FBullCOwGame::Reset()
{
return;
}
int FBullCOwGame::GetMaxTries()
{
return 0;
}
int FBullCOwGame::GetCurrentTry()
{
return 0;
}
bool FBullCOwGame::IsGameWon()
{
return false;
}
bool FBullCOwGame::CheckGuessValidity(std::string)
{
return false;
}