Einstein game again ( Source Code Rot )

I am not sure how much code rot is involved, but I suspect that somebody has changed the include structures a bit for C++ -- It isn't a killer as using the source isn't something that non programmers do much. It does compile and there is no reason to complain. I wanted to take a look at the code after more extensive study of C++ and other languages. The syntax of C++ can get very odd at times and without experience with some specific kludges it just looks like obfuscated code. There are some harsh edges in the language but I am going to take another run at changing it into something else in C++

I was not comfortable with SDL or C++ when I first visited this and used openGL with C instead. The automatic solver I created was a first level solver and certainly could solve any puzzle, but it did lack some sophistication that could have been implemented in dependency understanding. I hope to come up with a generalized reasoning case from this.



sudo apt-get source einstein sudo apt-get build-dep einstein Code rot -------------- In "convert .h" ++ #include <typeinfo> In unicode.cpp ++ #include <string.h> In main.cpp ++ #include <cstring> In compressor.cpp ++ #include <cstring> fonts that are used

Some of the issues that arise almost immediately is that it is not designed to be scalable and this may have been the reason that I rewrote the game in the first place. It would seem that it would be easier to modify it than rebuild, but I see too many magic numbers in the code. It is object oriented C++, but it demonstrates that even though the code is done in C++ it is in name only and not true to the principles of object oriented design as I have learned it. It shows that even if you use the latest and greatest object oriented system it doesn't mean that it is code that can be maintained easily by a new programmer. It is free so I have nothing to complain about, I am just stating what I have learned about object oriented design. It isn't horrific or even bad code, it is just that it seems a design choice was made to operate at one screen mode only and that can simply be to get it done in the least complex way. Scalable fonts can be a real bear to use and GL fonts look icky. Perhaps I can merge the implementation that I created with this as C++ using SDL. That seems a good idea, that way I can create some C++ from scratch and see if it can be easy to modify when I decide on changes later.

0 comments:

Contributors

Automated Intelligence

Automated Intelligence
Auftrag der unendlichen LOL katzen