首页 > > 详细

Python辅导:CSSE1001 LoLo解析Python语言程序

LoLo,GUI。
 

Introduction

This assignment will use concepts taught throughout the course to extend the functionality of the provided tile based game. This assignment will ask you to extend the game with basic, intermediate and advanced features. For CSSE7030 students there will also be an open-ended component.

The assignment will focus on the concept of Graphical User Interfaces (GUIs). You will be requested to implement extra functionality to the base game including extending the GUI for a better game experience.

Note: There will not be a practical interview for the third assignment.

Assignment Tasks

Task Breakdown

CSSE1001 students will be marked out of 20 and CSSE7030 students will be marked out of 25 based on the following breakdown.

Mark Breakdown

For each task, marks will be awarded proportionately according to the following breakdown.

Code Quality

Code is readable. Appropriate and meaningful identier names have been used. Simple and clear code structure. Repeated code has been avoided.

Code has been simplied where appropriate and is not overly convoluted.

Documentation

Documented clearly and concisely, without excessive or extraneous comments.

Functionality

Components are functional, without major bugs or unhandled exceptions.

Download the Files

Before beginning work on the assignment you must download a3_files.zip provided from the course website.

Inside a3_files.zip, there should be a file called a3.py. This is the file where you will write your assignment. The other files are support files. These must not be edited. Their purpose is explained below.

Support Code

You have been supplied with a large amount of support code to help you complete this assignment. To begin the assignment, you do not need to understand much of this code. As you progress through the tasks, the degree to which you should understand this code will increase.

File Description Understanding
a3.py Main assignment file. Task 1
play_game.py Plays a game of Lolo. Task 1
game_*.py Concrete modelling amp; app classes for each game mode. Task 1: Simple Task 3: Solid
colours.py Mappings of colour names to codes. Task 1
highscores.py High score management. Task 2
view.py GridView widget. Task 2
model.py Abstract modelling classes. Task 3
tile_generators.py Concrete tile generator classes. Task 3
modules/ Third-party libraries. Task 3

*Note: Ideally, each game type would be in a subdirectory called game, without the game_prefix. However, this would add complixity for managing this, so the prefix was chosen instead for simplicity.

Event Listeners

Note: In this section, the word function is used to mean anything that is able to be called like a function, such as a method, a lambda, etc.

The *Game classes (AbstractGame and its subclasses) and the GridView class follow a pattern which allows you to attach a function to be called w⁡⁥⁥㕮╴†⁧⁲††⁲⁦⁡⤠㱴⽯㹲ഠ੬⁩⁳⁴⁥㱮㹧䤠⁥‾‼⁳⠠⹡⹴⁥㕲Ɱ†ㅩびⰠ⁣㉡ぬⱬ⁥㑤〠ⱴ⁨⹶⥥㱮⽴㹭൩ੴ⁴⁥⁲†㱰㹴⸬㰠⽡㸠൩ੳ㰠⽡㹩൭ੰ㱬㸠൯੦㰠㹨䉥䱳䅥⹰†⁨⁓⁢⁥†⁡‼⡩⤠Ⱪ⁳⁵⁥䈠䱩䅡⹡⹴㱯⽷㸠ൔ੫㩲†䙨⁤Ɱ⁤⁦†⁳‬⁩⁴⁧⁲ ⁔⁥⁨⁧⸠㱡⽮㸠൧ੲ㱩⽤㹴ഠ੡㱲㌠⁵㵦≵䭬⵰≥㸠䭡㱳⽫㌱㸠൹੯㱵㹳䥨⁳⁲⁧†㩥㱮⽴㹴൯ਠ㱡㹲൯ੰ⁲⁩⁡⁴㱥㸠⁴⭥†㩨⁥⁥⹡㱤⽵㹥ഠੳ⁴⁵⁤⁥㱮㸠⁥⭮⁣㩵⁲䅡⁤⸠㱯⽷㹥൶੥㱮⽴㸼യੰ㰾㸊㩩⁤䤽ⰱ‭⁩•⁡†⁳䵩⁇‍⁰⸠⁰䥵⁰⁥⁴⁴⁥⁥⁥⁡䵳Ⱐ⁧⁲⁥⁥⁇⸠㱌⽯㹯ഠ੧㱡㉥‮㵯≵ⴠ㉣⵨䥯ⴠ䙯≵㹰⁤㈠⁧䥡⁲䘬㰳⼬㉌㹵ൣ੫㱹㸷
⁔†⁳⁥⁡†⁢⁣⁦䝯䤠⁴⁳†⁢⁩⁴⁤⁡⹨㱥⼠㹳൥ੲ㰠㹮䥴†⁴†䝢䥬Ɐ⁷⁰⁩⁩‾⁳″⁰††⸠㱯⽦㹴൨੩㱳㍴⁡㴠≩䅳ⴠ⵮䝴≣㹬䅡ⵦ⁢䝡㰠⽇㍉㸮ഠ੔㱨㹳䤠Ɱ⁡䅭䜠Ⱐ⁳†⁦⁂䉡䱯䅰⸠⁔⁡⁣⁳⁤†⁴⁣†⁰⸠㱯⽦㹡൮੩㱭㸍ഊ਼㱰㹔䡨㩩⁴⁦⁥⁩⁵††⁡⁰⁴›⁧ ⱟ⁽†⁴⁷†⹥㱮⽴㹴ൡੳ㱫⽳㹁൳ਠ㱴㹥⁳†⁲⁤⁳⁵⁳⁥⹬⁡䙳⁷⁥⁤Ⱳ⁤⁰″•‭⁲⁵⁲ⰾ‍‾⁩†⁡⁲⁨⁩⹩㱴⽳㹦൲੯㱭㸠ൔ੨㱩㸠䡣㩳†䙭⁴⁷ⱬ⁳††⁦⁴⁡♮㬼⁰⸊†䄠䝧♟㭮†
⁲††⁡⁦⁨⁧⡡⹥⹭⁨⁵⁥⥩Ɱ⁧⁁⁲⁥⹥‮䌼†⁲†⁣⁽⁲‍††⁤⁴⁥⸠⁴⁰䉬䱲䅱⸻⹮㱧‮⼼㸯൬੩㨯⁵䉬⁎⁲⁣†ⱶ⁥⁷⁥⁳⁨⁥ⱴ ⁥⁥⁤⹥※ ⁣⁣⁥〩⸮㰼⼯㸾഍ਊ㰼⽨㸢ാੌ㱯㍯‼㴳∾䰍ⵦ≣㹬䱡⁥㱌⽯㍯㸬ഠ੷㱨㹣⁦‮⁡†⁳⁡⁳⁲⁩†‬⁩⁥⸠⁳䥥⁥‬⁤⁨‮†⁴⸠⁴⁥⁳⁢  ⁡⁥Ⱳ⁡⁸⹬㱥⽸㹴൹ਠ㱯㸠⁧㩸㱴⽲㸠൭੡㱲㸠൷੩†⁢㱥㹷䱡㩤‮‼†⁩ㅬ⁥⠠⁵㐼ⸯ㍨⸳‾䰍⤾⹉㱭⽰㹭൥੮⁴†⁡†㱭㹵䈠㩩⁴⁆䝩Ɑ⁥䕮⁔䝨Ⱪ䡥⡤⁦⁳⤊⸼⁵†⁩⁥⁥⁡㙲⹴⁳†㍧⁡䅭‍䘊‾⁴㜺⸠⁅ⴠ䕴⁰䍰䕣㝡ぴ㍩は⹩㰾⼍㸯൵੬‾‍ ‼㱰㹯⁏䕮㨠⁏䙓‬⁵⁰⹮㰠⽴㸠൧੬⁢⁡㰠㹮䅵⁲⁦䜠㨠⁳ †⁤⁡⡬‾㕄⹩ㅡ⹬䅧ⴳ䝰⁥⥥⸠㱦⽯㹯൷੩㱮⽧㹩ൡ੬㱯㌠⁢㵥≳䠺ⴾⴾ∼㹬䡩⁶⁁㱩⽯㌺㸠൉੦㰠㹨⁳⁴⁳⁴⁡⁩⁡†⁡⁨†⁥†⸠⁡䥮⁡⁩⁡‾†⁇⁥⁥†Ɑ⁥⁷⁤⡦⁲⁧⁵⁴⥳⹣㱯⽲㸮഼ਯ㱬㸾  ⁤⁴⁴‾⁧⁩  ⁗†Ɱ⁩⁢⁴⁩⹩㱶⽥㹡൮੤㰠㹨⁥㩬㱥⼬㹩൮ੳ㱴㹤ഠ੯⁦†⁢⁥㱩㸠䉪⁥㨠⁴䑨⁩Ⱪⱴ†⁵⁤⁲⁩†⁵⁧⡨㕧⸮ㄼⸯ⁰䄾⵰⁴䝨⁩⥮⹧㰠⽢㹴൯੮†⁢⁥㱯㹴⁲䱩㩮†‬⁴†⁴⁳⁤⁧♥㭴⁩⁢⁴†††⁨†⹮⁧⁩⁩⁳ⵤ⁡⁤⵮⁧㱴⽹㹳ഠ੡㱣⽴㹥ബਠ㱴㉥†㵴≴⵳㍱⵵䅯ⴠ䙳≮㹤⁥㌠⁴䅨⁨䙥㱉⽴㉳㹨൯ੵ㱬㌠⁡㵯∠䵩⵴䝨⵵䵭≯㹦䴠䝧⁥䴠㰠⽨㍳㸠൲੥㱭㹩 ⁁Ɫ⁥䝧†䵡†⁤⁣䝥⸠⁩Ⱞ†⁹⁴⁴⁥⁳⁤⁧††⹥䥥⁴⁩⁶♴㭷⁹†⁩⁥Ɱ⁧⁳⁳ ‼†⸾㱆⽩㹥൤ਠ㱮㹭†‮⁶⁲⁵⁳ⰼ⁡⁩  Ⰰ      ⸀ 䤀               ⸀          ⸀ 䘀   Ⰰ 䄀䜀    ⸀㰀⼀㸀ഀ਀㰀㸀䴀  䜀           ⸀㰀⼀㸀ഀ਀㰀㸀䤀Ⰰ           ⠀Ⰰ 䴀 ㄀㌀Ⰰ 䰀 㜀Ⰰ ⤀⸀ 䄀         ⠀ 㘀⸀㈀⸀  䜀 䴀  㜀⸀ ⴀ䔀 䌀䔀㜀 ㌀   ⤀⸀㰀⼀㸀ഀ਀㰀㌀ 㴀∀ⴀ䜀ⴀ䴀∀㸀 䜀 䴀㰀⼀㌀㸀ഀ਀㰀㸀䄀           Ⰰ           ⸀          Ⰰ            ⸀㰀⼀㸀ഀ਀㰀㸀 ☀㬀          ⸀ 䘀   Ⰰ                   ⸀   Ⰰ     Ⰰ            ⸀㰀⼀㸀ഀ਀㰀㸀        ⸀                ⸀㰀⼀㸀ഀ਀㰀㸀           䨀     ⸀㰀⼀㸀ഀ਀㰀㈀ 㴀∀ⴀ䔀ⴀ䌀䔀㜀 ㌀ ⴀ∀㸀ⴀ䔀 䌀䔀㜀 ㌀  㰀⼀㈀㸀ഀ਀㰀㸀      䌀䔀㜀 ㌀  ⸀ 䌀䔀㄀  ㄀       Ⰰ         ⸀㰀⼀㸀ഀ਀㰀㸀    ⸀ 䤀            ⸀ 䴀              ⸀ 䔀                   ⸀㰀⼀㸀ഀ਀㰀㸀              ⸀㰀⼀㸀ഀ਀㰀㸀      䐀䘀         Ⰰ  ⸀⸀      䐀䘀 㬀          ⠀  ⸀  ⸀Ⰰ  ⤀⸀                Ⰰ       ⸀ 䘀       Ⰰ      㨀㰀⼀㸀ഀ਀㰀㸀䤀        㨀㰀⼀㸀ഀ਀㰀㸀㰀㸀  ഀ਀㰀⼀㸀㰀⼀㸀ഀ਀㰀㸀䤀             ⴀ  ⸀㰀⼀㸀ഀ਀㰀㌀ 㴀∀∀㸀㰀⼀㌀㸀ഀ਀㰀㸀ഀ਀    㰀㸀    㰀⼀㸀ഀ਀    㰀㸀䈀 ⼀ 㰀⼀㸀ഀ਀    㰀㸀䄀   㰀⼀㸀ഀ਀    㰀㸀 㰀⼀㸀ഀ਀    㰀㸀䴀 ⠀  ⤀㰀⼀㸀ഀ਀㰀⼀㸀

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!