]> git.f4mnq.fr Git - cells.git/commitdiff
README.txt qui explique le fonctionnement de l'éditeur
authorAmélia Coutard-Sander <git@f4mnq.fr>
Wed, 7 Jan 2026 13:38:53 +0000 (14:38 +0100)
committerAmélia Coutard-Sander <git@f4mnq.fr>
Wed, 7 Jan 2026 13:53:54 +0000 (14:53 +0100)
README.txt [new file with mode: 0644]
automata/automata.ml
automata/automata/cont.ml [deleted file]

diff --git a/README.txt b/README.txt
new file mode 100644 (file)
index 0000000..4bffdce
--- /dev/null
@@ -0,0 +1,45 @@
+Dépendances:
+       OCaml
+       ocaml-graphics
+
+Compiler:
+       dune b
+(Compiler et) Exécuter:
+       dune exec cells
+
+Ceci est un éditeur modal et simulateur d'automates cellulaires.
+Pour l'utiliser, il faut donc connaitre les commandes des différents
+modes.
+
+L'éditeur démarre en mode normal. Les commandes sont les suivantes:
+       : -> passer en mode commande
+       0 -> revenir aux coordonnées 0:0
+       s -> mets la case pointée à la valeur actuelle
+       q, d -> mets la valeur actuelle à la précédente, ou la suivante
+       f -> effectue une étape de simulation
+       h, j, k, l -> se déplace d'une case à gauche, en bas, en haut,
+               ou à droite.
+       i, o -> zoome, ou dézoome
+
+Toute commande (sauf s, :, et 0) peut être précédée d'un nombre (en
+décimal, ne commençant pas par 0) qui indique le nombre de fois que l'on
+souhaite l'exécuter.
+
+En mode commande, que l'on active en faisant :, on peut taper des
+commandes plus longues, avec autocomplétion. Attention, les commandes
+ne demandent pas confirmation avec de s'effectuer sans sauvegarder.
+       quit -> Quitte l'éditeur.
+       clear -> Efface tout le contenu de la grille.
+       select <auto> -> Change l'automate actuel à celui nommé <auto>.
+       write <fichier> -> Sauvegarde l'état actuel de la grille dans
+               <fichier>.
+       read <fichier> -> Lis le nouvel état de la grille depuis
+               <fichier>. Change l'automate actuel si besoin.
+On peut effacer le dernier caractère via la touche retour arrière.
+On peut repasser en mode normal with la touche échap.
+On peut exécuter la commande en faisant entrée.
+On peut activer l'autocomplétion en faisant une tabulation.
+Toutes les autres touches servent simplement à écrire la commande.
+
+J'accepterai avec plaisir les contributions utiles envoyées par mail
+(via git send-mail) à mon adresse personelle (indiquée sur mon site).
index 79cbba59de0b4836a5f68e24196002cc6b95e337..96a386c5a7c821bb25b034ba5251db69779e2202 100644 (file)
@@ -160,6 +160,5 @@ let automata =
           (module Life : Automaton);
           (module Wireworld : Automaton);
           (module Brain : Automaton);
-          (module Cont : Automaton);
           (module Maze : Automaton);
         ]
diff --git a/automata/automata/cont.ml b/automata/automata/cont.ml
deleted file mode 100644 (file)
index 149a9f5..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-(* Copyright 2024 Amélia COUTARD <https://www.f4mnq.fr>.
- *
- * This file from the program cells is free software: you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License along
- * with this program. If not, see <https://www.gnu.org/licenses/>.
- *)
-
-let name = "Automate continu random"
-
-type t = float
-
-type 'a neighbours = 'a list
-
-let neighbours = [(0, 0); (-1, 0); (0, -1); (0, 1); (1, 0)]
-
-let map = List.map
-
-let fold_left = List.fold_left
-
-let iter = List.iter
-
-let transition l = List.fold_left ( +. ) 0. l /. 5.
-
-let default = 0.
-
-let prev c = c -. 1.
-
-let next c = c +. 1.
-
-let color c =
-        let v =
-                (if c > 0. then (512. /. (1. +. Float.exp (-.c))) -. 256. else (512. /. (1. +. Float.exp c)) -. 256.)
-                |> int_of_float
-                |> char_of_int
-        in
-        if c > 0. then (v, '\x00', '\x00') else ('\x00', '\x00', v)
-
-let of_string = float_of_string
-
-let to_string = string_of_float