[racket] Solumns: evil version of columns
Interesting program. You blog that it is too slow, so I took a look at
your code. I expect you could speed it up substantially with a few
changes to the data structures and so on. Some hints:
- Classes are going to be slower than functions and structures
- Use fxvector for a vector of integers and the fx functions for
operating on integers (this won't get you much, but is useful if you
later switch to unsafe-fx, which is faster)
- provide/contract can be faster than define/contract for recursion functions
- Use Typed Racket to automatically and safely turn fx operations
into faster unsafe-fx operations etc.
HTH,
N.
On Fri, Apr 1, 2011 at 7:43 PM, Johnny Morrice <spoon at killersmurf.com> wrote:
> I've been writing an evil version of columns (the classic sega game) in
> racket, called Solumns.
>
> It stands for "sub-optimal Columns". Also it sounds like it will make
> players sad.
>
> It attempts to give players disadvantageous combinations of colours.
>
> I've been told it's "****ing annoying".
>
> It isn't finished yet, but it does work (on my computer...)
>
> Download the source at
> https://gitorious.org/solumns
>
> The algorithms involved are described by this blog post
> http://oddfactory.blogspot.com/2011/04/solumns.html
>
> See the README on how to run, or mail me, documentation is sparse so
> that's okay.
>
> You'll also need a build system called rake (comes with ruby 1.9,
> separate for 1.8)
>
> I've only tested this on linux (gentoo, with racket from the lisp
> overlay)
>
> Have fun,
> Johnny
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
>