Как я могу исправить эту игру Камень-ножницы-бумага в C++, используя "класс" ?
Теперь это выглядит так :
Press 1 for Rock, 2 for Paper, 3 for Scissors Player's choice: AI: AI wins! ============= wins: ties: losses: ============= would you like to play again?
/////////
Тем не менее, я бы с удовольствием сделал так, используя" класс", чтобы игрок - победитель каждого раунда брал 10 л. с. У врага и когда
Кто-то забирает все hp у врага, а затем печатает "AI или игрок получает победу!":
Press 1 for Rock, 2 for Paper, 3 for Scissors Player's Current hp:50 AI's Current hp:50 Player's choice:1 AI:3 AI wins! (then showing Player's hp 40 and AI's hp 60 at next round) ============= wins: ties: losses: ============= would you like to play again?
Что я уже пробовал:
#include "stdafx.h" #include <iostream> #include <string> #include <time.h> #include <cmath> #include <cstdlib> using namespace std; class play { private: int hp ; public: void ShowHp(); void SetHp(int *_hp); }; void play::ShowHp(){ cout << "CurrentHp: " << hp << endl; } void play::SetHp(int *_hp) { hp = *_hp; } int main() { play player; char ch; int win = 0; // hp +10 int tie = 0; // keep hp int lose = 0; // hp -10 //cout << PlayerHP: << ; //cout << AiHP: << ; do { int choice; cout << "Press 1 for Rock, 2 for Paper, 3 for Scissors" << endl; cout << endl; cout << "Player's Choice: "; cin >> choice; int ai = rand() % 3 + 1; cout << "AI: " << ai << endl; cout << endl; // if (choice == 1 && ai == 1) { cout << "tie!" << endl; cout << endl; tie++; } else if (choice == 1 && ai == 2) { cout << "Ai wins!." << endl; cout << endl; lose++; // how can I reduce player's hp?? } else if (choice == 1 && ai == 3) { cout << "Player wins!" << endl; cout << endl; win++; } else if (choice == 2 && ai == 1) { cout << "Player wins!" << endl; cout << endl; win++; } else if (choice == 2 && ai == 2) { cout << "tie!" << endl; cout << endl; tie++; } else if (choice == 2 && ai == 3) { cout << "Ai wins!" << endl; cout << endl; lose++; } else if (choice == 3 && ai == 1) { cout << "Ai wins!" << endl; cout << endl; lose++; } else if (choice == 3 && ai == 2) { cout << "Player wins!" << endl; cout << endl; win++; } else if (choice == 3 && ai == 3) { cout << "tie!" << endl; cout << endl; tie++; } else { cout << "WRONG SELECT" << endl; cout << endl; } // cout << "============================================="<<endl; cout << "Wins: " << win << endl; cout << "Ties:" << tie << endl; cout << "Losses:" << lose << endl; cout << "=============================================" << endl; cout << "Would you like to play again? Y/N" << endl; cin >> ch; system("CLS"); } while (ch == 'Y' || ch == 'y'); //system("pause"); took this out so that the loop ends it with out you needing to hit another button return 0; }
Rick York
На этом этапе я рекомендую использовать отладчик, чтобы вы могли видеть, что на самом деле делает код.
Patrice T
В чем же проблема ?