Warning! It seems that you are using Dodona within another webpage, so not everything may work properly. Let your teacher know so that he can solve the problem by adjusting a setting in the learning environment. In the meantime, you can click this link to open Dodona in a new window.
Tetris rotate
Sign in to test your solution.
import Graphics.Gloss
import Graphics.Gloss.Interface.Pure.Game
import Graphics.Gloss.Data.Color
import Data.List
import System.Random
data Block = Block (Int,Int)
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
You can submit as many times as you like. Only your latest submission will be taken into account.
Sign in to test your solution.