1. Homepage
  2. Programming
  3. ITGP2008 INTRODUCTION TO PROGRAMMING - Project: Developing a Turn-Based Battle Game

ITGP2008 INTRODUCTION TO PROGRAMMING - Project: Developing a Turn-Based Battle Game

Engage in a Conversation
PSB AcademyITGP2008INTRODUCTION TO PROGRAMMINGPythontkinter

MODULE COURSE CODE CourseNana.COM

ASSIGNMENT REQUIREMENT : INTRODUCTION TO PROGRAMMING CourseNana.COM

: DICT/DNDFC
: ITGP2008\V1.0G4
CourseNana.COM

OVERVIEW CourseNana.COM

In this assignment student will demonstrate their competency in developing a program in a team using fundamentals of programming such as variables, conditional and iterative execution, collections (list, dictionary or tuple), method, packages and OOP. CourseNana.COM

The assignment consist of induvidual and group element which will be completed by 4 6 students in a team. The entire assignment are divided into four parts which covering (A) program development, (B) individual portfolio, (C) presentation/demonstration and (D) peer review. CourseNana.COM

You and your team are highly advised to carefully design the game structure and distribute the component evenly to each member. The program required collective effort and a good teamwork. Therefore, every member must contribute by designing and developing the component assigned and then integrate into the main program. Working alone/in silo may resulting in unfavourable outcome / marks for the module as a whole. CourseNana.COM

WEIGHTING: 40% CourseNana.COM

DUE DATE: Check Moodle Submission Link CourseNana.COM

ASSIGNMENT REQUIREMENT CourseNana.COM

Project: Developing a Turn-Based Battle Game CourseNana.COM

Your team has been assigned to develop a console or GUI turn-based battle game. The game allows player setup his/her team which made up of a numbers 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 strength in different range for ATK and DEF point. The initial value for each attribute point are describe in the details requirement in Part A Table 1. CourseNana.COM

The game will then setup another team belongs to AI which made up of same number of unit as the player’s team. The type of unit will be assigned randomly by chances. The name of each unit will be specify by the player while the name of each unit for AI team will be defined with prefix with “AI” follow by 2 random digits i.e. AI87. CourseNana.COM

A player can select a unit from his/her team and attack the other unit (the target) in the opponent / AI team. Unit which are severely damaged (i.e. HP equals to 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 winner of the game. CourseNana.COM

PART A Program CourseNana.COM

At a minimum, the program must contains the following core features: CourseNana.COM

Features CourseNana.COM

Description CourseNana.COM

Game Setup CourseNana.COM

This features allows player to setup a team of 3 units and select which profession (Warrior / Tanker) each unit will be. This features allows player assign name for each of the unit. The initial point for each attributes within a unit are assigned with the following rules: CourseNana.COM

Attribute CourseNana.COM

Warrior CourseNana.COM

Health Point Attack Point Defence Point Experience Point (EXP) Rank/Level CourseNana.COM

100
Range between 5 - 20 Range between 1 - 10 0
CourseNana.COM

> or 1 CourseNana.COM

100
Range between 1 - 10 Range between 5 - 15 0
CourseNana.COM

> or 1 CourseNana.COM

Table 1: Example of initial value for each attribute point within a unit. Student may define their own range for ATK and DEF based on their game setting CourseNana.COM

This features then will setup the AI team which consist of 3 units with random name and profession as mentioned earlier. CourseNana.COM

Player Attack CourseNana.COM

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. CourseNana.COM

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). CourseNana.COM

The following are sample calculation / game rules when an attack take place: CourseNana.COM

  •   Damage = attacker.ATK target.DEF + (random between negative 5 to 10) CourseNana.COM

  •   target.HP deducted based on the calculated damage point. CourseNana.COM

  •   attacker.EXP increase based on the calculated damage point. CourseNana.COM

  •   Target.EXP increase based of its DEF point. CourseNana.COM

  •   Extra EXP i.e. 20% - 50% gained by the targeted unit when the following incident happens: CourseNana.COM

o Damage point more than 10 (gain extra 20% EXP)
o Damage point equal or less than 0 (gain extra 50% EXP) CourseNana.COM

A unit will be promoted (level up) when the EXP point reached 100. CourseNana.COM

AI / Opponent Attack CourseNana.COM

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. CourseNana.COM

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. CourseNana.COM

User Interactivity CourseNana.COM

The program allows player (user) to interact via console/python shell by asking question(s), getting input from keyboard, and provide options for actions. Note: Higher marks can be obtained if GUI application is develop (See enhanced features below) CourseNana.COM

Game Message CourseNana.COM

Features Description CourseNana.COM

The program should display necessary messages i.e. status of all unit at the point of request, battle information, etc CourseNana.COM

The program should record all game event, timestamp and its details and save in a plain text file on the local machine. CourseNana.COM

Appropriate in-code commenting
Enhanced features, concept and packages applied [10%]
CourseNana.COM

Event Log Documentation CourseNana.COM

Game Setup & Game Play CourseNana.COM

On top of the core features for battle mode specified above, the program can be enhanced by the following features CourseNana.COM

  •   Each team can collect/earn coin based on the damage point applied to the opponent units. CourseNana.COM

  •   Each team can recruit/hire a new unit with the collected coins to strengthen the team. CourseNana.COM

  •   Allowing user to save the state of the game and resume later when the program is loaded. CourseNana.COM

  •   Any other interesting game play / battle rules can be applied. CourseNana.COM

OOP Concept CourseNana.COM

Appropriate use of Object-Oriented Programming paradigm covering the abstraction and encapsulation concept, object collaboration as well as separation of concerns. CourseNana.COM

User Interactivity CourseNana.COM

The enhance user experience, the program shall provide decent Graphical User Interface for interaction. (Recommended packages are tkinter, pygame, turtle, PyQt, Kivy) CourseNana.COM

Technical Specification and Guidelines: CourseNana.COM

You are expect to apply the concepts learn in this module when developing this game. You may use List to store the collection of units. Even better if you uses 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 into your individual portfolio. CourseNana.COM

PART B Individual Portfolio 5%
CourseNana.COM

An individual portfolio must be produce by every member within a team to document their individual contribution and to demonstrate their competency in designing, implementing, test and debugging part of feature/algorithm within the program. Each member must produce a report covering the technical context i.e. flow chart for the algorithm/function, source code, test plan/procedure and the test results. Besides, each member must prepare a personal learning reflection report towards this assignment. CourseNana.COM

The key of the assessment criteria is based on how well the student demonstrated genuine engagement with the module, and how well he/she apply the Python coding skills in the group project, or any other related class activities.
CourseNana.COM

Below are the breakdown items required for the individual portfolio report (report outline): 1. Cover page.
2. Introduction
CourseNana.COM

  1. Technical Report (on assigned program feature one only) CourseNana.COM

    1. Flow Chart CourseNana.COM

    2. Source code (appropriately formatted, screenshort are not acceptable) CourseNana.COM

    3. Test Report CourseNana.COM

  2. Personal Learning Reflection Report (~600 1200 words) CourseNana.COM

    1. Challenges encountered and how it was overcome. CourseNana.COM

      These are typically short summaries of moments that significantly enhanced your learning in this module. The challenges / critical incidents can be either positive or negative experiences which provided strong opportunities for your professional development. When writing about such incidents, you should reflect on the ways that they prompted new skill development, or provided enhanced understanding of course material. CourseNana.COM

    2. Sense of achievement with evidence CourseNana.COM

      This part of reflection provides written evidence of your achievement. For example, you write about any accomplishment that made you feel proud, or any activities that you like to share as your success story. CourseNana.COM

    3. Personal statement / Conclusion CourseNana.COM

      The Personal Statement provides an opportunity for you to summarise your newly developed skills and professional philosophies. Based on the experiences you’ve gained, how would you describe yourself professionally? How will you use the skills you learnt in your professional development in the future? CourseNana.COM

Tips: How to write a good reflective report: CourseNana.COM

  1. Be critical. CourseNana.COM

    Although the content of a portfolio will be more personalised than other assignments, you should use the same level of critical analysis as you do for any essay or exam. CourseNana.COM

  2. Be comprehensive. CourseNana.COM

    Make sure that you include a good range of experiences that exemplify your work throughout the duration of your practical group work/class activities. You might choose to highlight one or two periods of your work, but these should be contextualised within your overall experience. CourseNana.COM

  3. Don’t be afraid to reveal your weaknesses. CourseNana.COM

    Writing about your professional insecurities and weaknesses shows examiners how much you’ve developed throughout your course. It also enables you to reflect on theories and methods that might benefit you in future. CourseNana.COM

  4. Devise a plan for development. CourseNana.COM

    Your Reflective Portfolio should testify to your development as a practitioner throughout the duration of your course. However, to write a really strong portfolio you should also demonstrate an action plan for future development. Think about what knowledge and skills might address the professional weaknesses that your reflections reveal, and indicate how you intend to develop these. CourseNana.COM

Mistakes to avoid in writing reflective portfolio: CourseNana.COM

The most common mistake in Reflective Writing is to be either too objective and scholarly, or too emotional and non-critical. Either mistake is equally wrong. Students should aim for a middle ground in their writing, in which they highlight their own personal feelings and reflections but analyse these with reference to the theoretical course material. Another common mistake is not providing enough relevant evidence to support your reflections. Be sure to include supporting evidence like photos, diagram, etc. CourseNana.COM

Finally, be sure to keep your portfolio well organised and professional-looking. It is true that Reflective Portfolios entail a less formal style of writing, but students sometimes believe that this allows for disorganised presentations with jumbled notes, illegible handwriting and poor grammar. Remember that this is still an academic assignment, and all the normal standards of achievement apply! CourseNana.COM

PART C Presentation / Demonstration [4%] CourseNana.COM

Each group will be required to give a 10-12 minutes presentation with the aid of presentation slides and a live demo of their program. The presentation will be judged based on the following criteria: CourseNana.COM

  •   Clarify of presentation / demonstration CourseNana.COM

  •   Flow of presentation / demonstration CourseNana.COM

  •   Audience engagement CourseNana.COM

  •   Teamwork CourseNana.COM

  •   0 marks will be awarded for absentee(s).
    PART D Peer Review Evaluation Form [1%] CourseNana.COM

    The peer-review evaluation provided opportunities for all students to rate their peers in working together in this assignment. The evaluation criteria are as follow: CourseNana.COM

  •   Effort of Contribution CourseNana.COM

  •   Teamwork sprite / effectiveness CourseNana.COM

  •   Participation in Meeting and Discussion CourseNana.COM

    Do ensure you rate each and your peer rationally and fairly as this is a single attempt evaluation. All students must complete this evaluation or will be resulting in 0 marks to be awarded in the assignment. CourseNana.COM

    WHAT TO DO? CourseNana.COM

  1. Form a team of 4 6 students within the same Lab Group. CourseNana.COM

  2. Discuss and understand the requirement of the assignment and defined the parts / component to be implemented. CourseNana.COM

  3. Develop the Program CourseNana.COM

    1. Distribute the task within team member and set the due date for each components CourseNana.COM

    2. Explore and research additional / suitable packages for the program CourseNana.COM

    3. Design, develop and test the component assigned CourseNana.COM

    4. Integrate the components and test the program as a whole. CourseNana.COM

    5. Submit the program with all source code file, and resources to Moodle (by Team Leader only) CourseNana.COM

  1. Prepare and submit individual portfolio in Moodle. (by all) CourseNana.COM

  2. Prepare and conduct the presentation / program demonstration (by all) CourseNana.COM

  3. Complete the peer review evaluation form in Moodle (by all) CourseNana.COM

    WHAT IS TO BE SUBMITTED?
    CourseNana.COM

Deliverables & Submission CourseNana.COM

  1. A zip file (submitted by Team Leader) CourseNana.COM

    1. all source code file (.py) and resources required by the workable program CourseNana.COM

    2. Presentation slide in .ppt/.pptx CourseNana.COM

  2. Individual Portfolio report in MS Word CourseNana.COM

  3. Submission of Peer Review Evaluation (in Moodle) CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
PSB Academy代写,ITGP2008代写,INTRODUCTION TO PROGRAMMING代写,Python代写,tkinter代写,PSB Academy代编,ITGP2008代编,INTRODUCTION TO PROGRAMMING代编,Python代编,tkinter代编,PSB Academy代考,ITGP2008代考,INTRODUCTION TO PROGRAMMING代考,Python代考,tkinter代考,PSB Academyhelp,ITGP2008help,INTRODUCTION TO PROGRAMMINGhelp,Pythonhelp,tkinterhelp,PSB Academy作业代写,ITGP2008作业代写,INTRODUCTION TO PROGRAMMING作业代写,Python作业代写,tkinter作业代写,PSB Academy编程代写,ITGP2008编程代写,INTRODUCTION TO PROGRAMMING编程代写,Python编程代写,tkinter编程代写,PSB Academyprogramming help,ITGP2008programming help,INTRODUCTION TO PROGRAMMINGprogramming help,Pythonprogramming help,tkinterprogramming help,PSB Academyassignment help,ITGP2008assignment help,INTRODUCTION TO PROGRAMMINGassignment help,Pythonassignment help,tkinterassignment help,PSB Academysolution,ITGP2008solution,INTRODUCTION TO PROGRAMMINGsolution,Pythonsolution,tkintersolution,