 ; Plots the playfield, it is a table of size w*h
 ;
 
-(defmulti plot-cell (fn [data] (:tipo data)))
+(defmulti plot-cell (fn [data _] (:tipo data)))
 
 (defmethod plot-cell :PESCE
-  [data]
+  [data idx]
+  ^{:key idx}
   [:td {:class (name (:colore data))}  (str "P" (:energia data)) ] )
 
 (defmethod plot-cell :SQUALO
-  [data]
-  [:td {:class (name (:colore data))}  (str "x<" (:energia data)) ] )
+  [data idx]
+   ^{:key idx}
+   [:td {:class (name (:colore data))}  (str "<" (:energia data)) ] )
 
 (defmethod plot-cell nil
-  [data]
+  [data idx]
+  ^{:key idx}
   [:td ""] )
 
 

   {:cell-spacing "0"}

   [:thead>tr
    [:td {:width "20px"} "-"]
    (map #(vec [:th {:width "20px"} (str %)]) (range m/PLAYFIELD-WIDTH))]

   [:tbody


  [nrow rowdata]

  ^{:key (str "r-" nrow)} [:tr
    ^{:key "0"} [:td  (str nrow)]
    ;(map plot-cell rowdata)
    (map-indexed (fn [idx itm] (plot-cell itm (str idx))) rowdata)
    ]
  )

