Skip to main content
Haskell exercise

Tetris rotate

Sign in to hand in your solution and get feedback.

import Data.List data Block = Block (Int,Int) deriving (Eq,Show) -- The colour of a tetromino. data Color = Red | Green | Blue | Yellow | Cyan | Magenta | Orange deriving (Eq,Show) data Tetromino = Tetromino Int (Int,Int) Color [Block] deriving (Eq,Show) -- Rotate a block 90 degrees rotateBlock :: Int -> Block -> Block rotateBlock offset (Block (x,y)) = Block ((-y)+offset,x) -- Rotate a whole tetromino -- This boils down to rotating all the blocks in the tetromino -- try to use the map function for this in combination with rotateBlock -- (* Difficulty 1 *) rotate :: Tetromino -> Tetromino rotate (Tetromino s p c blocks) = undefined