open Definitions
open Chessrules
open Unix
let edges = [(0,0);(0,1);(0,2);(0,3);(0,4);(0,5);(0,6);(0,7);
(1,0);(2,0);(3,0);(4,0);(5,0);(6,0);(7,0);
(7,1);(7,2);(7,3);(7,4);(7,5);(7,6);(7,7);
(6,7);(5,7);(4,7);(3,7);(2,7);(1,7)] ;;
let dataIn k = let temp = Array.create_matrix 8 8 0 in
temp.(fst (List.nth edges k)).(snd (List.nth edges k)) <- 1;temp;;
let dataIn64 = vect64 (dataIn 1);;
let exin = "";;
let rec strin exin i j = if j=63 then exin else
strin (exin^(string_of_int (vect64 (dataIn i)).(j))) i (j+1);;
let exStrin k = strin exin k 0;;
exStrin 0;;
let resultin = "";;
let rec format resultin i k = if i=63 then resultin else
format (resultin^(string_of_char (exStrin k).[i])^".0;") (i+1) k ;;
let exformat k = let temp = format resultin 0 k in
String.sub temp 0 ((String.length temp)-1) ;;
let res = "";;
let rec learnIn1 res k = if k=27 then res else
learnIn1 (res^(exformat k)^"/") (k+1);;
let learnIn = learnIn1 res 0;;
let copylearnIn ()=
let mode = [Unix.O_WRONLY;Unix.O_CREAT;Unix.O_TRUNC;Unix.O_APPEND] in
let file = Unix.openfile "donneesJooIn" mode 0o777 in
let ch = learnIn in
let n = Unix.write file ch 0 (String.length ch) in
if n=0 then print_endline "no output";Unix.close file;;
copylearnIn ();;
let data = let temp = Array.create 30 [] in
for i=0 to (List.length edges)-1 do
temp.(i)<-Ensemble.elements (voisK (fst (List.nth edges i)) (snd (List.nth edges i)))
done;temp;;
let diagDepl ldiag = let temp = Array.create_matrix 8 8 0 in
for k=0 to (List.length ldiag)-1 do
temp.(fst (List.nth ldiag k)).(snd (List.nth ldiag k))<- 1
done;temp;;
let affDiagDepl ldiag =
for j=7 downto 0 do
for i=0 to 7 do
print_int (diagDepl ldiag).(i).(j)
done;
print_newline ()
done;;
affDiagDepl data.(1);;
vect64 (diagDepl data.(1));;
let dataExample k = vect64 (diagDepl data.(k));;
for i=0 to (List.length edges)-1 do
for j=0 to 63 do
print_int (vect64 (diagDepl data.(i))).(j)
done;
print_newline ()
done;;
let ex = "";;
let rec str ex i j = if j=63 then ex else
str (ex^(string_of_int (vect64 (diagDepl data.(i))).(j))^".0D, ") (i) (j+1);;
let exLearn k = let temp = str ex k 0 in
"{"^(String.sub temp 0 ((String.length temp)-2))^"}";;
let result = "";;
let rec learnData1 result k = if k=27 then result else
learnData1 (result^(exLearn k)^",") (k+1);;
let learnData = learnData1 result 0;;
let copylearnData ()=
let mode = [Unix.O_WRONLY;Unix.O_CREAT;Unix.O_TRUNC;Unix.O_APPEND] in
let file = Unix.openfile "donnees" mode 0o777 in
let chaine = learnData in
let n = Unix.write file chaine 0 (String.length chaine) in
if n=0 then print_endline "no output";Unix.close file;;
copylearnData ();;
let center = [(4,4)];;
let dataInC = let temp = Array.create_matrix 8 8 0 in
temp.(fst (List.nth center 0)).(snd (List.nth center 0)) <- 1;temp;;
let dataInC64 = vect64 dataInC;;
let exinC = "";;
let rec strinC exinC j = if j=63 then exinC else
strinC (exinC^(string_of_int (vect64 (dataInC)).(j))) (j+1);;
let exStrinC = strinC exinC 0;;
let resultinC = "";;
let rec formatC resultinC i = if i=63 then resultinC else
formatC (resultinC^(string_of_char (exStrinC).[i])^".0;") (i+1) ;;
let exformatC = let temp = formatC resultinC 0 in
String.sub temp 0 ((String.length temp)-1) ;;
let copylearnInC ()=
let mode = [Unix.O_WRONLY;Unix.O_CREAT;Unix.O_TRUNC;Unix.O_APPEND] in
let file = Unix.openfile "donneesCenter" mode 0o777 in
let ch = exformatC in
let n = Unix.write file ch 0 (String.length ch) in
if n=0 then print_endline "no output";Unix.close file;;
copylearnInC ();;