initial framework added
[fp1415-soccerfun.git] / src / Game / Team.dcl
1 definition module Team
2
3 /** This module defines the Soccer-Fun API that is concerned with teams.
4 All available teams are collected in this module (allAvailableTeams).
5 */
6 import Footballer
7
8 allAvailableTeams :: [Home FootballField -> Team]
9
10 :: Team :== [Footballer] // the fielders are supposed to have different numbers, and all not equal to 1
11
12 instance nameOf Team
13
14 validateTeam :: !Team -> Team
15 isValidTeam :: !Team -> Bool
16 allPlayersAtHome :: !FootballField !Home !Team -> Bool
17 replaceInTeam :: ![Footballer] !Team -> Team
18 getTeam :: !ClubName ![Team] -> Team
19
20 class mirror a :: !FootballField !a -> a
21 instance mirror [a] | mirror a
22 instance mirror Footballer
23 instance mirror Position
24 instance mirror Speed
25 instance mirror Angle