You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
4.0 KiB

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5. #include "raetselronja.h"
  6. #include "userinput.h"
  7. #include "randomnumber.h"
  8. int zahlenraetsel(int input[], int loesung, int n) {
  9. int eingabe = 0;
  10. for(int i = 0; i < n; i++){
  11. printf("%d", input[i]);
  12. if (i < n -1){
  13. printf(",");
  14. }
  15. printf(" ");
  16. }
  17. printf("\n");
  18. printf("Please enter a solution.\n");
  19. eingabe = userInput(); //hier stand mal scanf,jetzt kommt das in eine Funktion zum testen
  20. if (eingabe == loesung){
  21. printf("The answer is right.\n");
  22. return 1;
  23. }
  24. else{
  25. printf("The answer is wrong.\n");
  26. return 0;
  27. }
  28. }
  29. int raetselaufruf() {
  30. int loesung = 0;
  31. int n = 0;
  32. int auswahl = userInput();
  33. switch (auswahl) {
  34. case 1:
  35. int input1[] = {25, 50, 54, 49, 98, 102, 97, 194};
  36. n = 8;
  37. loesung = 198;
  38. zahlenraetsel(input1, loesung, n);
  39. break;
  40. case 2:
  41. int input2[] = {17, 19, 23, 29, 37};
  42. n = 5;
  43. loesung = 47;
  44. zahlenraetsel(input2, loesung, n);
  45. break;
  46. case 3:
  47. int input3[] = {256, 289, 324, 361};
  48. n = 4;
  49. loesung = 400;
  50. zahlenraetsel(input3, loesung, n);
  51. break;
  52. default: return -1;
  53. }
  54. return auswahl;
  55. }
  56. int armdruecken(int gegner, int spieler){
  57. int differenz = 0;
  58. if (gegner > spieler){
  59. differenz = gegner - spieler;
  60. printf("The opponent is around %d stronger.\n", differenz);
  61. printf("Defeat.");
  62. return 0;
  63. }
  64. if (gegner < spieler){
  65. differenz = spieler - gegner;
  66. printf("The opponent is around %d weaker.\n", differenz);
  67. printf("Victory.");
  68. return 1;
  69. }
  70. }
  71. int blackjack(int spieler, int gegner, int janein){
  72. int lower = 1, upper = 11, count = 1, num = 0, num2 = 0; //num2 nicht notwendig
  73. srand(time(NULL));
  74. printf("Do you want to start the game?\nYES(1), NO(2)\n");
  75. janein = userInput();
  76. while (spieler < 21 && gegner < 21) {
  77. if (janein == 1) {
  78. for (int i = 1; i <= count; i++) {
  79. int num = (randnum() % (upper - lower + 1)) + lower;
  80. printf("You got a: %d.\n", num);
  81. spieler += num;
  82. printf("Now you have: %d\n", spieler);
  83. }
  84. for (int i = 1; i <= count; i++) {
  85. int num = (randnum() % (upper - lower + 1)) + lower;
  86. printf("The opponent got a: %d.\n", num);
  87. gegner += num;
  88. printf("Now the opponent has: %d\n", gegner);
  89. }
  90. printf("Do you want another card?\nYES(1), NO(2)\n");
  91. janein = userInput();
  92. }
  93. else {
  94. if (spieler <= 0) {
  95. printf("Goodbye");
  96. return 0;
  97. break;
  98. }
  99. else if (spieler > gegner) {
  100. printf("Player wins.");
  101. return 1;
  102. break;
  103. }
  104. else if (spieler < gegner) {
  105. printf("Opponent wins.");
  106. return 2;
  107. break;
  108. }
  109. }
  110. }
  111. if (janein == 1 && (spieler >= 21 || gegner >= 21)) {
  112. if ((gegner > 21 || gegner < 21) && spieler == 21) {
  113. printf("Player wins.");
  114. return 1;
  115. }
  116. else if (gegner == 21 && (spieler > 21 || spieler < 21)) {
  117. printf("Opponent wins.");
  118. return 2;
  119. }
  120. else if (gegner > 21 && spieler > 21) {
  121. printf("No one wins.");
  122. return 0;
  123. }
  124. else if (gegner == spieler && gegner == 21) {
  125. printf("Tie.");
  126. return 0;
  127. }
  128. if (gegner > 21 && spieler < 21) {
  129. printf("Player wins.");
  130. return 1;
  131. }
  132. if (gegner < 21 && spieler > 21) {
  133. printf("Opponent wins.");
  134. return 2;
  135. }
  136. }
  137. }