Level 1 Working! (was: Some compiler issues and a request for debugging/design help )

"Paul R. Potts" <[email protected]> Wed, 19 Jun 2013 22:08:15 -0400
Newsgroups gmane.comp.lang.dylan.gwydion.devel
Message-ID <[email protected]>
With some helpful hints from you all, the Arctic Slide implementation is working (for level 1, at least).

Most notable changes:

- Using 2-D array without "limited" works OK so I'm using that
- Relaxing some types here and there
- Using singletons on board, but dispatching only on types
- <edge> is a type to indicate interacting with the edge of the board; making it a type reduces the number of special cases and checks
- <pos> is allowed to be #f in some methods that handle <edge>, using <pos-or-false>
- Tile class hierarchy is considerably changed to try to find a design with the least confusing overlap between most-specific/least-specific dispatch cases.

I'm not sure all possible tile interactions are perfectly covered yet but it's a big improvement. The problem has become interesting again (that is, what's the optimal class design, how is dispatch determined from most specific to least, etc.) rather than tedious. I'll be blogging about it some more ASAP for anyone interested.

Enclosing the latest if you want to play with it.

Paul

_______________________________________________
hackers mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/hackers
arctic-slide.dylan (application/octet-stream, 16.9 KB) - not displayed
arctic-slide.hdp (application/octet-stream, 52 B) - not displayed
arctic-slide.lid (application/octet-stream, 52 B) - not displayed
library.dylan (application/octet-stream, 288 B) - not displayed