Initial commit
This commit is contained in:
		
							parent
							
								
									2a498ff4b5
								
							
						
					
					
						commit
						9987d12f80
					
				
					 9 changed files with 274 additions and 0 deletions
				
			
		
							
								
								
									
										11
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | .stack-work/ | ||||||
|  | dist/ | ||||||
|  | dist-newstyle/ | ||||||
|  | out/ | ||||||
|  | 
 | ||||||
|  | .idea/ | ||||||
|  | .vscode/ | ||||||
|  | 
 | ||||||
|  | .DS_Store | ||||||
|  | *.exe | ||||||
|  | *.dll | ||||||
							
								
								
									
										18
									
								
								levels/level1.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								levels/level1.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | ||||||
|  | player: { | ||||||
|  |     hp: 50, | ||||||
|  |     inventory: [] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | levels: [ | ||||||
|  |     { | ||||||
|  |         layout: { | ||||||
|  |             | * * * * * * | ||||||
|  |             | * s . . e * | ||||||
|  |             | * * * * * * | ||||||
|  |         }, | ||||||
|  |          | ||||||
|  |         items: [], | ||||||
|  | 
 | ||||||
|  |         entities: [] | ||||||
|  |     } | ||||||
|  | ] | ||||||
							
								
								
									
										51
									
								
								levels/level2.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								levels/level2.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | ||||||
|  | player: { | ||||||
|  |     hp: 50, | ||||||
|  |     inventory: [] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | levels: [ | ||||||
|  |     { | ||||||
|  |         layout: { | ||||||
|  |             | * * * | ||||||
|  |             | * e * | ||||||
|  |             | * . * | ||||||
|  |             | * . * | ||||||
|  |             | * . * | ||||||
|  |             | * . * | ||||||
|  |             | * s * | ||||||
|  |             | * * * | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         items: [ | ||||||
|  |             { | ||||||
|  |                 id: "key", | ||||||
|  |                 x: 1, | ||||||
|  |                 y: 2, | ||||||
|  |                 name: "Sleutel", | ||||||
|  |                 description: "Deze sleutel kan een deur openen", | ||||||
|  |                 useTimes: 1, | ||||||
|  |                 value: 0, | ||||||
|  |                 actions: { | ||||||
|  |                     [not(inventoryFull())] retrieveItem(key), | ||||||
|  |                     [] leave() | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         ], | ||||||
|  | 
 | ||||||
|  |         entities: [ | ||||||
|  |             { | ||||||
|  |                 id: "door", | ||||||
|  |                 x: 1, | ||||||
|  |                 y: 4, | ||||||
|  |                 name: "Deur", | ||||||
|  |                 description: "Deze deur kan geopend worden met een sleutel", | ||||||
|  |                 direction: up, | ||||||
|  | 
 | ||||||
|  |                 actions: { | ||||||
|  |                     [inventoryContains(key)] useItem(key), | ||||||
|  |                     [] leave() | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         ] | ||||||
|  |     } | ||||||
|  | ] | ||||||
							
								
								
									
										79
									
								
								levels/level3.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								levels/level3.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,79 @@ | ||||||
|  | player: { | ||||||
|  |     hp: 50, | ||||||
|  |     inventory: [ | ||||||
|  |         { | ||||||
|  |             id: "dagger", | ||||||
|  |             x: 0, | ||||||
|  |             y: 0, | ||||||
|  |             name: "Dolk", | ||||||
|  |             description: "Basis schade tegen monsters", | ||||||
|  |             useTimes: infinite, | ||||||
|  |             value: 10, | ||||||
|  | 
 | ||||||
|  |             actions: {} | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | levels: [ | ||||||
|  |     { | ||||||
|  |         layout: { | ||||||
|  |             | * * * * * * * * | ||||||
|  |             | * . . . . . . * | ||||||
|  |             | * s . . . . . * | ||||||
|  |             | * . . . . . e * | ||||||
|  |             | * . . . . . . * | ||||||
|  |             | * * * * * * * * | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         items: [ | ||||||
|  |             { | ||||||
|  |                 id: "sword", | ||||||
|  |                 x: 2, | ||||||
|  |                 y: 3, | ||||||
|  |                 name: "Zwaard", | ||||||
|  |                 description: "Meer schade tegen monsters", | ||||||
|  |                 useTimes: infinite, | ||||||
|  |                 value: 25, | ||||||
|  | 
 | ||||||
|  |                 actions: { | ||||||
|  |                     [not(inventoryFull())] retrieveItem(sword), | ||||||
|  |                     [] leave() | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 id: "potion", | ||||||
|  |                 x: 3, | ||||||
|  |                 y: 1, | ||||||
|  |                 name: "Levensbrouwsel", | ||||||
|  |                 description: "Geeft een aantal levenspunten terug", | ||||||
|  |                 useTimes: 1, | ||||||
|  |                 value: 50, | ||||||
|  | 
 | ||||||
|  |                 actions: { | ||||||
|  |                     [not(inventoryFull())] retrieveItem(potion), | ||||||
|  |                     [] leave() | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         ], | ||||||
|  | 
 | ||||||
|  |         entities: [ | ||||||
|  |             { | ||||||
|  |                 id: "devil", | ||||||
|  |                 x: 4, | ||||||
|  |                 y: 3, | ||||||
|  |                 name: "Duivel", | ||||||
|  |                 description: "Een monster uit de hel", | ||||||
|  |                 hp: 50, | ||||||
|  |                 damage: 5, | ||||||
|  | 
 | ||||||
|  |                 actions: { | ||||||
|  |                     [inventoryContains(potion)] increasePlayerHp(potion), | ||||||
|  |                     [inventoryContains(sword)] decreaseHp(m1, sword), | ||||||
|  |                     [] decreaseHp(m1, dagger), | ||||||
|  |                     [] leave() | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         ] | ||||||
|  |     } | ||||||
|  | ] | ||||||
							
								
								
									
										10
									
								
								lib/VoorbeeldModule.hs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								lib/VoorbeeldModule.hs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | module VoorbeeldModule | ||||||
|  |   ( hoi -- oplijsting van de publieke functies - als je deze lijst en de haakjes weglaat, wordt alles publiek | ||||||
|  |   , hallo | ||||||
|  |   ) where | ||||||
|  | 
 | ||||||
|  | hoi :: String | ||||||
|  | hoi = "Hoi" | ||||||
|  | 
 | ||||||
|  | hallo :: String | ||||||
|  | hallo = "Hallo" | ||||||
							
								
								
									
										23
									
								
								rpg-engine.cabal
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								rpg-engine.cabal
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | ||||||
|  | name:           rpg-engine | ||||||
|  | version:        1.0.0 | ||||||
|  | author:         Author name here | ||||||
|  | cabal-version:  1.12 | ||||||
|  | build-type:     Simple | ||||||
|  | 
 | ||||||
|  | library | ||||||
|  |   hs-source-dirs: lib | ||||||
|  |   build-depends: base >= 4.7 && <5 | ||||||
|  |   exposed-modules: VoorbeeldModule | ||||||
|  | 
 | ||||||
|  | executable rpg-engine | ||||||
|  |   main-is: Main.hs | ||||||
|  |   hs-source-dirs: src | ||||||
|  |   default-language: Haskell2010 | ||||||
|  |   build-depends: base >= 4.7 && <5, rpg-engine | ||||||
|  | 
 | ||||||
|  | test-suite rpg-engine-test | ||||||
|  |   type: exitcode-stdio-1.0 | ||||||
|  |   main-is: VoorbeeldTest.hs | ||||||
|  |   hs-source-dirs: test | ||||||
|  |   default-language: Haskell2010 | ||||||
|  |   build-depends: base >=4.7 && <5, hspec <= 2.10.6, rpg-engine | ||||||
							
								
								
									
										4
									
								
								src/Main.hs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/Main.hs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | import VoorbeeldModule (hoi) | ||||||
|  | 
 | ||||||
|  | main :: IO () | ||||||
|  | main = putStrLn hoi | ||||||
							
								
								
									
										67
									
								
								stack.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								stack.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,67 @@ | ||||||
|  | # This file was automatically generated by 'stack init' | ||||||
|  | # | ||||||
|  | # Some commonly used options have been documented as comments in this file. | ||||||
|  | # For advanced use and comprehensive documentation of the format, please see: | ||||||
|  | # https://docs.haskellstack.org/en/stable/yaml_configuration/ | ||||||
|  | 
 | ||||||
|  | # Resolver to choose a 'specific' stackage snapshot or a compiler version. | ||||||
|  | # A snapshot resolver dictates the compiler version and the set of packages | ||||||
|  | # to be used for project dependencies. For example: | ||||||
|  | # | ||||||
|  | # resolver: lts-3.5 | ||||||
|  | # resolver: nightly-2015-09-21 | ||||||
|  | # resolver: ghc-7.10.2 | ||||||
|  | # | ||||||
|  | # The location of a snapshot can be provided as a file or url. Stack assumes | ||||||
|  | # a snapshot provided as a file might change, whereas a url resource does not. | ||||||
|  | # | ||||||
|  | # resolver: ./custom-snapshot.yaml | ||||||
|  | # resolver: https://example.com/snapshots/2018-01-01.yaml | ||||||
|  | resolver: | ||||||
|  |   url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/30.yaml | ||||||
|  | 
 | ||||||
|  | # User packages to be built. | ||||||
|  | # Various formats can be used as shown in the example below. | ||||||
|  | # | ||||||
|  | # packages: | ||||||
|  | # - some-directory | ||||||
|  | # - https://example.com/foo/bar/baz-0.0.2.tar.gz | ||||||
|  | #   subdirs: | ||||||
|  | #   - auto-update | ||||||
|  | #   - wai | ||||||
|  | packages: | ||||||
|  | - . | ||||||
|  | # Dependency packages to be pulled from upstream that are not in the resolver. | ||||||
|  | # These entries can reference officially published versions as well as | ||||||
|  | # forks / in-progress versions pinned to a git hash. For example: | ||||||
|  | # | ||||||
|  | # extra-deps: | ||||||
|  | # - acme-missiles-0.3 | ||||||
|  | # - git: https://github.com/commercialhaskell/stack.git | ||||||
|  | #   commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a | ||||||
|  | # | ||||||
|  | # extra-deps: [] | ||||||
|  | 
 | ||||||
|  | # Override default flag values for local packages and extra-deps | ||||||
|  | # flags: {} | ||||||
|  | 
 | ||||||
|  | # Extra package databases containing global packages | ||||||
|  | # extra-package-dbs: [] | ||||||
|  | 
 | ||||||
|  | # Control whether we use the GHC we find on the path | ||||||
|  | # system-ghc: true | ||||||
|  | # | ||||||
|  | # Require a specific version of stack, using version ranges | ||||||
|  | # require-stack-version: -any # Default | ||||||
|  | # require-stack-version: ">=2.7" | ||||||
|  | # | ||||||
|  | # Override the architecture used by stack, especially useful on Windows | ||||||
|  | # arch: i386 | ||||||
|  | # arch: x86_64 | ||||||
|  | # | ||||||
|  | # Extra directories used by stack for building | ||||||
|  | # extra-include-dirs: [/path/to/dir] | ||||||
|  | # extra-lib-dirs: [/path/to/dir] | ||||||
|  | # | ||||||
|  | # Allow a newer minor version of GHC than the snapshot specifies | ||||||
|  | # compiler-check: newer-minor | ||||||
							
								
								
									
										11
									
								
								test/VoorbeeldTest.hs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/VoorbeeldTest.hs
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | import Test.Hspec | ||||||
|  | 
 | ||||||
|  | import VoorbeeldModule (hoi, hallo) | ||||||
|  | 
 | ||||||
|  | main :: IO () | ||||||
|  | main = hspec $ do  | ||||||
|  |     it "Returns correct string for hoi" $ do | ||||||
|  |         hoi `shouldBe` "Hoi" | ||||||
|  | 
 | ||||||
|  |     it "Returns correct string for hallo" $ do | ||||||
|  |         hallo `shouldBe` "Hallo" | ||||||
		Reference in a new issue
	
	 tibvdm
						tibvdm