Gormlaks attack back
When gormlaks see the character, they step towards them and attack dealing 1 damage when adjacent. Characters have hitpoints now, displayed at the bottom of the game screen, and when the game is over they die.
This commit is contained in:
		
							parent
							
								
									ec39dc0a5b
								
							
						
					
					
						commit
						05da490185
					
				
					 11 changed files with 163 additions and 22 deletions
				
			
		|  | @ -15,12 +15,26 @@ test = testGroup "Xanthous.Data" | |||
|     [ testBatch $ monoid @Position mempty | ||||
|     , testProperty "group laws" $ \(pos :: Position) -> | ||||
|         pos <> invert pos == mempty && invert pos <> pos == mempty | ||||
|     , testGroup "stepTowards laws" | ||||
|       [ testProperty "takes only one step" $ \src tgt -> | ||||
|           src /= tgt ==> | ||||
|             isUnit (src `diffPositions` (src `stepTowards` tgt)) | ||||
|       -- , testProperty "moves in the right direction" $ \src tgt -> | ||||
|       --     stepTowards src tgt == move (directionOf src tgt) src | ||||
|       ] | ||||
|     , testProperty "directionOf laws" $ \pos dir -> | ||||
|         directionOf pos (move dir pos) == dir | ||||
|     , testProperty "diffPositions is add inverse" $ \pos₁ pos₂ -> | ||||
|         diffPositions pos₁ pos₂ == addPositions pos₁ (invert pos₂) | ||||
| 
 | ||||
|     ] | ||||
|   , testGroup "Direction" | ||||
|     [ testProperty "opposite is involutive" $ \(dir :: Direction) -> | ||||
|         opposite (opposite dir) == dir | ||||
|     , testProperty "opposite provides inverse" $ \dir -> | ||||
|         invert (asPosition dir) == asPosition (opposite dir) | ||||
|     , testProperty "asPosition isUnit" $ \dir -> | ||||
|         dir /= Here ==> isUnit (asPosition dir) | ||||
|     , testGroup "Move" | ||||
|       [ testCase "Up"        $ move Up mempty        @?= Position 0 (-1) | ||||
|       , testCase "Down"      $ move Down mempty      @?= Position 0 1 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue