OCaml-Mille-Bornes

所属分类:硬件设计
开发工具:OCaml
文件大小:0KB
下载次数:0
上传日期:2023-11-19 10:15:00
上 传 者sh-1993
说明:  一个基于OCaml的经典Mille-Bornes棋盘游戏的实现,采用函数编程方法设计,具有综合...
(An OCaml-based implementation of the classic Mille Bornes board game, designed with a functional programming approach, featuring comprehensive unit testing using Alcotest and QCheck.)

文件列表:
.ocamlformat (17, 2023-12-09)
bin/ (0, 2023-12-09)
bin/dune (80, 2023-12-09)
bin/main.ml (201, 2023-12-09)
doc/ (0, 2023-12-09)
doc/mille_bornes_rules.pdf (1157153, 2023-12-09)
dune-project (838, 2023-12-09)
lib/ (0, 2023-12-09)
lib/arena.ml (22729, 2023-12-09)
lib/arena.mli (2824, 2023-12-09)
lib/board_engine.ml (8804, 2023-12-09)
lib/board_engine.mli (4692, 2023-12-09)
lib/cards_engine.ml (5205, 2023-12-09)
lib/cards_engine.mli (3757, 2023-12-09)
lib/dune (69, 2023-12-09)
lib/random_bot.ml (1488, 2023-12-09)
lib/random_bot.mli (1231, 2023-12-09)
lib/teams_engine.ml (16928, 2023-12-09)
lib/teams_engine.mli (9511, 2023-12-09)
mille_bornes.opam (921, 2023-12-09)
test/ (0, 2023-12-09)
test/default_strat.ml (249, 2023-12-09)
test/default_strat.mli (53, 2023-12-09)
test/dune (162, 2023-12-09)
test/test_board_engine.ml (27243, 2023-12-09)
test/test_cards_engine.ml (15309, 2023-12-09)
test/test_random_bot.ml (1367, 2023-12-09)
test/test_teams_engine.ml (41009, 2023-12-09)
test/utils_board_engine.ml (10455, 2023-12-09)
test/utils_bot.ml (3892, 2023-12-09)
test/utils_cards_engine.ml (3571, 2023-12-09)
test/utils_teams_engine.ml (4152, 2023-12-09)

# Mille bornes [![OCaml CI](https://github.com/mathusanMe/OCaml-Mille-Bornes/actions/workflows/github-ci.yml/badge.svg)](https://github.com/mathusanMe/OCaml-Mille-Bornes/actions/workflows/github-ci.yml) ## Members | Name | Gaufre username | | :------------------ | :-------------: | | Thomas ARROUS | @arrous | | Gabin DUDILLIEU | @gdudilli | | Mathusan SELVAKUMAR | @selvakum | ## Development environment setup Install [Opam](https://opam.ocaml.org/doc/Install.html), the OCaml package manager, on your system. For convenience, we setup a [local](https://opam.ocaml.org/blog/opam-local-switches/) Opam distribution, using the following commands: ``` $ opam init $ opam switch create . --deps-only --with-doc --with-test $ eval $(opam env) ``` Configure your favorite text editor, see the [Real World OCaml setup](http://dev.realworldocaml.org/install.html#editor-setup). You will want to have a working, integrated type-checker in your editor, as well as type-directed completion. Your favorite text editor being Emacs, this leads to: ``` $ opam install user-setup tuareg ocamlformat merlin $ opam user-setup install ``` Make sure that your text editor applies [OCamlformat](https://ocaml.org/p/ocamlformat/0.22.4/doc/editor_setup.html#editor-setup) each time a file is modified, this helps settle styling war and avoids line-noisy patches down the line. In Emacs, this amounts to adding the following lines to your `.emacs` configuration file: ```elisp (require 'ocamlformat) (add-hook 'tuareg-mode-hook (lambda () (define-key tuareg-mode-map (kbd "C-M-") #'ocamlformat) (add-hook 'before-save-hook #'ocamlformat-before-save))) ``` If need be, you can invoke Dune to re-format the whole codebase: ``` $ dune fmt ``` ## Building mille_bornes To build the project, type: ``` $ dune build ``` For continuous build, use ``` $ dune build --watch ``` instead. ## Running mille_bornes To run the project, type: ``` $ dune exec mille_bornes ``` ## Running the tests To execute all the tests, type: ``` $ dune runtest ``` This can be combined with continuous build & test, using ``` $ dune runtest --watch ``` ## Documentation The internal project documentation can be compiled to HTML through ``` $ dune build @doc-private ``` The resulting document is available with ``` $ open _build/default/_doc/_html/mille_bornes@*/Mille_bornes/index.html ```

近期下载者

相关文件


收藏者