Topic : Das ATOS-Magazin 3/99
Author : Das ATOS-Team
Version : 12.11.1999
Subject : ATOS Diskettenmagazine
Nodes : 214
Index Size : 7926
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default :
@help : ATOS Hilfe
@options : -i -s -h+zz -t2
@width : 70
View Ref-FileATOS ProgrammierpraxisModerne ZeitenDie Operationen Das ATOS-Magazin 3/99Zurück zum Fußballmanager-Programm: Während des Spielverlaufs können
sich die Stärken der Fußballspieler ändern: Spieler können trainiert
werden, sie können Leistung abbauen, an Erfahrung gewinnen usw.
Aus diesem Grund bieten wir Operationen an, mit denen die
Spielerstärken auf neue Werte gesetzt werden können:
PROCEDURE fussballspieler_tor_set(ob#,staerke&) !call
'
' Setzt die Tor-Stärke des Spielers. Die Werte werden auf den
' Breich 0..100 gestutzt.
'
RETURN
PROCEDURE fussballspieler_abwehr_set(ob#,staerke&) !call
'
' Setzt die Abwehr-Stärke des Spielers. Die Werte werden auf den
' Breich 0..100 gestutzt.
'
RETURN
PROCEDURE fussballspieler_mitte_set(ob#,staerke&) !call
'
' Setzt die Stärke im Mittelfeld des Spielers. Die Werte werden auf
' den Breich 0..100 gestutzt.
'
RETURN
PROCEDURE fussballspieler_sturm_set(ob#,staerke&) !call
'
' Setzt die Sturm-Stärke des Spielers. Die Werte werden auf den
' Breich 0..100 gestutzt.
'
RETURN
Der Name eines Spielers kann sich im Spielverlauf hingegen nicht
ändern, von daher wird auch keine Operation definiert, mittels derer
er neu gesetzt werden kann.
An dieser Stelle kann man übrigens auch bei den Spielerstärken in
Erwägung ziehen, gar nicht die Möglichkeit zu geben, sie von außen auf
explizite Werte zu setzen. Stattdessen könnte man vielleicht auch die
Operationen ...
PROCEDURE fussballspieler_training(ob#,pos&) !call
'
' Ändert die Stärken des Spielers, wenn dieser am Training
' teilnimmt. (pos&: 0=allg., 1=Tor, 2=Abwehr, 3=Mitte, 4=Sturm)
'
RETURN
PROCEDURE fussballspieler_spiel(ob#,pos&) !call
'
' Ändert die Stärken des Spielers, wenn dieser an einem Spiel
' teilnimmt. (pos&: 0=allg., 1=Tor, 2=Abwehr, 3=Mitte, 4=Sturm)
'
RETURN
... anbieten. Diese Funktionen sind nach außen hin nun ja sehr bequem
zu benutzen.
Ferner ist es vielleicht gar nicht erwünscht, daß Prozeduren, die die
Spielerstärken auf explizite Werte setzen können, außerhalb des
Zuständigkeitsbereichs des Fußballspieler-Moduls fallen. Man denke
auch an die "Word-Variable mit Zugriffszähler" aus dem ersten
Kursteil, deren Zähler man zwar von außen abfragen, aber niemals
selbst den Wert auf andere Weise ändern kann, als daß man lesend oder
schreibend auf die Word-Variable zugreift und den Zähler dadurch
inkrementieren läßt.
Hier konnte also aufgezeigt werden, wie man sich bei der
Modulkonstruktion gegen die Außenwelt bei Bedarf absichern kann. Im
ersten Kursteil wurde ja von einer "Einschränkung des Zugriffs auf das
für die Benutzung Wesentliche" gesprochen. Dies wird an dieser Stelle
sehr gut deutlich, denn "trainieren" und "spielen lassen" sind wohl
die im wesentlich benutzen Operationen auf Fußballspielern.
Wir bleiben der Einfachheit halber aber bei der oben gemachten
Spezifikation mit der Möglichkeit, alle Werte einzeln setzen zu
können.
Konstruktor und Destruktor