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.

131 lines
2.3 KiB

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. #include <unistd.h>
  6. void protokoll();
  7. void clear_screen();
  8. void willkommen();
  9. int namePruefen();
  10. void nameWaehlen();
  11. void startauswahl();
  12. void nameAusgeben();
  13. void protokoll(){
  14. clear_screen();
  15. willkommen();
  16. namePruefen();
  17. startauswahl();
  18. }
  19. void clear_screen() {
  20. system("clear");
  21. // system("cls"); // fuer Windows
  22. // system("clear"); // fuer UNIX/Linux
  23. }
  24. void willkommen(){
  25. char ENTERtxt[] = {"-Druecke ENTER zum starten-\n"};
  26. printf("%s", ENTERtxt);
  27. getchar();
  28. }
  29. int namePruefen() {
  30. char KonfDatei[100];
  31. int laengeKonfDatei = 0;
  32. FILE *fp = NULL;
  33. fp = fopen("hangman.txt", "r");
  34. if (fp == NULL) {
  35. printf("Fehler beim Öffnen der Konfigurationsdatei\n");
  36. return 1;
  37. } else {
  38. fscanf(fp, "%s", KonfDatei); //Inhalt der KonfDatei wird ins Array gelesen
  39. while(KonfDatei[laengeKonfDatei] != 0){ //Laenge der KonfDatei wird ermittelt
  40. laengeKonfDatei++;
  41. }
  42. if(laengeKonfDatei > 14){ //mit der Laenge wird geschaut, ob ein Name gespeichert ist oder nicht
  43. fclose(fp);
  44. return 0;
  45. } else {
  46. printf("Sieht aus, als haettest du noch keinen Namen :(\n");
  47. nameWaehlen();
  48. fclose(fp);
  49. return 0;
  50. }
  51. }
  52. fclose(fp);
  53. }
  54. void nameWaehlen(){
  55. char name[50];
  56. FILE *fp = NULL;
  57. fp = fopen("hangman.txt", "w");
  58. clear_screen(); //
  59. printf("Geben Sie den Namen ein: ");
  60. scanf("%s", name);
  61. char KonfDatei[100];
  62. snprintf(KonfDatei, sizeof(KonfDatei), "name:%s,level:01", name);
  63. fprintf(fp, "%s", KonfDatei);
  64. fclose(fp);
  65. }
  66. void startauswahl() {
  67. int auswahl;
  68. int modus;
  69. clear_screen(); //
  70. printf("Willkommen ");
  71. printf("[1] Spielen\n[2] Namen aendern\n");
  72. scanf("%d", &auswahl);
  73. if(auswahl == 1){
  74. //levelauswahl
  75. } else if (auswahl == 2){
  76. nameWaehlen();
  77. } else {
  78. printf("Eingabe ungueltig");
  79. }
  80. }
  81. void nameAusgeben(){
  82. char KonfDatei[100];
  83. char name[50];
  84. int i = 5;
  85. int zaehler = 0;
  86. int nullt;
  87. FILE *fp = NULL;
  88. fp = fopen("hangman.txt", "r");
  89. fscanf(fp, "%s", KonfDatei);
  90. while(KonfDatei[i] != ','){
  91. zaehler++;
  92. i++;
  93. }
  94. nullt = zaehler;
  95. while(zaehler != 0){
  96. name[--zaehler] = KonfDatei[--i];
  97. }
  98. i = 0;
  99. while(name[i] != 0){
  100. i++;
  101. }
  102. name[nullt] = '\0';
  103. printf("%s\n", name);
  104. fclose(fp);
  105. }