fork download
  1. #include <iostream>
  2. #include <functional>
  3. #include <map>
  4. #include <string>
  5. #include <vector>
  6. #include <iomanip>
  7. using namespace std;
  8.  
  9. string liczba_na_pkn(int w);
  10.  
  11. int main()
  12. {
  13. int kmp_wynik{};
  14. int grc_wynik{};
  15. string guess{};
  16. const int k = 1;
  17. const int p = 2;
  18. const int n = 3;
  19. int magiczna_liczba{};
  20. vector<int> game{ k, k, p, p, n, p, n, k, k, p, k, p, p, n, p, k, n, k, n, k, p, k, p, n };
  21. cout << "Type a random positive number " << endl;
  22. cin >> magiczna_liczba;
  23. cout << endl;
  24. cout << "PKM" << endl << endl;
  25. cout << "> ";
  26. while (cin >> guess)
  27. {
  28. switch ([](string w)->int{if (w == "k")return 1; if (w == "p")return 2; if (w == "n")return 3; return 4; }(guess))
  29. {
  30. case 1:
  31. cout << guess << " przeciwko " << liczba_na_pkn(game[magiczna_liczba%game.size()]) << endl;
  32. if (game[magiczna_liczba%game.size()] == n){
  33. cout << "wygrywasz" << endl;
  34. }
  35. else if (game[magiczna_liczba%game.size()] == p){
  36. cout << "komputer wygrywa" << endl;
  37. }
  38. else
  39. cout << "remis" << endl;
  40. ++magiczna_liczba;
  41. break;
  42. case 2:
  43. cout << guess << " przeciwko " << liczba_na_pkn(game[magiczna_liczba%game.size()]) << endl;
  44. if (game[magiczna_liczba%game.size()] == k){
  45. cout << "wygrywasz" << endl;
  46. }
  47. else if (game[magiczna_liczba%game.size()] == n){
  48. cout << "komputer wygrywa" << endl;
  49. }
  50. else
  51. cout << "remis" << endl;
  52. ++magiczna_liczba;
  53. break;
  54. case 3:
  55. cout << guess << " przeciwko " << liczba_na_pkn(game[magiczna_liczba%game.size()]) << endl;
  56. if (game[magiczna_liczba%game.size()] == p){
  57. cout << "wygrywasz" << endl;
  58. }
  59. else if (game[magiczna_liczba%game.size()] == k){
  60. cout << "komputer wygrywa" << endl;
  61. }
  62. else
  63. cout << "remis" << endl;
  64. ++magiczna_liczba;
  65. break;
  66. default:
  67. cout << "Dozwolone typy: k, p, n" << endl;
  68. }
  69. cout << endl;
  70. cout << "> ";
  71. }
  72. }
  73.  
  74. string liczba_na_pkn(int w)
  75. {
  76. switch (w)
  77. {
  78. case 1: return "k";
  79. case 2: return "p";
  80. case 3: return "n";
  81. }
  82. return "błąd";
  83. }
Success #stdin #stdout 0s 3464KB
stdin
1321 p k n n p k y i p
stdout
Type a random positive number 

PKM

> p przeciwko k
wygrywasz

> k przeciwko p
komputer wygrywa

> n przeciwko p
wygrywasz

> n przeciwko n
remis

> p przeciwko p
remis

> k przeciwko n
wygrywasz

> Dozwolone typy: k, p, n

> Dozwolone typy: k, p, n

> p przeciwko k
wygrywasz

>