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 ZeitenEndlich spielen Das ATOS-Magazin 3/99Wir dürfen diesen Artikel aber keinesfalls beenden, ohne unser Werk
auszuprobieren! Schwierig kann das ja nun nicht sein. Wir legen zwei
Mannschaften an (und entscheiden uns für den BVB mit der
Mannschaftsstärke 40, sowie den FCH mit der Mannschaftsstärke 80) und
lassen uns in einer Schleife alle Spieler und ihre Spielerstärken
ausgeben. Abschließend wollen wir diese Mannschaften dann endlich
gegeneinander antreten lassen -- fünfmal müsste genug sein, um zu
sehen, ob der Simulator brauchbare Ergebnisse zustande bringt:
@libs_init
@typedef
@fussball_test
@otob_exit
'
PROCEDURE fussball_test
'
' *** Mannschaften anlegen ***
'
fch:
DATA Franz
DATA Bert,Hugo,Sascha
DATA Markus,Frank,Theo,Daniel
DATA Matthias,Andreas,Jürgen
'
bvb:
DATA Teddy
DATA Gerhard,Jan,Christian
DATA Stephan,Bodo,Pascal,Bobby
DATA Patrick,Jonas,Uwe
'
RESTORE fch
LET fch#=@verein("FC 08 Homburg",80)
RESTORE bvb
LET bvb#=@verein("BVB 09 Borussia Dortmund",40)
'
' *** Spiel austragen ***
'
PRINT "Es spielt: ";@verein_name$(fch#);" gegen ";
@verein_name$(bvb#);"!"
PRINT
PRINT "Die Aufstellungen:"
PRINT
PRINT USING "\........\ Tor Abw Mit Stu \........\
Tor Abw Mit Stu",
@verein_name$(fch#),
@verein_name$(bvb#)
'
FOR spieler%=0 TO 10
'
LET spieler1#=@verein_spieler(fch#,spieler%)
LET tor1&=@fussballspieler_tor(spieler1#)
LET abwehr1&=@fussballspieler_abwehr(spieler1#)
LET mitte1&=@fussballspieler_mitte(spieler1#)
LET sturm1&=@fussballspieler_sturm(spieler1#)
'
LET spieler2#=@verein_spieler(bvb#,spieler%)
LET tor2&=@fussballspieler_tor(spieler2#)
LET abwehr2&=@fussballspieler_abwehr(spieler2#)
LET mitte2&=@fussballspieler_mitte(spieler2#)
LET sturm2&=@fussballspieler_sturm(spieler2#)
'
PRINT USING "\........\ ### ### ### ### \........\
### ### ### ###",
@fussballspieler_name$(spieler1#),
tor1&,abwehr1&,mitte1&,sturm1&,
@fussballspieler_name$(spieler2#),
tor2&,abwehr2&,mitte2&,sturm2&
'
NEXT spieler%
PRINT
'
FOR i%=1 TO 5
@fussballspiel(fch#,bvb#,fch_tore&,bvb_tore&)
PRINT i%;".Spiel: Das Spiel endete ";fch_tore&;":";bvb_tore&;"!"
NEXT i%
'
@verein_free(fch#)
@verein_free(bvb#)
'
RETURN
PROCEDURE typedef
'
@boolean_typedef
@byte_typedef
@word_typedef
@card_typedef
@long_typedef
@float_typedef
@string_typedef
@memory_typedef
@array_typedef
@obtyp_typedef
@link_typedef
'
@fussballspieler_typedef
@verein_typedef
'
RETURN
Et voilá:
Es spielt: FC 08 Homburg gegen BVB 09 Borussia Dortmund!
Die Aufstellungen:
FC 08 Homb Tor Abw Mit Stu BVB 09 Bor Tor Abw Mit Stu
Franz 71 2 1 0 Teddy 43 4 6 8
Bert 3 70 8 3 Gerhard 4 40 1 4
Hugo 4 70 21 17 Jan 7 37 0 10
Sascha 2 77 3 15 Christian 5 36 0 7
Markus 9 22 72 22 Stephan 5 2 39 5
Frank 7 18 79 24 Bodo 6 9 34 7
Theo 5 24 81 9 Pascal 9 5 32 1
Daniel 6 22 72 4 Bobby 6 3 35 3
Matthias 2 15 14 86 Patrick 1 12 4 31
Andreas 7 18 24 82 Jonas 9 3 1 41
Jürgen 1 21 2 71 Uwe 0 7 11 34
1.Spiel: Das Spiel endete 1:0!
2.Spiel: Das Spiel endete 3:0!
3.Spiel: Das Spiel endete 2:1!
4.Spiel: Das Spiel endete 4:1!
5.Spiel: Das Spiel endete 5:1!
80:40 war wohl doch recht eindeutig ... ;-)
Ausblick