首页 > 编程知识 正文

29 Pseudocode Programming

时间:2023-05-06 21:04:21 阅读:235385 作者:2976

学习用C++开发你的第一个游戏(英文)

// FBullCowGame.h#pragma once# include <string>class FBullCowGame {public:FBullCowGame();// constructorint GetMaxTries() const;int GetCurrentTry() const;bool IsGameWon() const;void Reset(); //ToDo make a more rich return value.bool CheckGuessValidity(std::string); // ToDo make a more rich return value.// provie a method for counting bulls & cows, and increasing turn #// Please try and ignore this and focus on the interface aboveprivate:// see constructor for initialisationint MyCurrentTry;int MyMaxTries;}; // FBullCowGame.cpp#include "FBullCowGame.h"void FBullCowGame::Reset(){constexpr int MAX_TRIES = 8;MyCurrentTry = 1;MyMaxTries = MAX_TRIES;return;}FBullCowGame::FBullCowGame(){Reset();}int FBullCowGame::GetMaxTries() const{return MyMaxTries;}int FBullCowGame::GetCurrentTry() const{return MyCurrentTry;}bool FBullCowGame::IsGameWon() const{return false;}bool FBullCowGame::CheckGuessValidity(std::string){return false;} // Main.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//# include <iostream># include <string> // 引入string 库# include "FBullCowGame.h"void PrintIntro();void PlayGame();std::string GetGuess();bool AskToPlayAgain();FBullCowGame BCGame;// instantiate a new game// 程序的入口int main(){bool bPlayAgain = false;do{PrintIntro();PlayGame();bPlayAgain = AskToPlayAgain();} while (bPlayAgain); return 0;}void PlayGame(){BCGame.Reset();int MaxTries = BCGame.GetMaxTries();// 可猜测的循环次数// Todo change from For to While loop once we are validating triesfor (int cout = 1; cout <= MaxTries; ++cout){ std::string Guess = GetGuess();// ToDo make loop checking valid // Submit valid guess to the game // Print numbe of bulls and cows std::cout << "Your guess was: " << Guess << std::endl; std::cout << std::endl;}// ToDo summary game}// 介绍游戏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(){int CurrentTry = BCGame.GetCurrentTry();std::cout << "Try" << CurrentTry << ".输入你猜测的结果: ";std::string Guess = "";std::getline(std::cin, Guess);return Guess;}bool AskToPlayAgain(){std::cout << "你想再玩一次吗?(Y/N)";std::string Response = "";std::getline(std::cin, Response);return (Response[0] == 'y')|| (Response[0] == 'Y');}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。