Skip to content

Conversation

@ClaireKincaid
Copy link

MVP.py = iteration 1
Iter2.py = iteration 2
EndersGameFinalMP.py = iteration 3 (final code for this mini project)
we plan on extending this for the assignment "extend a mini project" after spring break.

Thanks!

Claire & Schommer

@srli
Copy link

srli commented Apr 3, 2016

Review status: 0 of 10 files reviewed at latest revision, 6 unresolved discussions.


a discussion (no related file):
You've made a really good looking game, nice job! The code is beautifully written and easy to understand, so please continue writing similar code!

There are several mysteriously named files in your repository, and the readme isn't fully filled out in regards to how to run the game, which files to use, etc. Please remember to make full use of the readme file in the future and to organize the files in the project repo so the pertinent ones can be found easily.

I've noticed that you've used a lot of classes that could be condensed into just one or two classes. For your final project, I would encourage you to look at class inheritance or the logic that would need to be used to condense code down.

All in all, nicely done! Looking forward to your future projects. :)


EndersGameFinalMP.py, line 92 [r1] (raw file):
Where do these numbers come from? (3*760/8 etc...)
When magic numbers appear, have an in-line comment that briefly explains what it maps to. (i.e creates an asteroid in random region of top half of screen)


EndersGameFinalMP.py, line 110 [r1] (raw file):
An interesting extension to this could be to make a SpaceObject parent class, then have Star, Planet, and Asteroid inherit from it since all three of those classes share a lot of attributes in common.


EndersGameFinalMP.py, line 148 [r1] (raw file):
UserShip, EnemyShip and Laser are all extremely similar, such that they could probably just be one class "MovingObject". You could then have an attribute to that class that denotes whether the object is user-controlled or AI-controlled.


EndersGameFinalMP.py, line 286 [r1] (raw file):
These should be if/elif statements. Your program will check every single one of these conditionals otherwise, when it's unnecessary. This also seems to be a prime opportunity to use a dictionary to map a key value to a ship's laser/missile.


EndersGameFinalMP.py, line 344 [r1] (raw file):
:Db clean is good, main loop should be here anyways.


Comments from Reviewable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants