From 6bc7a65d9498627c10e778c97351af097485b984 Mon Sep 17 00:00:00 2001 From: s444417 Date: Fri, 3 Apr 2020 23:54:29 +0200 Subject: [PATCH] =?UTF-8?q?dodano=20manager=20rysuj=C4=85cy=20wszystkie=20?= =?UTF-8?q?obiekty,=20kelner=20rozpoznaje=20kolizje=20ze=20sto=C5=82ami?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kelner/.idea/workspace.xml | 25 ++++++++- kelner/images/20x20grid.png | Bin 90156 -> 0 bytes kelner/images/bigWaiter.jpg | Bin 160126 -> 0 bytes kelner/images/waiter.png | Bin 2537 -> 18936 bytes kelner/main.py | 37 ++++++++++--- kelner/src/components/Drawable.py | 52 ++++++++++++++++++ kelner/src/components/GridBoard.py | 5 +- kelner/src/components/Table.py | 14 +++++ kelner/src/components/Waiter.py | 63 +++++----------------- kelner/src/managers/DrawableCollection.py | 43 +++++++++++++++ 10 files changed, 179 insertions(+), 60 deletions(-) delete mode 100644 kelner/images/20x20grid.png delete mode 100644 kelner/images/bigWaiter.jpg create mode 100644 kelner/src/components/Drawable.py create mode 100644 kelner/src/components/Table.py create mode 100644 kelner/src/managers/DrawableCollection.py diff --git a/kelner/.idea/workspace.xml b/kelner/.idea/workspace.xml index fb4144a..0a79d84 100644 --- a/kelner/.idea/workspace.xml +++ b/kelner/.idea/workspace.xml @@ -2,7 +2,16 @@ + + + + + + + + + @@ -138,6 +159,6 @@ - + \ No newline at end of file diff --git a/kelner/images/20x20grid.png b/kelner/images/20x20grid.png deleted file mode 100644 index a6abc0dab1520ca98a2dbe68b986207895efbe85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90156 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