University | Singapore University of Social Science (SUSS) |
Subject | ANL251: Python Programming |
Project: Developing a Turn-Based Battle Game using Python, Object-Oriented Programming and Gui
Assignment Requirement
Your team has been assigned to develop a console or GUI turn-based battle game. The game allows players to set up his/her team which is made up of a number of units (default is 3). Each unit has a name, health point (HP), attack point (ATK), defence point (DEF), experience (EXP) and a rank. On top of that, a unit can be either a Warrior or Tanker which having different strengths in different ranges for ATK and DEF points. The initial value for each attribute point is described in the details required in Part A – Table 1.
Hire a Professional Essay & Assignment Writer for completing your Academic Assessments
Native Singapore Writers Team
- 100% Plagiarism-Free Essay
- Highest Satisfaction Rate
- Free Revision
- On-Time Delivery
The game will then set up another team that belongs to AI which is made up of the same number of units as the player’s team. The type of unit will be assigned randomly by chance. The name of each unit will be specified by the player while the name of each unit for the AI team will be defined with a prefix with “AI” followed by 2 random digits i.e. AI87.
A player can select a unit from his/her team and attack the other unit (the target) in the opponent / AI team. Units which is severely damaged (i.e. HP equals less than 0) will be defeated and removed from the team. The team (player / AI) which destroy all the opponent units first will be declared as the winner of the game.
- Program
At a minimum, the program must contain the following core features:
Features | Description | ||||||||||||||||||
Game Setup | This feature allows players to set up a team of 3 units and select which profession (Warrior / Tanker) each unit will be. This feature allows players to assign names for each of the units. The initial point for each attribute within a unit is assigned with the following rules:
|
Features | Description |
Player Attack | This features allows player to select a unit from his/her team to attack and then select another unit from the opponent team as the target.
The program will then initiate an attack based on the selected unit and the target. The attack resulting the health (HP) of opponent being deducted/no effect and both selected unit and targeted unit will gain experience (EXP). The following are sample calculation / game rules when an attack take place: • Damage = attacker.ATK – target.DEF + (random between negative 5 to 10) • target.HP deducted based on the calculated damage point. • attacker.EXP increase based on the calculated damage point. • Target.EXP increase based of its DEF point. • Extra EXP i.e. 20% – 50% gained by the targeted unit when the following incident happens: o Damage point more than 10 (gain extra 20% EXP) o Damage point equal or less than 0 (gain extra 50% EXP) A unit will be promoted (level up) when the EXP point reached 100. Rank will be updated upon promotion. EXP will be deducted by 100 point. A unit will be removed from the team when the HP become 0 or less. |
AI / Opponent Attack | Once the player completed an attack, the AI team will then take its turn to initiate an attack. Same rules applied on the damage and experience point calculation above.
You as the game developer will need to define your own logical/creative algorithm for the AI team to make the unit and target selection. |
User
Interactivity |
The program allows the player (user) to interact via console/python shell by asking a question(s), getting input from the keyboard, and provide options for actions. Note: Higher marks can be obtained if a GUI application is developed (See enhanced features below) |
Game Message | The program should display necessary messages i.e. status of all units at the point of request, battle information, etc |
Event Log | The program should record all game event, timestamp and its details and save in a plain text file on the local machine. |
Documentation | Appropriate in-code commenting |
Enhanced features, concepts and packages applied
Features | Description |
Game Setup & Game Play | On top of the core features for battle mode specified above, the program can be enhanced by the following features
•Each team can collect/earn coins based on the damage point applied to the opponent units. •Each team can recruit/hire a new unit with the collected coins to strengthen the team. • Allowing the user to save the state of the game and resume later when the program is loaded. •Any other interesting gameplay/battle rules can be applied. |
OOP Concept | Appropriate use of Object-Oriented Programming paradigm covering the abstraction and encapsulation concept, object collaboration as well as separation of concerns. |
User
Interactivity |
They3 enhance user experience, the program shall provide a decent Graphical User Interface for interaction. (Recommended packages are Tkinter, pygame, turtle, PyQt, Kivy) |
Technical Specification and Guidelines:
You are expected to apply the concepts learned in this module when developing this game. You may use List to store the collection of units. Even better if you use the Object-Oriented Programming concept to manage the units and team in the game. You may use other python libraries/packages for the development and must be included in your individual portfolio.
- Design, develop and test the component assigned
- Integrate the components and test the program as a whole.
- Submit the program with all source code files, and resources
Buy Custom Answer of This Assessment & Raise Your Grades
Singapore Students mostly have a pertinent question, “Who can write my assignment for me on ANL251: Python Programming Assignment? yes, we can! at Singapore Assignment Help we have a group of efficient experts who offer high-quality solutions on Python Programming Assignment.
Looking for Plagiarism free Answers for your college/ university Assignments.
- BUS 304 Assignment: Strategic Analysis of Accounting Standards & Corporate Ethics
- RBP020L056 A Strategic Management Assignment Report: External & Internal Analysis with Strategic Options for Business Growth
- Capital Budgeting Assignment Report: PIONG Corporation Case Study on Risk & Investment Analysis
- BCAF003 Business Accounting Assignment : Temasek Polytechnic Case Study on Transactions, Equity & Trial Balance
- 304SE Energy Systems Assignment: Boiler Efficiency & 3-Bus Power Flow Case Study with Carbon Emission Analysis
- SM9532 International Expansion Strategy Assignment Report: CAGE, PND & AAA Analysis for Global Market Entry
- PSB6023CL Strategy and International Business Simulation Assignment Report: Automotive Case Study on Strategic Decision-Making and Performance Review
- ESG in Maritime Industry Assignment : Literature Review on Environmental, Social and Governance Practices
- CVE2332 Seepage and Flownet Analysis Assignment : Singapore River Cofferdam Case Study for Cost-Effective Sheet Pile Design
- DSWSH MC2 Electronic Security Assignment: Protection in Depth Plan for American International School (AIS) Singapore