bonjour bonjour
voila je cherche, avec camllight, à programmer un jeu de la vie. pour cela j'ai besoin d'une fonction qui permet de compter le nombre de voisins vivants en une case de la matrice, de plus je dois faire au final un jeu de la vie dans un monde torique ( cf ma fonction "aux" plus bas )
pour l'instant voila ce que j'ai fait :
je considere g la matrice de taille (n*p) et je cherche le nombre de voisins vivants a la case de coordonnées (i,j) et je considere qu'une cellule vivante contient un 1 et une morte un 0
voila et on me repond tres poliment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 let nb_voisins g n p i j = let rec aux = function |(-1,a)->aux(n-1,a) |(n,b)->aux(0,b) |(c,-1)->aux(c,p-1) |(d,p)->aux(d,0) |(a,b)->(a,b) in let x = ref (-(g.(i).(j)) in for k=(i-1) to (i+1) do for t=(j-1) to (j+1) do x:=!x+(g.(fst(aux(k,t))).(snd(aux(k,t)))) done done; !x;;
et je sais pas ce qui ne va pas !!!Toplevel input:
> |(c,-1)->aux(c,p-1)
> ^^^^
Warning: this matching case is unused.
Toplevel input:
> |(d,p)->aux(d,0)
> ^^^
Warning: this matching case is unused.
Toplevel input:
> |(a,b)->(a,b)
> ^^^
Warning: this matching case is unused.
nb_voisins : int vect vect -> int -> int -> int -> int -> int = <fun>
#
donc si vous pouviez me donner un petit coup de pouce ca n'est pas de refus
merci d'avance
Partager