diplomacy-0.1.0.0: Diplomacy/Subject.hs
{-|
Module : Diplomacy.Subject
Description : Definition of Subject
Copyright : (c) Alexander Vieth, 2015
Licence : BSD3
Maintainer : aovieth@gmail.com
Stability : experimental
Portability : non-portable (GHC only)
-}
{-# LANGUAGE AutoDeriveTypeable #-}
module Diplomacy.Subject (
Subject
, subjectUnit
, subjectProvinceTarget
) where
import Diplomacy.Unit
import Diplomacy.Province
-- | Description of a subject in a diplomacy game, like the subject of an order
-- for instance:
--
-- a. F Bre - Eng
-- b. A Par S A Bre - Pic
--
-- have subjects
--
-- a. (Fleet, Normal Brest)
-- b. (Army, Normal Paris)
--
type Subject = (Unit, ProvinceTarget)
subjectUnit :: Subject -> Unit
subjectUnit (x, _) = x
subjectProvinceTarget :: Subject -> ProvinceTarget
subjectProvinceTarget (_, x) = x