Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. // vikingen.cpp : Defines the entry point for the console application
  2.  
  3.  
  4. #include <iostream>
  5. #include <vector>
  6. #include <string>
  7. #include <iomanip>
  8. #include <algorithm>
  9. #include <random>
  10.  
  11. using namespace std;
  12.  
  13. // Vikingkrijgers
  14. class Viking {
  15. public:
  16. //Attributen
  17. string naam;
  18. int kracht, verdediging;
  19.  
  20. //Constructor
  21. Viking(string x) {
  22. naam = x;
  23. kracht = ((rand() % 10) + 1);
  24. verdediging = ((rand() % 10) + 1);
  25. }
  26.  
  27. //Getters
  28. string getNaam() const { return naam; }
  29. int getKracht() const { return kracht; }
  30. int getVerdediging() const { return verdediging; }
  31. };
  32.  
  33. int main()
  34. {
  35. srand(time(NULL));
  36. string vikings[] = { "IGOR","BERTA","GUDRUN","RANVIG","TORGAL","EINAR","BRANDT","ARVID","BJORN","AKE" };
  37. vector<string> vikingVector;
  38. for (int x = 0; x < (sizeof(vikings) / sizeof(*vikings)); x++) {
  39. vikingVector.push_back(vikings[x]);
  40. }
  41.  
  42. // Neemt 10 random namen uit vikings[] en maakt een deck van 10 kaarten aan.
  43. vector<Viking> deck;
  44. for (int i = 0; i < 10; i++) {
  45. int rng = rand() % (10 - i);
  46. Viking viking1(vikingVector[rng]);
  47. deck.push_back(viking1);
  48. vikingVector.erase(vikingVector.begin() + rng);
  49. }
  50.  
  51. auto engine = default_random_engine{};
  52. shuffle(begin(deck), end(deck), engine);
  53.  
  54.  
  55. // Maakt jouw hand aan adhv 5 kaarten uit deck.
  56. // Vector deck wordt het hand van de computer.
  57. vector<Viking> hand;
  58. for (int i = 0; i < 5; i++) {
  59. int rng = rand() % (10 - i);
  60. hand.push_back(deck[rng]);
  61. deck.erase(deck.begin() + rng);
  62. }
  63.  
  64. cout << "Welkom bij Lucas zijn VIKINGEN programma! Jouw vikingen zijn:\n";
  65. for (int i = 0; i < 5; i++) {
  66. cout << hand[i].getNaam() << "\t\tkracht=" << hand[i].getKracht() << ",\tverdediging=" << hand[i].getVerdediging() << "\n";
  67. }
  68. cout << "\n";
  69. for (int i = 0; i < 5; i++) {
  70. string input;
  71. cout << "ruil je " << hand[i].getNaam() << " voor " << deck[i].getNaam() << "(ja/nee)? ";
  72. cin >> input;
  73. if (input == "ja") {
  74. Viking temp = hand[i];
  75. hand[i] = deck[i];
  76. deck[i] = temp;
  77. }
  78. }
  79. int hand1atk = 0, hand2atk = 0, hand1def = 0, hand2def = 0;
  80. for (int i = 0; i < 5; i++) {
  81. hand1atk += hand[i].getKracht();
  82. hand2atk += deck[i].getKracht();
  83. hand1def += hand[i].getVerdediging();
  84. hand2def += deck[i].getVerdediging();
  85. }
  86.  
  87. cout << "\nJouw vikingen zijn:\n";
  88. for (int i = 0; i < 5; i++) {
  89. cout << hand[i].getNaam() << "\t\tkracht=" << hand[i].getKracht() << ",\tverdediging=" << hand[i].getVerdediging() << "\n";
  90. }
  91.  
  92. cout << "\nJouw totale aanvalskracht is " << hand1atk << "\n";
  93. cout << "Jouw totale verdedigingskracht is " << hand1def << "\n";
  94. cout << "De computer heeft een totale aanvalskracht van " << hand2atk << "\n";
  95. cout << "De computer heeft een totale verdedigingskracht van " << hand2def << "\n";
  96.  
  97. if (hand1def > hand2atk && hand1atk >= hand2def) {
  98. cout << "JIJ WINT!!!\n";
  99. }
  100. else {
  101. cout << "Computer wint.\n\n";
  102. }
  103.  
  104. system("pause");
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement