       ; mangio un pesce
       (let [squalo-grasso (incrementa-energia animale)]
         (muovi-animale celle
-            rc-pesce squalo-grasso
-            [r c]    nil)
-
-        )
-
+                       rc-pesce squalo-grasso
+                       [r c]    nil))
 
       ; nulla da mangiare
       (let [nuovacella (nuovopunto [r c] (mossa-casuale))]
         (if (cella-vuota? celle nuovacella)
           (muovi-animale celle
-              nuovacella squalo
-              [r c]      nil)
-
+                         nuovacella squalo
+                         [r c]      nil)
           celle)))))
-
-
-
 
 
 


(defn join-val [dict chiave valore]
  (let [v0 (conj (get-in dict [chiave]) valore)]
    (assoc-in dict [chiave] v0)
  ))

(defn conta-celle
  "Restituisce un hash con tutte le celle per tipo"
  [celle]
  (reduce #(update-in %1 [%2] inc) {:PESCE 0 :SQUALO 0}
    (for [rc (coordinate-gioco)]
      (:tipo (get-in celle rc)))))




(defn run-turno-gioco
  "Questo metodo è chiamato dal bottone"



(defn plot-playfield []

  [:div

  [:table.table.table-striped.table-bordered
   {:cell-spacing "0"}

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

   [:tbody

    (let [table (:pf @app-state)]
      (for [row (range PLAYFIELD-HEIGHT)]
        (plot-row row (get table row)))) ]]

  ;; BOTTONI

  (str "Pesci: " (first (:n_pesci @app-state))
          " - Squali: " (first (:n_squali @app-state))
          " - Loop: " (first (:loop_ms @app-state)) "ms")

  [:br]

  [:input {:type "button"
             :value (str "Avanza #" (:turn @app-state))
             :on-click run-turno-gioco}]

  [:input {:type "button" :value "Reset!"
     :on-click
     #(doall
       (imposta-campo-di-gioco (empty-playfield PLAYFIELD-WIDTH PLAYFIELD-HEIGHT))
       (swap! app-state assoc-in [:turn] 0))}]

    [:input {:type "button" :value "Pesce 1,1"
     :on-click
     #(imposta-campo-di-gioco
       (imposta-animale (:pf @app-state) [1 1] (crea-nuovo-pesce)))}]

     [:input {:type "button" :value "Squalo 8,8"
      :on-click
      #(imposta-campo-di-gioco
        (imposta-animale (:pf @app-state) [8 8] (crea-nuovo-squalo)))}]


  ]





  )

     ;[:pre (str @app-state)]




(reagent/render-component [plot-playfield]
