New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
For working with ripple effect #2
For working with ripple effect #2
Conversation
…ect, if it exists.
…s well as Column. Also, using interfaces for (some amount of) clarity. None of these interfaces or classes are actually hooked up yet. Also, declaring DlxLibTests.dll a 'friend' of DlxLib.dll, so it can use types declared internal to DlxLib.dll
…art using ElementObject.
…stead. Made ColumnObject and HeaderObject abstract to ensure they're never instantiated.
between the data object interfaces and between them and the data object class tree.
…vailable, plus change visibility to protected internal for testing. Fix their implementations. Also, more coverage of unit tests of RootObject and RowObject.
…s I've broken creating a general matrix. Nearly complete code coverage on relevant new code in DataObject, ElementObject, HeaderObject, ColumnObject, RowObject, and RootObject.
which all DataObjects will know. Also add factory methods to RootObject for all objects.
100% coverage of object classes (so far).
CreateEmptyMatrix to handle secondary columns. AddMatrix and AddRow implemented. ToCoordinates and ToArray implemented to read out data elements.
b) Moved SearchData out of Dlx and strengthened it so that I could ... c) Move Search method from Dlx to RootObject.
…ng collection has been changed".
…le<DataObject). b) Add some method comments.
Hi - I'm am unfamiliar with the whole pull request process so I'll have to do some reading to get up to speed. I'm in the middle of starting a new job and also doing an online course (Principles of Reactive Programming) so I'm a bit busy at the moment. But I'll get back to you when I can. Thanks for your patience. |
No rush at all! Like I said, for your entertainment/amusement mainly. On Sat, May 16, 2015 at 4:29 AM, Jonathan Taylor notifications@github.com
|
BTW, do you have a working example of a Ripple Effect puzzle solver? |
Nope - it's in progress though! A day or two should do it. On Sat, May 16, 2015 at 11:00 AM, Jonathan Taylor notifications@github.com
|
Cool - I'd be interested to see it. |
Hi David, I have decided not to merge in this pull request because of the large size/scope of the changes. However, I'd like to thank you for making me aware of secondary columns. I have now added support for them to DlxLib in version 1.3 which I released last night. I added some more FYI, I have created a couple more demo programs that make use of secondary columns: Regards, |
thanks! I'll look at them On Thu, Oct 1, 2015 at 11:15 AM, Jonathan Taylor notifications@github.com
|
Jonathan,
This pull request is FYI, mainly. I wanted to use DlxLib to solve Ripple Effect puzzles - DlxLib can't quite handle that since I need what Knuth calls secondary columns in a generalized cover problem (pg. 17 of his paper).
I started to modify DlxLib ... and got carried away. In addition to adding primary/secondary columns I pretty much changed the entire O-O structure of the data matrix itself, adding special Root and Row objects to the Column and Data objects. Yet at the end of the day your demos work unchanged (demo 3 - the one that shows pentominoes fitting the 8x8 board incrementally as the search progresses is especially nice).
So ... this pull is for your entertainment/information. Though if you have suggestions for me, I'd be happy to hear them.