AliceCube.nib
InfoPanel.nib
Alice's Cube: Rubik's in Hyperland AliceCube is a 4D analogue of the traditional Rubik's Cube (actually the 'Idiot's Cube', since it has only two per side). On a traditional cube, each plane of the cube has the rotations of the rigid plane, SO(2), which are plus and minus in a single direction. Thus, for the hypercube, we have chosen the convention that each hyperplane (i.e., subsidiary cube) has the rotations of a solid cube (+/- X, +/- Y, +/- Z). The control panel demonstrates this. This program was originally developed as part of one of the infamous 'Ditch Day' "stacks" for Spring, 1991 at the California Insititute of Technology. Since it is extremely difficult (impossible?) to solve directly, the actual stack consisted of finding and deciphering clues to give the sixteen letters needed to unscramble the cube, and hence gain entrance to the senior's room (which is the point of Ditch Day, for the culturally illiterate :-). For this version, instead of a fixed code, it generates eight (8) random permutations of the cube. If anybody manages to solve this, I would love to hear about it. Distinctives: 1) C++ This provides a very neat (I think) example of integrating C++ and Objective-C. The Cube itself is a C++ object, while the display and interaction mechanisms are done in Objective-C. I find the hybrid to work quite well. However, a compiler bug in Objective-C++ with make necessitated a shell script to complete the last stage of compilation (Collect.debug.csh). 2) Color Although written entirely on a monochrome system, it actually ran on a borrowed color slab without modification in full color. This demonstrates the advantages and disadvantages of Color PostScript. The advantage is that one program will work on either; the disadvantage is that I have little idea what it will look like, so the results may be garish (see Reverse for another example of such :-). 3) Modularity This program is based on the "BasicApp.subproj" which provides the underlying multidocument implementation. I am not (September 10, 1991) quite yet ready to release that, so I have not included it with this Application. Those interested can contact me for a pre-release version. -- Ernie P. === Ernest N. Prabhakar Caltech High Energy Physics CaJUN President NeXTMail:ernest@pundit.cithep.caltech.edu "...and ourselves, your servants for Jesus sake." - II Cor 5:13a #import <std/disclaimer.h>
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.