From 84431ca39814c97cd6c107c80395953761150327 Mon Sep 17 00:00:00 2001 From: s452635 Date: Wed, 14 Apr 2021 12:01:20 +0200 Subject: [PATCH] robotic assets --- mine_models/__init__.py | 0 mine_models/mine.py | 6 +++--- minefield.py | 2 +- project_constants.py | 16 ++++++++++++---- resources/assets/brick_wall.png | Bin 0 -> 1150 bytes .../assets/chain_numbers/chain_number_0.png | Bin 0 -> 84 bytes .../assets/chain_numbers/chain_number_1.png | Bin 0 -> 88 bytes .../assets/chain_numbers/chain_number_10.png | Bin 0 -> 85 bytes .../assets/chain_numbers/chain_number_11.png | Bin 0 -> 91 bytes .../assets/chain_numbers/chain_number_12.png | Bin 0 -> 90 bytes .../assets/chain_numbers/chain_number_13.png | Bin 0 -> 89 bytes .../assets/chain_numbers/chain_number_14.png | Bin 0 -> 89 bytes .../assets/chain_numbers/chain_number_15.png | Bin 0 -> 85 bytes .../assets/chain_numbers/chain_number_2.png | Bin 0 -> 81 bytes .../assets/chain_numbers/chain_number_3.png | Bin 0 -> 80 bytes .../assets/chain_numbers/chain_number_4.png | Bin 0 -> 87 bytes .../assets/chain_numbers/chain_number_5.png | Bin 0 -> 87 bytes .../assets/chain_numbers/chain_number_6.png | Bin 0 -> 86 bytes .../assets/chain_numbers/chain_number_7.png | Bin 0 -> 78 bytes .../assets/chain_numbers/chain_number_8.png | Bin 0 -> 86 bytes .../assets/chain_numbers/chain_number_9.png | Bin 0 -> 88 bytes resources/assets/chained_mine.png | Bin 0 -> 406 bytes resources/assets/explosion_100.gif | Bin 0 -> 6128 bytes .../assets/{ => first assets}/blue_tile.png | Bin .../assets/{ => first assets}/green_tile.png | Bin resources/assets/{ => first assets}/grid.png | Bin .../assets/{ => first assets}/hex_mine.png | Bin .../assets/{ => first assets}/pen_mine.png | Bin resources/assets/{ => first assets}/romb.png | Bin .../assets/{ => first assets}/white_tile.png | Bin resources/assets/mine.png | Bin 0 -> 196 bytes resources/assets/robot_sapper.png | Bin 0 -> 379 bytes resources/assets/time_mine.png | Bin 0 -> 301 bytes resources/assets/time_numbers/number0.png | Bin 0 -> 81 bytes resources/assets/time_numbers/number1.png | Bin 0 -> 90 bytes resources/assets/time_numbers/number2.png | Bin 0 -> 96 bytes resources/assets/time_numbers/number3.png | Bin 0 -> 92 bytes resources/assets/time_numbers/number4.png | Bin 0 -> 87 bytes resources/assets/time_numbers/number5.png | Bin 0 -> 84 bytes resources/assets/time_numbers/number6.png | Bin 0 -> 91 bytes resources/assets/time_numbers/number7.png | Bin 0 -> 77 bytes resources/assets/time_numbers/number8.png | Bin 0 -> 95 bytes resources/assets/time_numbers/number9.png | Bin 0 -> 87 bytes 43 files changed, 16 insertions(+), 8 deletions(-) delete mode 100644 mine_models/__init__.py create mode 100644 resources/assets/brick_wall.png create mode 100644 resources/assets/chain_numbers/chain_number_0.png create mode 100644 resources/assets/chain_numbers/chain_number_1.png create mode 100644 resources/assets/chain_numbers/chain_number_10.png create mode 100644 resources/assets/chain_numbers/chain_number_11.png create mode 100644 resources/assets/chain_numbers/chain_number_12.png create mode 100644 resources/assets/chain_numbers/chain_number_13.png create mode 100644 resources/assets/chain_numbers/chain_number_14.png create mode 100644 resources/assets/chain_numbers/chain_number_15.png create mode 100644 resources/assets/chain_numbers/chain_number_2.png create mode 100644 resources/assets/chain_numbers/chain_number_3.png create mode 100644 resources/assets/chain_numbers/chain_number_4.png create mode 100644 resources/assets/chain_numbers/chain_number_5.png create mode 100644 resources/assets/chain_numbers/chain_number_6.png create mode 100644 resources/assets/chain_numbers/chain_number_7.png create mode 100644 resources/assets/chain_numbers/chain_number_8.png create mode 100644 resources/assets/chain_numbers/chain_number_9.png create mode 100644 resources/assets/chained_mine.png create mode 100644 resources/assets/explosion_100.gif rename resources/assets/{ => first assets}/blue_tile.png (100%) rename resources/assets/{ => first assets}/green_tile.png (100%) rename resources/assets/{ => first assets}/grid.png (100%) rename resources/assets/{ => first assets}/hex_mine.png (100%) rename resources/assets/{ => first assets}/pen_mine.png (100%) rename resources/assets/{ => first assets}/romb.png (100%) rename resources/assets/{ => first assets}/white_tile.png (100%) create mode 100644 resources/assets/mine.png create mode 100644 resources/assets/robot_sapper.png create mode 100644 resources/assets/time_mine.png create mode 100644 resources/assets/time_numbers/number0.png create mode 100644 resources/assets/time_numbers/number1.png create mode 100644 resources/assets/time_numbers/number2.png create mode 100644 resources/assets/time_numbers/number3.png create mode 100644 resources/assets/time_numbers/number4.png create mode 100644 resources/assets/time_numbers/number5.png create mode 100644 resources/assets/time_numbers/number6.png create mode 100644 resources/assets/time_numbers/number7.png create mode 100644 resources/assets/time_numbers/number8.png create mode 100644 resources/assets/time_numbers/number9.png diff --git a/mine_models/__init__.py b/mine_models/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/mine_models/mine.py b/mine_models/mine.py index 7e9dcb3..82071c4 100644 --- a/mine_models/mine.py +++ b/mine_models/mine.py @@ -1,11 +1,11 @@ -# module for abstarct classes +# module for abstract classes from abc import ABC, abstractmethod # type hints from typing import Tuple -# Mine cannot be instatinated -# all abstarct methods must be implemented in derived classes +# Mine cannot be instantiated +# all abstract methods must be implemented in derived classes class Mine(ABC): diff --git a/minefield.py b/minefield.py index 4b431dc..b994ee7 100644 --- a/minefield.py +++ b/minefield.py @@ -1,5 +1,5 @@ import json -import ctypes # +import ctypes import agent as ag import project_constants as const import tile as tl diff --git a/project_constants.py b/project_constants.py index 49d987c..828a2f7 100644 --- a/project_constants.py +++ b/project_constants.py @@ -19,8 +19,8 @@ V_FPS = 60 V_TILE_SIZE = 60 V_GRID_VER_TILES = V_GRID_HOR_TILES = 10 # vertical (number of rows), horizontal (number of columns) V_SCREEN_PADDING = 10 -V_MINEFIELD_HEIGHT = V_TILE_SIZE * V_GRID_VER_TILES -V_MINEFIELD_WIDTH = V_TILE_SIZE * V_GRID_HOR_TILES +V_WINDOW_HEIGHT = V_TILE_SIZE * V_GRID_VER_TILES +V_WINDOW_WIDTH = V_TILE_SIZE * V_GRID_HOR_TILES SCREEN = pygame.display.set_mode( ( @@ -71,6 +71,7 @@ STRUCT_MINE_ATTRIBUTES = { # used for random mine generation # int - integral number # (int, int) - index "row,column" where row=int and column=int (used exclusively for chained mine) + STRUCT_MINE_ATTRIBUTE_TYPES = { "standard": [], "chained": [], @@ -80,19 +81,26 @@ STRUCT_MINE_ATTRIBUTE_TYPES = { # ============== # # ==== MAPS ==== # # ============== # + MAP_RANDOM_10x10 = os.path.join("resources", "minefields", "secondmap.json") + # ============== # # === ASSETS === # # ============== # ASSET_BACKGROUND = pygame.transform.scale( pygame.image.load(os.path.join(ASSETS_DIR, "new_grid.png")), - (V_MINEFIELD_WIDTH, V_MINEFIELD_WIDTH) + (V_WINDOW_WIDTH, V_WINDOW_WIDTH) ) ASSET_SAPPER = pygame.transform.scale( - pygame.image.load(os.path.join(ASSETS_DIR, "sapper.png")), + pygame.image.load(os.path.join(ASSETS_DIR, "robot_sapper.png")), + (V_TILE_SIZE, V_TILE_SIZE) +) + +ASSET_WALL = pygame.transform.scale( + pygame.image.load(os.path.join(ASSETS_DIR, "brick_wall.png")), (V_TILE_SIZE, V_TILE_SIZE) ) diff --git a/resources/assets/brick_wall.png b/resources/assets/brick_wall.png new file mode 100644 index 0000000000000000000000000000000000000000..6800542ad132545b3d6aca5939d0fddccf657523 GIT binary patch literal 1150 zcmV-^1cCdBP)51N5PqG{_8B8k(4hnCdOF8jzMk~ z9c;)$)j~Kn#p1%?=Ggy`M&xIFDc18m`&Lehk2m|Ydf(3M%r~ zb7Qc)hkvd2i3sIs7v*Ue`ANswM_ypJe z&DtuqT+6)|!Nyu#_cyEedv;b4iu_Sg}}aqN;wLlQ$Loj~?{$Zv5R*B}YX%x=#}Xyu*e zCmp0mZOp!IIiyEzw--ebqy%T%2bgUi)UL&r(j=l<(h7_Ya~#J=kJ?zB@413so$mqf zUb;FYA}27b_QXN1XWIug5fWluHRW_#5eqppH%M3Kdq|JkP6&tyWozUP*B)xfJL;i9@Z2B^43eI~hvyZNp27QP)tUvS^74GIp}px*8_e7&FJIN8!8&CGZll?}xi3oRx26u<%p)Fc#;oIxlo^Fd`>%>_s z7Ra)!(H8Yt%nYN$Ctm1U^=mWT>4S(|MBYDp$caC`?c(=uI=H&Ja?#PHnV)o=HWDSB{4v0%*Dvt#`ySFafh(QIh6WLj8#R%dr7^g%~x6-||NL(K8HwHZIrHnq>W0}XD$3;=NQ2V6P zLzx-N;Z{X{yx)*WKfGEpnYs26VEp;YPqfF>$5$dfmuVFg6h%?{pOMD>*c4H=MwO@P zGiC05vdFcBQhz&1IcbepwI>y^o*YCt^n_up#f>8J3H=W_>EBu~{ExPO0YROc()T}8 Q2LJ#707*qoM6N<$g6TdkumAu6 literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_0.png b/resources/assets/chain_numbers/chain_number_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ac9225cd1fdb935a61200b6618e97ac94f689b GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QX-^l&5RRG29zH&Q_z&}Rc6R=k gl#r0{czVEqp+Q3Su0(xVI#3ydr>mdKI;Vst0I@O@8vp!3H9qs_+0Qc~2L|5RRG22|(cC!3H9qs_+0Q8BZ6-5RRG29zH&Q_z&}Rc6R=k hl#r0vP|Tst%&@&j_U^30^ant744$rjF6*2UngGWP6yX2> literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_11.png b/resources/assets/chain_numbers/chain_number_11.png new file mode 100644 index 0000000000000000000000000000000000000000..7e4b64700c2c46963488d3a1182cc724e3156186 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QB~KT}5RRG29zH&Q=Fgb%V}2tL kFdhSO`%fNR%cI7?@Ks)NW?*QeHc&N#r>mdKI;Vst0JlyVLjV8( literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_12.png b/resources/assets/chain_numbers/chain_number_12.png new file mode 100644 index 0000000000000000000000000000000000000000..6e8702e99afb9ed32ad24ea2005160da4db77bf2 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QMNb#U5RRG22|(cC!3H9qs_+0Q1y2{p5RRG29zH&Q=Fgb%V}2tL iFdhSO{khoH7#QA6mz-&L&@dgSmci52&t;ucLK6UCm=}Wp literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_14.png b/resources/assets/chain_numbers/chain_number_14.png new file mode 100644 index 0000000000000000000000000000000000000000..c5554f3d321548fc26686c2a15e0367509ad3f0b GIT binary patch literal 89 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0Q1y2{p5RRG29zH&Q_z&}Rc6R=k mOkikc7C)dhdB%(%@(go3#mjq=A{GGEGI+ZBxvX!3H9qs_+0Q8BZ6-5RRG29zH&Q_z&}Rc6R=k hOkikc7C*3(hoQ$%*m%}!1#zG{22WQ%mvv4FO#r={6XE~> literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_2.png b/resources/assets/chain_numbers/chain_number_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0491189ec6f87e96b4457bad4b89c28e4521a4 GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0Q2~QWt5RRG29zH&Q_z&|KG@Nt{ eY*XYt%&^^6a^~9TkJEu_7(8A5T-G@yGywp1d=t6= literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_3.png b/resources/assets/chain_numbers/chain_number_3.png new file mode 100644 index 0000000000000000000000000000000000000000..33bbfaefbe0bed542fd1c4f7c19815b1771c83d1 GIT binary patch literal 80 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QaZeY=5RRG29zH&Q_z&|KG@LxR dmM4;pVVSAqOy0Xsn}JFgJYD@<);T3K0RUnz6Dj}z literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_4.png b/resources/assets/chain_numbers/chain_number_4.png new file mode 100644 index 0000000000000000000000000000000000000000..980ed18338f8d191fb8b02db68387a04327524f3 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QIZqeI5RRG29zH&Q&NDDaSax=H k{+ARI7XE+OAnz%|wHw05`_G<>1gd24boFyt=akR{02-JVTmS$7 literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_5.png b/resources/assets/chain_numbers/chain_number_5.png new file mode 100644 index 0000000000000000000000000000000000000000..730ca967b9a60a8bae1c682608abb5573a798ce2 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QIZqeI5RRG29zH&Q_z&}Rc6R=k kOkikc4sTn;6v@VLB2;qb^grh}164A3y85}Sb4q9e00RvcT>t<8 literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_6.png b/resources/assets/chain_numbers/chain_number_6.png new file mode 100644 index 0000000000000000000000000000000000000000..9bf756db91e96c0e94b324f13d8b94d3ab379c61 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QSx*!3H9qs_+0QQBN1g5RRG29zH&Q_z&|KG|Y95 akYq4>C~REwDEu%`0fVQjpUXO@geCwgOcBih literal 0 HcmV?d00001 diff --git a/resources/assets/chain_numbers/chain_number_8.png b/resources/assets/chain_numbers/chain_number_8.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8b7a6dc1f73e4dd8f45606ec688899d36eb9bc GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y>!3H9qs_+0QSx*>5@x8g$$mqelF{r5}E+!3H9qs_+0Qc~2L|5RRG29zH&Q_z&}Rc6R=k ll#r0vQ2gLj0)sOf!(=bnyJy=svjCMcc)I$ztaD0e0stH%7E}NL literal 0 HcmV?d00001 diff --git a/resources/assets/chained_mine.png b/resources/assets/chained_mine.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5abbca33114806400eae36572956bc5aeeabc7 GIT binary patch literal 406 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 literal 0 HcmV?d00001 diff --git a/resources/assets/blue_tile.png b/resources/assets/first assets/blue_tile.png similarity index 100% rename from resources/assets/blue_tile.png rename to resources/assets/first assets/blue_tile.png diff --git a/resources/assets/green_tile.png b/resources/assets/first assets/green_tile.png similarity index 100% rename from resources/assets/green_tile.png rename to resources/assets/first assets/green_tile.png diff --git a/resources/assets/grid.png b/resources/assets/first assets/grid.png similarity index 100% rename from resources/assets/grid.png rename to resources/assets/first assets/grid.png diff --git a/resources/assets/hex_mine.png b/resources/assets/first assets/hex_mine.png similarity index 100% rename from resources/assets/hex_mine.png rename to resources/assets/first assets/hex_mine.png diff --git a/resources/assets/pen_mine.png b/resources/assets/first assets/pen_mine.png similarity index 100% rename from resources/assets/pen_mine.png rename to resources/assets/first assets/pen_mine.png diff --git a/resources/assets/romb.png b/resources/assets/first assets/romb.png similarity index 100% rename from resources/assets/romb.png rename to resources/assets/first assets/romb.png diff --git a/resources/assets/white_tile.png b/resources/assets/first assets/white_tile.png similarity index 100% rename from resources/assets/white_tile.png rename to resources/assets/first assets/white_tile.png diff --git a/resources/assets/mine.png b/resources/assets/mine.png new file mode 100644 index 0000000000000000000000000000000000000000..1a42234e8835b59be71e0fc806b7ad8faefdf82d GIT binary patch literal 196 zcmV;#06YJQP)HrpyJ^%_n z4Umeua25*VO!SJUrZuOIK-JVp+WX>omD-D0fhdEP)! zF^U2~5JkO8BWPwI!YB&{4KiThBpaC(7;jdISJ*quWj5X$>>$Rz^qyWLkP*&8g5ptp&G2=E~@dg%q$^nx|t4aQk?=L9N%lOSv7(Yrkl`UH`NF~tQK-uEqYK_)hRfFQ~zm~0a6Nn z+5pLc-3N#snHroMnJ%*$8`vFBH}LLw%3c!g*WzrszJX`U_1|2J9e6vR%62{-1e;Xr z@rdvts9ALmjFHQmRCOcYKO3p)Mn1pxcGVWJ>#w>bqg8he^fupF2z;IA>OnmZfW2zD ZuPa;QcPd|uuSfs@002ovPDHLkV1gR7pZfp+ literal 0 HcmV?d00001 diff --git a/resources/assets/time_mine.png b/resources/assets/time_mine.png new file mode 100644 index 0000000000000000000000000000000000000000..61d90e496b4885a9cc3df49f2404aec5fd2320f2 GIT binary patch literal 301 zcmV+|0n+}7P)_8H6p=;Dgg zKGWV}Sg<3o&3xHd^`|`-JHwF#>C)f(D&l~O89ZJ6T-G@yGywp!T^Wl2 literal 0 HcmV?d00001 diff --git a/resources/assets/time_numbers/number2.png b/resources/assets/time_numbers/number2.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e4b815c6c9dbb792faa9f899bb3bcea59683b1 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDRoa5#}JO0$q6$i{h6QW^{Ji> s1T5I~7=&FW9=+1MNX+@>lqdfgVucmMc{HCo0ktrAy85}Sb4q9e01JE>fdBvi literal 0 HcmV?d00001 diff --git a/resources/assets/time_numbers/number3.png b/resources/assets/time_numbers/number3.png new file mode 100644 index 0000000000000000000000000000000000000000..8a537098311f551065152bf6791d6ee0f9c5d698 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDP>O=#}JO0$q6$i{h6QW^{Ji> n1T5I~7=&G>Dh5h2Gcz*?iz@pjA8DHfRLgTe~DWM4fLM#+X literal 0 HcmV?d00001 diff --git a/resources/assets/time_numbers/number4.png b/resources/assets/time_numbers/number4.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc2984e1d9e3f980d1282ae133fcdb28991ff5a GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDLGFU#}JO0$q6$i{h80mmoP{3 k literal 0 HcmV?d00001 diff --git a/resources/assets/time_numbers/number7.png b/resources/assets/time_numbers/number7.png new file mode 100644 index 0000000000000000000000000000000000000000..0e238d63a400acfc07eac3b44468998914e50e42 GIT binary patch literal 77 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDG^T>#}JO0$q6$i{gLkrv@~$w a o1T4})tQ{J2nw6Yej8udf?^vo^p1FVdQ&MBb@0Pl+!#{d8T literal 0 HcmV?d00001 diff --git a/resources/assets/time_numbers/number9.png b/resources/assets/time_numbers/number9.png new file mode 100644 index 0000000000000000000000000000000000000000..3b47578115bddafe2b81d6840ac70a322d19b8a0 GIT binary patch literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^%s|Y+!3HF4-n-TSDLGFU#}JO0$q6$i{gLl8wB+I8 lu}FC!BXMADPh%q^L-am%%g?jaw1FxaJYD@<);T3K0RS7B72N;; literal 0 HcmV?d00001