Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
c90d4ab
Merge pull request #1 from assamidanov/main
jescubido May 11, 2023
0ce4e48
Update cannon.py
jescubido May 11, 2023
086647a
fix invalid color argument
jescubido May 11, 2023
51b2545
moved ScoreTable position to screen center
wheatleyinabox May 13, 2023
760c079
renaming cannon to gun1 for mult cannon & prep for modifications
wheatleyinabox May 13, 2023
9d09265
moving movement events outside the loop for fluid vertical movement
wheatleyinabox May 13, 2023
5556ef1
BLUE constant | hardcoded parameters for Cannon | x/y movement | crea…
wheatleyinabox May 13, 2023
f173f44
removed improper synatax: semicolon
wheatleyinabox May 14, 2023
dcf347e
distinguishing player & enemy actions
wheatleyinabox May 14, 2023
07e9400
enemy movement targetting, and attack | pep8 auto format
wheatleyinabox May 14, 2023
557cc7e
cannon collisions & checking for hit
wheatleyinabox May 16, 2023
0e6318b
Merge pull request #2 from CS2520-Refactoring/wheatleyinabox-branch
wheatleyinabox May 16, 2023
9fe2d15
Update README.md
wheatleyinabox May 16, 2023
461cf2e
Update README.md
wheatleyinabox May 16, 2023
c0ba018
Update README.md
wheatleyinabox May 16, 2023
d452677
Update README.md
wheatleyinabox May 16, 2023
b316a4d
Update README.md
wheatleyinabox May 16, 2023
977eab9
disclaimer on cannon mods
wheatleyinabox May 16, 2023
3d17ad0
added period
wheatleyinabox May 16, 2023
4bfa9d6
Update README.md
vsuadprathon May 16, 2023
4f9b85f
Merge pull request #3 from vaniboo1738/patch-2
wheatleyinabox May 16, 2023
8569d91
randomly change radius of projectile
jescubido May 17, 2023
6b513de
Update README.md
jescubido May 17, 2023
39b6cad
Update cannon.py
vsuadprathon May 17, 2023
5d25b98
Merge pull request #4 from vaniboo1738/patch-3
wheatleyinabox May 17, 2023
003ca07
Update README.md
wheatleyinabox May 17, 2023
d3db8f3
restore override changes
jescubido May 17, 2023
e5803d6
remove targets
jescubido May 17, 2023
9db919f
fix color condition
jescubido May 17, 2023
df039bc
create rectangle projectile
jescubido May 17, 2023
8a7db8b
fix comments and add rectangle to cannon
jescubido May 17, 2023
91412cc
change return statement
jescubido May 17, 2023
6e4b210
Target Bombs - Buggy Code
wheatleyinabox May 17, 2023
098f2a6
Commented out buggy code
wheatleyinabox May 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"[python]": {
"editor.defaultFormatter": "ms-python.autopep8"
},
"python.formatting.provider": "none"
}
43 changes: 41 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,41 @@
# python_programming_class
Python for programmers class
# Group Project: cannon.py
Python for Programmers -> CS2520

This week's group assignment involves refactoring and extending a previous project completed in class, with an emphasis on modular programming and object-oriented programming (OOP). You will work in a group of 2-4 students to modify the code, making it more adaptable and easily modifiable for various requirements or design preferences. The primary objective of this assignment is to create a well-organized and easily modifiable codebase utilizing structural, modular, and object-oriented programming techniques.

__Project Description:__
The Cannon Game project is a continuation of the project that we did in class. The assignment tasks are as follows:

1. Implement various types of projectiles. [JARISSE ESCUBIDO]
2. Develop several target types with different movement patterns. [VANISA SUADPRATHON]
3. Transform the cannon into a moving tank. [VAL DELEON]
4. Create "bombs" that will be dropped by targets onto the cannon. [GEORGE FRANSIS]
5. Implement multiple cannons that can shoot at each other. [VAL DELEON]
+ *DISCLAIMER for 5*: If player gets hit by its own Shells, this will also invoke the losing screen.

To get started, create a fork of the original project and work collaboratively to refactor the codebase. Organize the code into clear, concise, and reusable functions and modules that can be easily combined and modified as needed. Ensure that the code adheres to best practices and coding conventions for easy comprehension.

Modular programming and OOP are important aspects of this assignment. Divide your code into separate, well-defined modules that perform specific tasks or represent specific components of your project. Each module should be self-contained and have a clear interface for interaction with other modules.

In addition to modular programming, apply OOP principles by creating classes that represent the various components of the Cannon Game, such as projectiles, targets, tanks, and bombs. Use inheritance, encapsulation, and polymorphism to create a clear hierarchy of classes and promote code reusability and maintainability.

Throughout the assignment, you are expected to communicate effectively with your group members using Git as a version control system. Git will help you collaborate, track changes, and resolve conflicts that may arise during development. Publish your final project on a GitHub page, complete with all necessary documentation and a clear README file.

__Assignment Rubric:__
+ Code Organization (20 points)
+ Code is organized into modules, functions, and classes (10 points)
+ Proper use of structural, modular, and object-oriented programming techniques (10 points)
+ Functionality (20 points)
+ Code allows for easy modifications (10 points)
+ Project can be adapted to various requirements (10 points)
+ Collaboration (30 points)
+ Effective use of Git for collaboration (10 points)
+ Clear commit messages, documenting changes (10 points)
+ Active communication and teamwork (10 points)
+ Documentation (30 points)
+ Clear README file with instructions (10 points)
+ Well-documented code with comments (10 points)
+ Final project published on GitHub page (10 points)
__Total: 100 points__

For a satisfactory grade, students should refactor the project using structural, modular, and object-oriented programming techniques, collaborate effectively, and present their work on a well-documented GitHub page.
Loading