From 19bc5d605aefc2eeef17d794e510843b30eacdf7 Mon Sep 17 00:00:00 2001 From: t-moe Date: Sat, 25 Jun 2016 19:49:39 +0200 Subject: [PATCH] Updated class diagramm and updated readme --- README.md | 14 ++++++++++++-- doc/cd2.bmp | Bin 2139486 -> 1810566 bytes 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2c56687..8b8918f 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ This page should be viewed on [Github](https://github.com/id101010/7not7) To make things harder each round n blocks of random colors get thrown upon the field and the number n increases with each level. You can choose the field size to be either 7x7, 8x8, 9x9 or 10x10. -![Moving Blocks](https://github.com/id101010/7not7/blob/master/doc/movingBlocks.png) +![Moving Blocks](doc/movingBlocks.png) ### How to play @@ -35,7 +35,17 @@ Additionally you earn FreeMoves by completing combos. FreeMoves enable you to be A combo is a game move in which you clear more than just one distinct line in one move. -![Combo Move](https://github.com/id101010/7not7/blob/master/doc/gettingCombo.png) +![Combo Move](doc/gettingCombo.png) + +### Class Overview + +Here's an overview of our main classes: + +![Main Classes](doc/cd2.bmp) + +The game object also exposes an UpdateListener Interface which is implemented by the Window and the NextMovesCanvas class: + +![Listener relations](doc/cd3.bmp) ### Used software diff --git a/doc/cd2.bmp b/doc/cd2.bmp index 8b0e652cd6b2095fa25c348c084615ad28b0667b..9d538bc7731fa99291d799399ee05dd99717f4de 100644 GIT binary patch delta 32295 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 Q$ZHF}`^QEm@T~*>KX*dwdjJ3c delta 31578 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