Pretty sure the strategy isn't a problem (random-strategy picks a random 
move from all legal moves) and it works in the single-threaded command line 
version of the app.

ditto all-directions which is constant:

(def ^:constant all-directions
  "Defines the array of all possible directions from a square."
  [[-1 -1][0 -1][+1 -1]
   [-1  0]      [+1  0]
   [-1 +1][0 +1][+1 +1]])

Reasonable suggestions though.

I think I'll have to create a version of get-and-make-move that just 
returns a random board (i.e. is as simple as possible) and see what happens.

Is there a way to trace into a thread created by (future) ?

On Tuesday, July 15, 2014 12:57:33 AM UTC+1, Gary Johnson wrote:
>
> Looking at this code without further knowledge of the strategy function, 
> my first guess is simply that your strategy function may not be returning a 
> result which satisfies the valid-move? and legal-move? predicates thus 
> throwing you into an infinite loop. Possibly the printf is being suppressed 
> within the swap! operation, but some testing would be required to see if 
> this is the case generally. The other obvious potential for a hiccup would 
> be if all-directions is somehow growing with each iteration of make-move, 
> thus preventing idx from ever exceeding its length. Not knowing what is 
> going on inside all these functions makes this a rather tricky bit of guess 
> work at best. Anyway, I'd try running get-move from the repl to see how 
> likely it is to get stuck in an infinite loop.
>
>   Good luck,
>     ~Gary
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to