Maak uitvoerbaar
This commit is contained in:
		
							parent
							
								
									ac3bdede4e
								
							
						
					
					
						commit
						198a716565
					
				
					 1 changed files with 25 additions and 9 deletions
				
			
		
							
								
								
									
										34
									
								
								src/Main.hs
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								src/Main.hs
									
										
									
									
									
								
							|  | @ -6,6 +6,12 @@ import System.Random.Shuffle (shuffle') | |||
| 
 | ||||
| import Data.Fixed (mod') | ||||
| 
 | ||||
| -- ****************************************************************** | ||||
| -- * Opmerkingen:                                                   * | ||||
| -- * Ik heb bij sommige functies de argumenten aangepast zodat ik   * | ||||
| -- * aan pattern matching zou kunnen doen.                          * | ||||
| -- ****************************************************************** | ||||
| 
 | ||||
| -- Geeft de richting van een zet aan. | ||||
| type Direction = (Int, Int) | ||||
| 
 | ||||
|  | @ -180,35 +186,44 @@ resetTurned board | |||
| 
 | ||||
| -- Bereken het volgende bord op basis van de omgedraaide kaarten. | ||||
| -- Hint: We hebben de drie gevallen voor deze functie al voorzien. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| nextBoard :: Board -> Board  | ||||
| nextBoard b@Board{ turned = [] }         = undefined | ||||
| nextBoard b@Board{ turned = [c1] }       = undefined | ||||
| nextBoard b@Board{ turned = [c1, c2] }   = undefined | ||||
| nextBoard b@Board{ turned = [] }       = flipCard (selector b) b | ||||
| nextBoard b@Board{ turned = [c1] }     = flipCard (selector b) b | ||||
| nextBoard b@Board{ turned = [c1, c2] } = resetTurned b | ||||
| 
 | ||||
| -- Zet een positie op het bord om naar een positie op het scherm. | ||||
| -- Hint: hou zeker rekening met het coordinatensysteem van Gloss. | ||||
| -- TODO unfinished | ||||
| convert :: Int -> Int -> Float | ||||
| convert location axis = undefined | ||||
| convert location axis = fromIntegral location | ||||
| 
 | ||||
| -- Render een vierkant met een gegeven kleur en grootte. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| renderColoredSquare :: Int -> Color -> Picture | ||||
| renderColoredSquare size c = undefined | ||||
| renderColoredSquare size c = color c $ rectangleSolid s s | ||||
|     where s = fromIntegral size | ||||
| 
 | ||||
| -- Render de selector. | ||||
| -- TODO unfinished | ||||
| renderSelector :: Coordinate -> Picture | ||||
| renderSelector coord = undefined | ||||
| 
 | ||||
| -- Render een kaart. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| renderCard :: Card -> Picture | ||||
| renderCard card = undefined | ||||
| renderCard card = renderColoredSquare scaling color | ||||
|     where color = (\(_,c,_) -> c) card | ||||
| 
 | ||||
| -- Render alle kaarten. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| renderCards :: [Card] -> Picture | ||||
| renderCards = undefined | ||||
| renderCards = renderCard . head | ||||
| 
 | ||||
| -- Render het speelveld. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| render :: Board -> Picture | ||||
| render board = undefined | ||||
| render board = rectangleSolid 300.0 150.0 | ||||
| 
 | ||||
| -- Hulpfunctie die nagaat of een bepaalde toets is ingedrukt. | ||||
| isKey :: SpecialKey -> Event -> Bool | ||||
|  | @ -217,8 +232,9 @@ isKey _  _                                   = False | |||
| 
 | ||||
| -- Handel alle toetsaanslagen af. | ||||
| -- Hint: Je kan gebruikmaken van de isKey hulpfunctie. | ||||
| -- TODO Klopt deze functionaliteit? | ||||
| handleInput :: Event -> Board -> Board  | ||||
| handleInput ev board = undefined | ||||
| handleInput ev board = board | ||||
| 
 | ||||
| -- Startpunt | ||||
| main :: IO () | ||||
|  |  | |||
		Reference in a new issue