Globale Variablen mit Pointern ersetzen C
Verfasst: Mo Mär 08, 2021 3:17 pm
Moin moin,
Ich arbeite erst seit kurzen mit C (oder überhaupt einer Programmiersprache), da ich in einem Modul in der Uni Informatik habe. Da arbeite ich gerade an einer Abgabe und habe aus etlichen Texten rauslesen können, dass globale Variablen nicht gerade "the way to go" sind. Ich bin mit der "einfachen" Nutzung von Pointern vertraut, doch weiß nicht genau wie ich die bisher erstellten globalen Variablen damit "ersetzten" könnte. So wie der Code gerade ist funktioniert er, was schonmal schön ist! Dabei handelt es sich allerdings auch um eine Rohfassung des Demomodus ---> ein paar Funktionen sind noch nicht erstellt, da ich die Funktionsweise erst einmal gesettet haben wollte.
Es geht letztendlich darum, das ich Werte habe, die jeweils in Funktionen Verwendung finden, wie zum Beispiel einerseits für das wechseln in switch-Funktionen, als auch zum mitzählen von werten in Funktionen. Die Werte werden also Funktionsübertragend verändert. Beispiele für die Nutzung von Pointern die ich im Netz finde konnte ich bisher nicht in meinen Code (aufgrund von persönlicher Unfähigkeit) implementieren.
Kurz zum Code: Es soll eine Art Blackjack oder 17 über 4 geschrieben werden.
Ein Spieler vs COM Modus habe ich schon im petto, möchte aber wie angemerkt erstmal die Funktionsweise haben.
Um die Variablen zu erklären:
erster_zug: zum wechseln wer als erstes entscheiden muss ob eine Karte gezogen
werden soll
COM1_win_dez: Anzahl der Siege
COM2_win_dez: ""
COM1_los_dez: Anzahl Verloren (um eventuelle fehler zu dokumentieren)
COM2_los_dez: ""
stand: Wen ein Spieler einmal keine Karte mehr ziehen möchte, ist er für das
restliche Spiel durch
sw_end: Wenn jemand gewonnen hat, die Aktionen stoppen und neues spiel mit
neuen Anfangskarten starten
sw_nr: zwischen COM1 und COM2 in Aktion zu wechseln
deck_count: einerseits zähler für das blatt array um die nächste karte zu ziehen
andereits prüfvariable wann ein neues deck angemischt werden soll
werte_add[]: Um die Kartenwerte zu speichern und evaluieren
-werte_add[0] kartenwert von COM1
-werte_add[1] kartenwert von COM2
wie man im Code sehen kann, wird oft ein Wert um einen hochgerechnet bzw wechselt zwischen 1-2 oder 1-4.
Die Anmeldung ist schon verschriftlicht, jedoch haben die Variablen BIS AUF *wdh* noch keinen Einfluss auf das Spiel, können also beliebig gewählt werden.
Code: https://pastebin.com/XnY23ctv
Falls der Link nicht gewünscht ist kann ich den auch noch hier reinschreiben.
Vielen Dank im Voraus!
Ich arbeite erst seit kurzen mit C (oder überhaupt einer Programmiersprache), da ich in einem Modul in der Uni Informatik habe. Da arbeite ich gerade an einer Abgabe und habe aus etlichen Texten rauslesen können, dass globale Variablen nicht gerade "the way to go" sind. Ich bin mit der "einfachen" Nutzung von Pointern vertraut, doch weiß nicht genau wie ich die bisher erstellten globalen Variablen damit "ersetzten" könnte. So wie der Code gerade ist funktioniert er, was schonmal schön ist! Dabei handelt es sich allerdings auch um eine Rohfassung des Demomodus ---> ein paar Funktionen sind noch nicht erstellt, da ich die Funktionsweise erst einmal gesettet haben wollte.
Es geht letztendlich darum, das ich Werte habe, die jeweils in Funktionen Verwendung finden, wie zum Beispiel einerseits für das wechseln in switch-Funktionen, als auch zum mitzählen von werten in Funktionen. Die Werte werden also Funktionsübertragend verändert. Beispiele für die Nutzung von Pointern die ich im Netz finde konnte ich bisher nicht in meinen Code (aufgrund von persönlicher Unfähigkeit) implementieren.
Kurz zum Code: Es soll eine Art Blackjack oder 17 über 4 geschrieben werden.
Ein Spieler vs COM Modus habe ich schon im petto, möchte aber wie angemerkt erstmal die Funktionsweise haben.
Um die Variablen zu erklären:
erster_zug: zum wechseln wer als erstes entscheiden muss ob eine Karte gezogen
werden soll
COM1_win_dez: Anzahl der Siege
COM2_win_dez: ""
COM1_los_dez: Anzahl Verloren (um eventuelle fehler zu dokumentieren)
COM2_los_dez: ""
stand: Wen ein Spieler einmal keine Karte mehr ziehen möchte, ist er für das
restliche Spiel durch
sw_end: Wenn jemand gewonnen hat, die Aktionen stoppen und neues spiel mit
neuen Anfangskarten starten
sw_nr: zwischen COM1 und COM2 in Aktion zu wechseln
deck_count: einerseits zähler für das blatt array um die nächste karte zu ziehen
andereits prüfvariable wann ein neues deck angemischt werden soll
werte_add[]: Um die Kartenwerte zu speichern und evaluieren
-werte_add[0] kartenwert von COM1
-werte_add[1] kartenwert von COM2
wie man im Code sehen kann, wird oft ein Wert um einen hochgerechnet bzw wechselt zwischen 1-2 oder 1-4.
Die Anmeldung ist schon verschriftlicht, jedoch haben die Variablen BIS AUF *wdh* noch keinen Einfluss auf das Spiel, können also beliebig gewählt werden.
Code: https://pastebin.com/XnY23ctv
Falls der Link nicht gewünscht ist kann ich den auch noch hier reinschreiben.
Vielen Dank im Voraus!