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.

174 lines
4.3 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, ergebnis = 0;
  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. ergebnis = 0;
  97. return ergebnis;
  98. break;
  99. }
  100. else if (spieler > gegner) {
  101. printf("Player wins.");
  102. ergebnis = 1;
  103. return ergebnis;
  104. break;
  105. }
  106. else if (spieler < gegner) {
  107. printf("Opponent wins.");
  108. ergebnis = 2;
  109. return ergebnis;
  110. break;
  111. }
  112. }
  113. }
  114. if (janein == 1 && (spieler >= 21 || gegner >= 21)) {
  115. if ((gegner > 21 || gegner < 21) && spieler == 21) {
  116. printf("Player wins.");
  117. ergebnis = 1;
  118. return ergebnis;
  119. }
  120. else if (gegner == 21 && (spieler > 21 || spieler < 21)) {
  121. printf("Opponent wins.");
  122. ergebnis = 2;
  123. return ergebnis;
  124. }
  125. else if (gegner > 21 && spieler > 21) {
  126. printf("No one wins.");
  127. ergebnis = 0;
  128. return ergebnis;
  129. }
  130. else if (gegner == spieler && gegner == 21) {
  131. printf("Tie.");
  132. ergebnis = 0;
  133. return ergebnis;
  134. }
  135. if (gegner > 21 && spieler < 21) {
  136. printf("Player wins.");
  137. ergebnis = 1;
  138. return ergebnis;
  139. }
  140. if (gegner < 21 && spieler > 21) {
  141. printf("Opponent wins.");
  142. ergebnis = 2;
  143. return ergebnis;
  144. }
  145. }
  146. //if ergenis == 0 dann blackjack(spieler, gegner)
  147. }