This is a simple programming-contest sort of exercise. You "need" only two classes. + a Team - knows its name (a String of at most 30 characters) * This should be passed when the Team is created; the rest of the program should NOT call (Team new) and should NEVER see an un#initialize-d Team instance. - knows the number of matches it has won, drawn, and lost (non-negative Integers, initially zero). - can report what it knows - can report the total match count and point score - can be told that it has won, drawn, or lost another match. + a Tournament - has a collection of Teams that it knows by name (a Dictionary) - and an sequence, initially undefined. - can read a set of match triples from a stream, forwarding the information about wins, draws, and losses to Team instances, which are created when a new name is found, - can convert the values of the teams collection to a sorted collection that is sorted by a somewhat vague order, I chose - descending on point score, then - descending on wins, then - ascending on losses, then - ascending on name. - can write the sorted teams to a stream in tabular form. ! Has a class method that does (self new) read: <<source>>; sort; write: <<destination>> Frankly, formatting the output was the hardest part. On Mon, 25 Mar 2019 at 10:00, Roelof Wobben <r.wobben@home.nl> wrote:
hello,
I think I have to reconsider my classes and reponsibilities
Right now Im thinking of this
Team : responsinble for team properties Ranking : reponsibilities for checking if a team is in the ranking and updating the team statics Tournament : parsing the ganes and call the right functions on Ranking
Can this work or am In making to much classes
Roelof
Op 24-3-2019 om 19:02 schreef Roelof Wobben:
Hello,
I tried another way to solve this but the code is a mess now.
I can update a record but the record is not updated. And I have to do a lot of the same steps for every team.
Anyone who can help me to get out of this mess.
Code so far: https://github.com/RoelofWobben/tournament
Roelof