Add no weapon start
This commit is contained in:
@@ -68,6 +68,11 @@ rectNSEW !n !s !e !w = rectNESW n e s w
|
||||
rectNSWE :: Float -> Float -> Float -> Float -> [Point2]
|
||||
rectNSWE !n !s !w !e = [ (w,n), (w,s), (e,s), (e,n)]
|
||||
|
||||
rectWdthHght :: Float -> Float -> [Point2]
|
||||
rectWdthHght w h = rectNSWE h (-h) (-w) w
|
||||
|
||||
-- | Draw a rectangle around the origin with given height and width
|
||||
|
||||
-- | Test whether a point is in a polygon or on the polygon border.
|
||||
-- Supposes the points in the
|
||||
-- polygon are listed in anticlockwise order.
|
||||
@@ -423,6 +428,7 @@ divideLineOddNumPoints x a b = take 5000
|
||||
-- | Given two pairs of Ints, returns a list of pairs of Ints that form
|
||||
-- a digital line between them.
|
||||
digitalLine :: (Int,Int) -> (Int,Int) -> [(Int,Int)]
|
||||
{-# INLINE digitalLine #-}
|
||||
digitalLine (x1,y1) (x2,y2)
|
||||
| abs (x1-x2) > abs (y1-y2) = [ (x,( (y1-y2) * x + x1*y2 - x2*y1) `rdiv` (x1-x2) )
|
||||
| x <- intervalList x1 x2 ]
|
||||
@@ -431,6 +437,17 @@ digitalLine (x1,y1) (x2,y2)
|
||||
where
|
||||
rdiv a b = round $ fromIntegral a / fromIntegral b
|
||||
|
||||
-- | Given two pairs of 'Int's, create a list of pairs of 'Int's that form a
|
||||
-- rectangle between them.
|
||||
digitalRect :: (Int,Int) -> (Int,Int) -> [(Int,Int)]
|
||||
{-# INLINE digitalRect #-}
|
||||
digitalRect (a,b) (c,d) = [(s,t) | s <- [minx .. maxx] , t <- [miny .. maxy]]
|
||||
where
|
||||
maxx = max a c
|
||||
minx = min a c
|
||||
maxy = max b d
|
||||
miny = min b d
|
||||
|
||||
-- | Given two Ints, creates the list of Ints between these.
|
||||
intervalList :: Int -> Int -> [Int]
|
||||
intervalList x y
|
||||
|
||||
Reference in New Issue
Block a user