Compare commits
41 commits
87ba0e9d26
...
e133e576bf
| Author | SHA1 | Date | |
|---|---|---|---|
| e133e576bf | |||
| 321530d9d6 | |||
| 4bb063e4eb | |||
| ec90cda066 | |||
| a37c5d3ca8 | |||
| d90aa54bcf | |||
| 8e2faf3b21 | |||
| 03933d3fd4 | |||
| 498d187d76 | |||
| 1f632f65cb | |||
| d778e05931 | |||
| f8468df472 | |||
| 1d71c9f09b | |||
| 84129826b5 | |||
| 15d42e5038 | |||
| 1850c5459d | |||
| 461d648ac9 | |||
| cafba23610 | |||
| 1cb4f07c0a | |||
| aebafe30f3 | |||
| 5f1d29bda3 | |||
| 3c6a373dc9 | |||
| 7686a096cf | |||
| 009a6e8ad5 | |||
| 161273e33b | |||
| 3db8c7f11f | |||
| e6aab5f780 | |||
| 40e873168f | |||
| 9ad4d485a3 | |||
| a3093dc0c8 | |||
| 13f017b526 | |||
| 8f61881fe8 | |||
| 6357674db8 | |||
| 7cb03b8779 | |||
| 00c9c587c7 | |||
| 238e6fba75 | |||
| 9b1dbda081 | |||
| 9142651ec0 | |||
| ee626ccd61 | |||
| 5ec03d06c2 | |||
| 4bd924d65f |
7 changed files with 70 additions and 47 deletions
|
|
@ -6,7 +6,7 @@ jobs:
|
|||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: zapashcanon/gitea-ocaml-ci:latest
|
||||
image: pena/gitea-ocaml-ci:latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v4
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version=0.27.0
|
||||
version=0.28.1
|
||||
assignment-operator=end-line
|
||||
break-cases=fit
|
||||
break-fun-decl=wrap
|
||||
|
|
|
|||
40
dune-project
40
dune-project
|
|
@ -1,23 +1,15 @@
|
|||
(lang dune 2.9)
|
||||
|
||||
(implicit_transitive_deps false)
|
||||
|
||||
(name pellest)
|
||||
(implicit_transitive_deps false)
|
||||
(generate_opam_files true)
|
||||
|
||||
(authors "swrup")
|
||||
|
||||
(maintainers "swrup@protonmail.com")
|
||||
(authors "swrup@protonmail.com" "pena <pena@kumikode.org>")
|
||||
(maintainers "swrup@protonmail.com" "pena <pena@kumikode.org>")
|
||||
|
||||
(source
|
||||
(uri TODO/pellest))
|
||||
|
||||
(homepage TODO/pellest)
|
||||
|
||||
(bug_reports TODO/pellest)
|
||||
|
||||
(documentation TODO/pellest)
|
||||
|
||||
(generate_opam_files true)
|
||||
(uri git+https://forge.kumikode.org/swrup/pellest.git))
|
||||
(homepage https://forge.kumikode.org/swrup/pellest)
|
||||
(bug_reports https://forge.kumikode.org/swrup/pellest/issues)
|
||||
|
||||
(package
|
||||
(name pellest)
|
||||
|
|
@ -28,4 +20,20 @@
|
|||
(pellest TODO TODO TODO TODO))
|
||||
(depends
|
||||
(ocaml
|
||||
(>= 4.08))))
|
||||
(>= 4.08))
|
||||
bos
|
||||
brr
|
||||
caqti
|
||||
caqti-driver-sqlite3
|
||||
directories
|
||||
dream
|
||||
emile
|
||||
fpath
|
||||
lambdasoup
|
||||
lwt
|
||||
lwt_ppx
|
||||
safepass
|
||||
scfg
|
||||
tyxml
|
||||
uri
|
||||
uuidm))
|
||||
|
|
|
|||
27
pellest.opam
27
pellest.opam
|
|
@ -2,15 +2,30 @@
|
|||
opam-version: "2.0"
|
||||
synopsis: "OCaml library/executable to TODO"
|
||||
description: "pellest is an OCaml library/executable to TODO."
|
||||
maintainer: ["swrup@protonmail.com"]
|
||||
authors: ["swrup"]
|
||||
maintainer: ["swrup@protonmail.com" "pena <pena@kumikode.org>"]
|
||||
authors: ["swrup@protonmail.com" "pena <pena@kumikode.org>"]
|
||||
tags: ["pellest" "TODO" "TODO" "TODO" "TODO"]
|
||||
homepage: "TODO/pellest"
|
||||
doc: "TODO/pellest"
|
||||
bug-reports: "TODO/pellest"
|
||||
homepage: "https://forge.kumikode.org/swrup/pellest"
|
||||
bug-reports: "https://forge.kumikode.org/swrup/pellest/issues"
|
||||
depends: [
|
||||
"dune" {>= "2.9"}
|
||||
"ocaml" {>= "4.08"}
|
||||
"bos"
|
||||
"brr"
|
||||
"caqti"
|
||||
"caqti-driver-sqlite3"
|
||||
"directories"
|
||||
"dream"
|
||||
"emile"
|
||||
"fpath"
|
||||
"lambdasoup"
|
||||
"lwt"
|
||||
"lwt_ppx"
|
||||
"safepass"
|
||||
"scfg"
|
||||
"tyxml"
|
||||
"uri"
|
||||
"uuidm"
|
||||
"odoc" {with-doc}
|
||||
]
|
||||
build: [
|
||||
|
|
@ -29,4 +44,4 @@ build: [
|
|||
]
|
||||
["dune" "install" "-p" name "--create-install-files" name]
|
||||
]
|
||||
dev-repo: "TODO/pellest"
|
||||
dev-repo: "git+https://forge.kumikode.org/swrup/pellest.git"
|
||||
|
|
|
|||
3
src/dune
3
src/dune
|
|
@ -17,6 +17,8 @@
|
|||
user
|
||||
ws)
|
||||
(libraries
|
||||
shared
|
||||
;
|
||||
bos
|
||||
caqti
|
||||
caqti.blocking
|
||||
|
|
@ -24,7 +26,6 @@
|
|||
directories
|
||||
dream
|
||||
emile
|
||||
shared
|
||||
fpath
|
||||
lambdasoup
|
||||
lwt
|
||||
|
|
|
|||
|
|
@ -191,22 +191,22 @@ let apply_last_key () =
|
|||
let open State in
|
||||
Kb.get_last ()
|
||||
|> Option.iter (fun code_or_key ->
|
||||
let act =
|
||||
(* when you add something here, don't forget to add the corresponding case in `keypress_handler` *)
|
||||
match code_or_key with
|
||||
| "KeyW" | "ArrowUp" -> Move_offset Up
|
||||
| "KeyA" | "ArrowLeft" -> Move_offset Left
|
||||
| "KeyS" | "ArrowDown" -> Move_offset Down
|
||||
| "KeyD" | "ArrowRight" -> Move_offset Right
|
||||
| "m" -> Meditate
|
||||
| "p" -> Plant_wheat
|
||||
| _ ->
|
||||
(* if this happen, it means we're adding
|
||||
let act =
|
||||
(* when you add something here, don't forget to add the corresponding case in `keypress_handler` *)
|
||||
match code_or_key with
|
||||
| "KeyW" | "ArrowUp" -> Move_offset Up
|
||||
| "KeyA" | "ArrowLeft" -> Move_offset Left
|
||||
| "KeyS" | "ArrowDown" -> Move_offset Down
|
||||
| "KeyD" | "ArrowRight" -> Move_offset Right
|
||||
| "m" -> Meditate
|
||||
| "p" -> Plant_wheat
|
||||
| _ ->
|
||||
(* if this happen, it means we're adding
|
||||
bad values in `keypress_handler`
|
||||
and that should be fixed *)
|
||||
assert false
|
||||
in
|
||||
Queue.add act input_queue )
|
||||
assert false
|
||||
in
|
||||
Queue.add act input_queue )
|
||||
|
||||
let render state =
|
||||
draw_canvas state;
|
||||
|
|
|
|||
15
src/state.ml
15
src/state.ml
|
|
@ -104,14 +104,13 @@ let rec check_action state = function
|
|||
; Set_offset (offset_x, offset_y)
|
||||
]
|
||||
in
|
||||
begin
|
||||
match dir' with
|
||||
| None -> Ok offset_action
|
||||
| Some dir' -> begin
|
||||
match check_action state (Move dir') with
|
||||
| Error _e as e -> e
|
||||
| Ok actions -> Ok (offset_action @ actions)
|
||||
end
|
||||
begin match dir' with
|
||||
| None -> Ok offset_action
|
||||
| Some dir' -> begin
|
||||
match check_action state (Move dir') with
|
||||
| Error _e as e -> e
|
||||
| Ok actions -> Ok (offset_action @ actions)
|
||||
end
|
||||
end
|
||||
| Plant_wheat -> (
|
||||
let { Map.x; y; dir } = state.player_pos in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue