pygamejr 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. pygamejr-0.0.1/.idea/.gitignore +8 -0
  2. pygamejr-0.0.1/.idea/inspectionProfiles/profiles_settings.xml +6 -0
  3. pygamejr-0.0.1/.idea/misc.xml +7 -0
  4. pygamejr-0.0.1/.idea/modules.xml +8 -0
  5. pygamejr-0.0.1/.idea/pygamejr.iml +11 -0
  6. pygamejr-0.0.1/.idea/vcs.xml +6 -0
  7. pygamejr-0.0.1/.idea/workspace.xml +259 -0
  8. pygamejr-0.0.1/LICENSE +0 -0
  9. pygamejr-0.0.1/PKG-INFO +12 -0
  10. pygamejr-0.0.1/README.md +0 -0
  11. pygamejr-0.0.1/demo/game0.py +12 -0
  12. pygamejr-0.0.1/demo/game_position.py +31 -0
  13. pygamejr-0.0.1/pyproject.toml +23 -0
  14. pygamejr-0.0.1/src/pygamejr/__init__.py +14 -0
  15. pygamejr-0.0.1/src/pygamejr/base.py +36 -0
  16. pygamejr-0.0.1/src/pygamejr/resources/__init__.py +1 -0
  17. pygamejr-0.0.1/src/pygamejr/resources/image.py +71 -0
  18. pygamejr-0.0.1/src/pygamejr/resources/images/License.txt +17 -0
  19. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/bee.png +0 -0
  20. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/fishGreen.png +0 -0
  21. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/fishPink.png +0 -0
  22. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/fly.png +0 -0
  23. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/frog.png +0 -0
  24. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/frog_move.png +0 -0
  25. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/ladybug.png +0 -0
  26. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/mouse.png +0 -0
  27. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/saw.png +0 -0
  28. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/sawHalf.png +0 -0
  29. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/slimeBlock.png +0 -0
  30. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/slimeBlue.png +0 -0
  31. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/slimeBlue_move.png +0 -0
  32. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/slimeGreen.png +0 -0
  33. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/slimePurple.png +0 -0
  34. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/wormGreen.png +0 -0
  35. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/wormGreen_dead.png +0 -0
  36. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/wormGreen_move.png +0 -0
  37. pygamejr-0.0.1/src/pygamejr/resources/images/enemies/wormPink.png +0 -0
  38. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinBronze.png +0 -0
  39. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinGold.png +0 -0
  40. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinGold_ll.png +0 -0
  41. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinGold_lr.png +0 -0
  42. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinGold_ul.png +0 -0
  43. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinGold_ur.png +0 -0
  44. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinSilver.png +0 -0
  45. pygamejr-0.0.1/src/pygamejr/resources/images/items/coinSilver_test.png +0 -0
  46. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagGreen1.png +0 -0
  47. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagGreen2.png +0 -0
  48. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagGreen_down.png +0 -0
  49. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagRed1.png +0 -0
  50. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagRed2.png +0 -0
  51. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagRed_down.png +0 -0
  52. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagYellow1.png +0 -0
  53. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagYellow2.png +0 -0
  54. pygamejr-0.0.1/src/pygamejr/resources/images/items/flagYellow_down.png +0 -0
  55. pygamejr-0.0.1/src/pygamejr/resources/images/items/gemBlue.png +0 -0
  56. pygamejr-0.0.1/src/pygamejr/resources/images/items/gemGreen.png +0 -0
  57. pygamejr-0.0.1/src/pygamejr/resources/images/items/gemRed.png +0 -0
  58. pygamejr-0.0.1/src/pygamejr/resources/images/items/gemYellow.png +0 -0
  59. pygamejr-0.0.1/src/pygamejr/resources/images/items/gold_1.png +0 -0
  60. pygamejr-0.0.1/src/pygamejr/resources/images/items/gold_2.png +0 -0
  61. pygamejr-0.0.1/src/pygamejr/resources/images/items/gold_3.png +0 -0
  62. pygamejr-0.0.1/src/pygamejr/resources/images/items/gold_4.png +0 -0
  63. pygamejr-0.0.1/src/pygamejr/resources/images/items/keyBlue.png +0 -0
  64. pygamejr-0.0.1/src/pygamejr/resources/images/items/keyGreen.png +0 -0
  65. pygamejr-0.0.1/src/pygamejr/resources/images/items/keyRed.png +0 -0
  66. pygamejr-0.0.1/src/pygamejr/resources/images/items/keyYellow.png +0 -0
  67. pygamejr-0.0.1/src/pygamejr/resources/images/items/ladderMid.png +0 -0
  68. pygamejr-0.0.1/src/pygamejr/resources/images/items/ladderTop.png +0 -0
  69. pygamejr-0.0.1/src/pygamejr/resources/images/items/star.png +0 -0
  70. pygamejr-0.0.1/src/pygamejr/resources/images/readme.txt +2 -0
  71. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/laserBlue01.png +0 -0
  72. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/laserRed01.png +0 -0
  73. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_big1.png +0 -0
  74. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_big2.png +0 -0
  75. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_big3.png +0 -0
  76. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_big4.png +0 -0
  77. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_med1.png +0 -0
  78. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_med2.png +0 -0
  79. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_small1.png +0 -0
  80. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_small2.png +0 -0
  81. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_tiny1.png +0 -0
  82. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/meteorGrey_tiny2.png +0 -0
  83. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/playerLife1_orange.png +0 -0
  84. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/playerShip1_green.png +0 -0
  85. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/playerShip1_orange.png +0 -0
  86. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/playerShip2_orange.png +0 -0
  87. pygamejr-0.0.1/src/pygamejr/resources/images/space_shooter/playerShip3_orange.png +0 -0
  88. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel1.png +0 -0
  89. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel1_outline.png +0 -0
  90. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel2.png +0 -0
  91. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel2_outline.png +0 -0
  92. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel3.png +0 -0
  93. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel3_outline.png +0 -0
  94. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_bigRed.png +0 -0
  95. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_bigRed_outline.png +0 -0
  96. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_blue.png +0 -0
  97. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_blue_outline.png +0 -0
  98. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_dark.png +0 -0
  99. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_darkLarge.png +0 -0
  100. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_darkLarge_outline.png +0 -0
  101. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_dark_outline.png +0 -0
  102. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_green.png +0 -0
  103. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_green_outline.png +0 -0
  104. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_huge.png +0 -0
  105. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_huge_outline.png +0 -0
  106. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_red.png +0 -0
  107. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_red_outline.png +0 -0
  108. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_sand.png +0 -0
  109. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankBody_sand_outline.png +0 -0
  110. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel1.png +0 -0
  111. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel1_outline.png +0 -0
  112. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel2.png +0 -0
  113. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel2_outline.png +0 -0
  114. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel3.png +0 -0
  115. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel3_outline.png +0 -0
  116. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel1.png +0 -0
  117. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel1_outline.png +0 -0
  118. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel2.png +0 -0
  119. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel2_outline.png +0 -0
  120. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel3.png +0 -0
  121. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel3_outline.png +0 -0
  122. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel1.png +0 -0
  123. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel1_outline.png +0 -0
  124. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel2.png +0 -0
  125. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel2_outline.png +0 -0
  126. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel3.png +0 -0
  127. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel3_outline.png +0 -0
  128. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel1.png +0 -0
  129. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel1_outline.png +0 -0
  130. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel2.png +0 -0
  131. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel2_outline.png +0 -0
  132. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel3.png +0 -0
  133. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel3_outline.png +0 -0
  134. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tank_blue.png +0 -0
  135. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tank_dark.png +0 -0
  136. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tank_green.png +0 -0
  137. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tank_red.png +0 -0
  138. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tank_sand.png +0 -0
  139. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass1.png +0 -0
  140. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass2.png +0 -0
  141. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerLL.png +0 -0
  142. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerLR.png +0 -0
  143. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerUL.png +0 -0
  144. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerUR.png +0 -0
  145. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCrossing.png +0 -0
  146. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCrossingRound.png +0 -0
  147. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadEast.png +0 -0
  148. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadNorth.png +0 -0
  149. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitE.png +0 -0
  150. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitN.png +0 -0
  151. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitS.png +0 -0
  152. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitW.png +0 -0
  153. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionE.png +0 -0
  154. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionE_dirt.png +0 -0
  155. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionN.png +0 -0
  156. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionN_dirt.png +0 -0
  157. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionS.png +0 -0
  158. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionS_dirt.png +0 -0
  159. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionW.png +0 -0
  160. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionW_dirt.png +0 -0
  161. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionE.png +0 -0
  162. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionN.png +0 -0
  163. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionS.png +0 -0
  164. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionW.png +0 -0
  165. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand1.png +0 -0
  166. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand2.png +0 -0
  167. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerLL.png +0 -0
  168. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerLR.png +0 -0
  169. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerUL.png +0 -0
  170. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerUR.png +0 -0
  171. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCrossing.png +0 -0
  172. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCrossingRound.png +0 -0
  173. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadEast.png +0 -0
  174. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadNorth.png +0 -0
  175. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitE.png +0 -0
  176. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitN.png +0 -0
  177. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitS.png +0 -0
  178. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitW.png +0 -0
  179. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tracksDouble.png +0 -0
  180. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tracksLarge.png +0 -0
  181. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/tracksSmall.png +0 -0
  182. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/treeBrown_large.png +0 -0
  183. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/treeBrown_small.png +0 -0
  184. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/treeGreen_large.png +0 -0
  185. pygamejr-0.0.1/src/pygamejr/resources/images/topdown_tanks/treeGreen_small.png +0 -0
  186. pygamejr-0.0.1/src/pygamejr/resources/resolve_path.py +10 -0
  187. pygamejr-0.0.1/src/pygamejr/sprite/__init__.py +0 -0
  188. pygamejr-0.0.1/src/pygamejr/sprite/base.py +29 -0
  189. pygamejr-0.0.1/src/pygamejr/sprite/circle.py +23 -0
  190. pygamejr-0.0.1/src/pygamejr/sprite/image.py +9 -0
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <settings>
3
+ <option name="USE_PROJECT_PROFILE" value="false" />
4
+ <version value="1.0" />
5
+ </settings>
6
+ </component>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Black">
4
+ <option name="sdkName" value="Python 3.13" />
5
+ </component>
6
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13" project-jdk-type="Python SDK" />
7
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/pygamejr.iml" filepath="$PROJECT_DIR$/.idea/pygamejr.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <sourceFolder url="file://$MODULE_DIR$/demo" isTestSource="false" />
6
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7
+ </content>
8
+ <orderEntry type="inheritedJdk" />
9
+ <orderEntry type="sourceFolder" forTests="false" />
10
+ </component>
11
+ </module>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,259 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="c192a205-1bcb-4135-8199-822c4d0d55ea" name="Changes" comment="">
8
+ <change afterPath="$PROJECT_DIR$/LICENSE" afterDir="false" />
9
+ <change afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
10
+ <change afterPath="$PROJECT_DIR$/demo/game0.py" afterDir="false" />
11
+ <change afterPath="$PROJECT_DIR$/demo/game_position.py" afterDir="false" />
12
+ <change afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
13
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/__init__.py" afterDir="false" />
14
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/base.py" afterDir="false" />
15
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/__init__.py" afterDir="false" />
16
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/image.py" afterDir="false" />
17
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/License.txt" afterDir="false" />
18
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/bee.png" afterDir="false" />
19
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/fishGreen.png" afterDir="false" />
20
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/fishPink.png" afterDir="false" />
21
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/fly.png" afterDir="false" />
22
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/frog.png" afterDir="false" />
23
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/frog_move.png" afterDir="false" />
24
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/ladybug.png" afterDir="false" />
25
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/mouse.png" afterDir="false" />
26
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/saw.png" afterDir="false" />
27
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/sawHalf.png" afterDir="false" />
28
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/slimeBlock.png" afterDir="false" />
29
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/slimeBlue.png" afterDir="false" />
30
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/slimeBlue_move.png" afterDir="false" />
31
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/slimeGreen.png" afterDir="false" />
32
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/slimePurple.png" afterDir="false" />
33
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/wormGreen.png" afterDir="false" />
34
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/wormGreen_dead.png" afterDir="false" />
35
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/wormGreen_move.png" afterDir="false" />
36
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/enemies/wormPink.png" afterDir="false" />
37
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinBronze.png" afterDir="false" />
38
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinGold.png" afterDir="false" />
39
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinGold_ll.png" afterDir="false" />
40
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinGold_lr.png" afterDir="false" />
41
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinGold_ul.png" afterDir="false" />
42
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinGold_ur.png" afterDir="false" />
43
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinSilver.png" afterDir="false" />
44
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/coinSilver_test.png" afterDir="false" />
45
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagGreen1.png" afterDir="false" />
46
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagGreen2.png" afterDir="false" />
47
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagGreen_down.png" afterDir="false" />
48
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagRed1.png" afterDir="false" />
49
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagRed2.png" afterDir="false" />
50
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagRed_down.png" afterDir="false" />
51
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagYellow1.png" afterDir="false" />
52
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagYellow2.png" afterDir="false" />
53
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/flagYellow_down.png" afterDir="false" />
54
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gemBlue.png" afterDir="false" />
55
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gemGreen.png" afterDir="false" />
56
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gemRed.png" afterDir="false" />
57
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gemYellow.png" afterDir="false" />
58
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gold_1.png" afterDir="false" />
59
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gold_2.png" afterDir="false" />
60
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gold_3.png" afterDir="false" />
61
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/gold_4.png" afterDir="false" />
62
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/keyBlue.png" afterDir="false" />
63
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/keyGreen.png" afterDir="false" />
64
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/keyRed.png" afterDir="false" />
65
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/keyYellow.png" afterDir="false" />
66
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/ladderMid.png" afterDir="false" />
67
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/ladderTop.png" afterDir="false" />
68
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/items/star.png" afterDir="false" />
69
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/readme.txt" afterDir="false" />
70
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/laserBlue01.png" afterDir="false" />
71
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/laserRed01.png" afterDir="false" />
72
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_big1.png" afterDir="false" />
73
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_big2.png" afterDir="false" />
74
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_big3.png" afterDir="false" />
75
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_big4.png" afterDir="false" />
76
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_med1.png" afterDir="false" />
77
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_med2.png" afterDir="false" />
78
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_small1.png" afterDir="false" />
79
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_small2.png" afterDir="false" />
80
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_tiny1.png" afterDir="false" />
81
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/meteorGrey_tiny2.png" afterDir="false" />
82
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/playerLife1_orange.png" afterDir="false" />
83
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/playerShip1_green.png" afterDir="false" />
84
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/playerShip1_orange.png" afterDir="false" />
85
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/playerShip2_orange.png" afterDir="false" />
86
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/space_shooter/playerShip3_orange.png" afterDir="false" />
87
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel1.png" afterDir="false" />
88
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel1_outline.png" afterDir="false" />
89
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel2.png" afterDir="false" />
90
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel2_outline.png" afterDir="false" />
91
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel3.png" afterDir="false" />
92
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBlue_barrel3_outline.png" afterDir="false" />
93
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_bigRed.png" afterDir="false" />
94
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_bigRed_outline.png" afterDir="false" />
95
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_blue.png" afterDir="false" />
96
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_blue_outline.png" afterDir="false" />
97
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_dark.png" afterDir="false" />
98
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_darkLarge.png" afterDir="false" />
99
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_darkLarge_outline.png" afterDir="false" />
100
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_dark_outline.png" afterDir="false" />
101
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_green.png" afterDir="false" />
102
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_green_outline.png" afterDir="false" />
103
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_huge.png" afterDir="false" />
104
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_huge_outline.png" afterDir="false" />
105
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_red.png" afterDir="false" />
106
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_red_outline.png" afterDir="false" />
107
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_sand.png" afterDir="false" />
108
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankBody_sand_outline.png" afterDir="false" />
109
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel1.png" afterDir="false" />
110
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel1_outline.png" afterDir="false" />
111
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel2.png" afterDir="false" />
112
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel2_outline.png" afterDir="false" />
113
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel3.png" afterDir="false" />
114
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankDark_barrel3_outline.png" afterDir="false" />
115
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel1.png" afterDir="false" />
116
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel1_outline.png" afterDir="false" />
117
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel2.png" afterDir="false" />
118
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel2_outline.png" afterDir="false" />
119
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel3.png" afterDir="false" />
120
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankGreen_barrel3_outline.png" afterDir="false" />
121
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel1.png" afterDir="false" />
122
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel1_outline.png" afterDir="false" />
123
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel2.png" afterDir="false" />
124
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel2_outline.png" afterDir="false" />
125
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel3.png" afterDir="false" />
126
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankRed_barrel3_outline.png" afterDir="false" />
127
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel1.png" afterDir="false" />
128
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel1_outline.png" afterDir="false" />
129
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel2.png" afterDir="false" />
130
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel2_outline.png" afterDir="false" />
131
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel3.png" afterDir="false" />
132
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tankSand_barrel3_outline.png" afterDir="false" />
133
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tank_blue.png" afterDir="false" />
134
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tank_dark.png" afterDir="false" />
135
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tank_green.png" afterDir="false" />
136
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tank_red.png" afterDir="false" />
137
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tank_sand.png" afterDir="false" />
138
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass1.png" afterDir="false" />
139
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass2.png" afterDir="false" />
140
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerLL.png" afterDir="false" />
141
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerLR.png" afterDir="false" />
142
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerUL.png" afterDir="false" />
143
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCornerUR.png" afterDir="false" />
144
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCrossing.png" afterDir="false" />
145
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadCrossingRound.png" afterDir="false" />
146
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadEast.png" afterDir="false" />
147
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadNorth.png" afterDir="false" />
148
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitE.png" afterDir="false" />
149
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitN.png" afterDir="false" />
150
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitS.png" afterDir="false" />
151
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadSplitW.png" afterDir="false" />
152
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionE.png" afterDir="false" />
153
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionE_dirt.png" afterDir="false" />
154
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionN.png" afterDir="false" />
155
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionN_dirt.png" afterDir="false" />
156
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionS.png" afterDir="false" />
157
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionS_dirt.png" afterDir="false" />
158
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionW.png" afterDir="false" />
159
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_roadTransitionW_dirt.png" afterDir="false" />
160
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionE.png" afterDir="false" />
161
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionN.png" afterDir="false" />
162
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionS.png" afterDir="false" />
163
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileGrass_transitionW.png" afterDir="false" />
164
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand1.png" afterDir="false" />
165
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand2.png" afterDir="false" />
166
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerLL.png" afterDir="false" />
167
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerLR.png" afterDir="false" />
168
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerUL.png" afterDir="false" />
169
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCornerUR.png" afterDir="false" />
170
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCrossing.png" afterDir="false" />
171
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadCrossingRound.png" afterDir="false" />
172
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadEast.png" afterDir="false" />
173
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadNorth.png" afterDir="false" />
174
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitE.png" afterDir="false" />
175
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitN.png" afterDir="false" />
176
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitS.png" afterDir="false" />
177
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tileSand_roadSplitW.png" afterDir="false" />
178
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tracksDouble.png" afterDir="false" />
179
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tracksLarge.png" afterDir="false" />
180
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/tracksSmall.png" afterDir="false" />
181
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/treeBrown_large.png" afterDir="false" />
182
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/treeBrown_small.png" afterDir="false" />
183
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/treeGreen_large.png" afterDir="false" />
184
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/images/topdown_tanks/treeGreen_small.png" afterDir="false" />
185
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/resources/resolve_path.py" afterDir="false" />
186
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/sprite/__init__.py" afterDir="false" />
187
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/sprite/base.py" afterDir="false" />
188
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/sprite/circle.py" afterDir="false" />
189
+ <change afterPath="$PROJECT_DIR$/src/pygamejr/sprite/image.py" afterDir="false" />
190
+ </list>
191
+ <option name="SHOW_DIALOG" value="false" />
192
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
193
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
194
+ <option name="LAST_RESOLUTION" value="IGNORE" />
195
+ </component>
196
+ <component name="FlaskConsoleOptions" custom-start-script="import sys&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;from flask.cli import ScriptInfo&#10;locals().update(ScriptInfo(create_app=None).load_app().make_shell_context())&#10;print(&quot;Python %s on %s\nApp: %s [%s]\nInstance: %s&quot; % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))">
197
+ <envs>
198
+ <env key="FLASK_APP" value="app" />
199
+ </envs>
200
+ <option name="myCustomStartScript" value="import sys&#10;sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])&#10;from flask.cli import ScriptInfo&#10;locals().update(ScriptInfo(create_app=None).load_app().make_shell_context())&#10;print(&quot;Python %s on %s\nApp: %s [%s]\nInstance: %s&quot; % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))" />
201
+ <option name="myEnvs">
202
+ <map>
203
+ <entry key="FLASK_APP" value="app" />
204
+ </map>
205
+ </option>
206
+ </component>
207
+ <component name="Git.Settings">
208
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
209
+ </component>
210
+ <component name="ProjectColorInfo">{
211
+ &quot;associatedIndex&quot;: 3
212
+ }</component>
213
+ <component name="ProjectId" id="2rW5rwgevCeFN2Zl3molRFPjmKU" />
214
+ <component name="ProjectViewState">
215
+ <option name="hideEmptyMiddlePackages" value="true" />
216
+ <option name="showLibraryContents" value="true" />
217
+ </component>
218
+ <component name="PropertiesComponent">{
219
+ &quot;keyToString&quot;: {
220
+ &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
221
+ &quot;git-widget-placeholder&quot;: &quot;main&quot;,
222
+ &quot;last_opened_file_path&quot;: &quot;C:/work/DomainMapper&quot;,
223
+ &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
224
+ &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
225
+ &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
226
+ &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
227
+ &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
228
+ &quot;settings.editor.selected.configurable&quot;: &quot;com.intellij.pycharm.community.ide.impl.configuration.PythonContentEntriesConfigurable&quot;,
229
+ &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
230
+ }
231
+ }</component>
232
+ <component name="SharedIndexes">
233
+ <attachedChunks>
234
+ <set>
235
+ <option value="bundled-js-predefined-d6986cc7102b-5c90d61e3bab-JavaScript-PY-242.23339.19" />
236
+ <option value="bundled-python-sdk-0029f7779945-399fe30bd8c1-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-242.23339.19" />
237
+ </set>
238
+ </attachedChunks>
239
+ </component>
240
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
241
+ <component name="TaskManager">
242
+ <task active="true" id="Default" summary="Default task">
243
+ <changelist id="c192a205-1bcb-4135-8199-822c4d0d55ea" name="Changes" comment="" />
244
+ <created>1736662192207</created>
245
+ <option name="number" value="Default" />
246
+ <option name="presentableId" value="Default" />
247
+ <updated>1736662192207</updated>
248
+ <workItem from="1736662193257" duration="2815000" />
249
+ <workItem from="1737861951544" duration="18000" />
250
+ <workItem from="1739690206473" duration="638000" />
251
+ <workItem from="1740289663888" duration="3341000" />
252
+ <workItem from="1740888970986" duration="856000" />
253
+ </task>
254
+ <servers />
255
+ </component>
256
+ <component name="TypeScriptGeneratedFilesManager">
257
+ <option name="version" value="3" />
258
+ </component>
259
+ </project>
pygamejr-0.0.1/LICENSE ADDED
File without changes
@@ -0,0 +1,12 @@
1
+ Metadata-Version: 2.4
2
+ Name: pygamejr
3
+ Version: 0.0.1
4
+ Summary: A small example package
5
+ Project-URL: Homepage, https://github.com/benefitkids/pygamejr
6
+ Project-URL: Issues, https://github.com/benefitkids/pygamejr/issues
7
+ Author-email: Alexander Mironov <miralexander@gmail.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Requires-Python: >=3.8
File without changes
@@ -0,0 +1,12 @@
1
+ import pygamejr
2
+
3
+ ball = pygamejr.CircleSprite()
4
+ bee = pygamejr.ImageSprite(pygamejr.resources.image.bee)
5
+ bee.rect.centerx = pygamejr.screen.get_width() / 2
6
+ bee.rect.centery = pygamejr.screen.get_height() / 2
7
+
8
+ for frame in pygamejr.every_frame():
9
+ ball.rect.x += 1
10
+ bee.rect.x += 1
11
+ ball.draw()
12
+ bee.draw()
@@ -0,0 +1,31 @@
1
+ import pygamejr
2
+
3
+ width = pygamejr.screen.get_width()
4
+ height = pygamejr.screen.get_height()
5
+
6
+ top_left = pygamejr.ImageSprite(pygamejr.resources.image.coin_gold)
7
+ top_left.rect.top = 0
8
+ top_left.rect.left = 0
9
+
10
+ top_right = pygamejr.ImageSprite(pygamejr.resources.image.coin_bronze)
11
+ top_right.rect.top = 0
12
+ top_right.rect.right = width
13
+
14
+ bottom_left = pygamejr.ImageSprite(pygamejr.resources.image.coin_gold)
15
+ bottom_left.rect.bottom = height
16
+ bottom_left.rect.left = 0
17
+
18
+ bottom_right = pygamejr.ImageSprite(pygamejr.resources.image.coin_gold)
19
+ bottom_right.rect.bottom = height
20
+ bottom_right.rect.right = width
21
+
22
+ center = pygamejr.ImageSprite(pygamejr.resources.image.coin_silver)
23
+ center.rect.centerx = pygamejr.screen.get_width() / 2
24
+ center.rect.centery = pygamejr.screen.get_height() / 2
25
+
26
+ for frame in pygamejr.every_frame():
27
+ top_left.draw()
28
+ top_right.draw()
29
+ bottom_left.draw()
30
+ bottom_right.draw()
31
+ center.draw()
@@ -0,0 +1,23 @@
1
+ [project]
2
+ name = "pygamejr"
3
+ version = "0.0.1"
4
+ authors = [
5
+ { name="Alexander Mironov", email="miralexander@gmail.com" },
6
+ ]
7
+ description = "A small example package"
8
+ readme = "README.md"
9
+ requires-python = ">=3.8"
10
+ classifiers = [
11
+ "Programming Language :: Python :: 3",
12
+ "Operating System :: OS Independent",
13
+ ]
14
+ license = "MIT"
15
+ license-files = ["LICEN[CS]E*"]
16
+
17
+ [project.urls]
18
+ Homepage = "https://github.com/benefitkids/pygamejr"
19
+ Issues = "https://github.com/benefitkids/pygamejr/issues"
20
+
21
+ [build-system]
22
+ requires = ["hatchling"]
23
+ build-backend = "hatchling.build"
@@ -0,0 +1,14 @@
1
+ from .base import every_frame, wait_quit, is_quit, screen
2
+ from .sprite.circle import CircleSprite
3
+ from .sprite.image import ImageSprite
4
+ from . import resources
5
+
6
+ __all__ = [
7
+ every_frame,
8
+ wait_quit,
9
+ screen,
10
+ is_quit, screen,
11
+ CircleSprite,
12
+ ImageSprite,
13
+ resources,
14
+ ]
@@ -0,0 +1,36 @@
1
+ import pygame
2
+
3
+ # инициализация должна быть на прикладном уровне
4
+ screen = pygame.display.set_mode((800, 600), pygame.RESIZABLE)
5
+
6
+ clock = pygame.time.Clock()
7
+
8
+ def every_frame(frame_count=0):
9
+ running = True
10
+ frame = -1
11
+ while running:
12
+ dt = clock.tick(60) / 1000
13
+
14
+ if is_quit() or frame >= frame_count :
15
+ break
16
+
17
+ if frame_count:
18
+ frame += 1
19
+
20
+ screen.fill("black")
21
+ yield dt
22
+ pygame.display.flip()
23
+
24
+
25
+ def is_quit():
26
+ for event in pygame.event.get():
27
+ if event.type == pygame.QUIT:
28
+ return True
29
+ return False
30
+
31
+
32
+ def wait_quit():
33
+ running = False
34
+ while running:
35
+ if is_quit():
36
+ running = False
@@ -0,0 +1 @@
1
+ from . import image
@@ -0,0 +1,71 @@
1
+ from .resolve_path import resolve_path
2
+
3
+ bee = resolve_path('images/enemies/bee.png')
4
+ fish_green = resolve_path('images/enemies/fishGreen.png')
5
+ fish_pink = resolve_path('images/enemies/fishPink.png')
6
+ fly = resolve_path('images/enemies/fly.png')
7
+ frog = resolve_path('images/enemies/frog.png')
8
+ frog_move = resolve_path('images/enemies/frog_move.png')
9
+ ladybug = resolve_path('images/enemies/ladybug.png')
10
+ mouse = resolve_path('images/enemies/mouse.png')
11
+ saw = resolve_path('images/enemies/saw.png')
12
+ saw_half = resolve_path('images/enemies/sawHalf.png')
13
+ slime_block = resolve_path('images/enemies/slimeBlock.png')
14
+ slime_blue = resolve_path('images/enemies/slimeBlue.png')
15
+ slime_blue_move = resolve_path('images/enemies/slimeBlue_move.png')
16
+ slime_green = resolve_path('images/enemies/slimeGreen.png')
17
+ slime_purple = resolve_path('images/enemies/slimePurple.png')
18
+ worm_green = resolve_path('images/enemies/wormGreen.png')
19
+ worm_green_dead = resolve_path('images/enemies/wormGreen_dead.png')
20
+ worm_green_move = resolve_path('images/enemies/wormGreen_move.png')
21
+ worm_pink = resolve_path('images/enemies/wormPink.png')
22
+ coin_bronze = resolve_path('images/items/coinBronze.png')
23
+ coin_gold = resolve_path('images/items/coinGold.png')
24
+ coin_gold_ll = resolve_path('images/items/coinGold_ll.png')
25
+ coin_gold_lr = resolve_path('images/items/coinGold_lr.png')
26
+ coin_gold_ul = resolve_path('images/items/coinGold_ul.png')
27
+ coin_gold_ur = resolve_path('images/items/coinGold_ur.png')
28
+ coin_silver = resolve_path('images/items/coinSilver.png')
29
+ coin_silver_test = resolve_path('images/items/coinSilver_test.png')
30
+ flag_green1 = resolve_path('images/items/flagGreen1.png')
31
+ flag_green2 = resolve_path('images/items/flagGreen2.png')
32
+ flag_green_down = resolve_path('images/items/flagGreen_down.png')
33
+ flag_red1 = resolve_path('images/items/flagRed1.png')
34
+ flag_red2 = resolve_path('images/items/flagRed2.png')
35
+ flag_red_down = resolve_path('images/items/flagRed_down.png')
36
+ flag_yellow1 = resolve_path('images/items/flagYellow1.png')
37
+ flag_yellow2 = resolve_path('images/items/flagYellow2.png')
38
+ flag_yellow_down = resolve_path('images/items/flagYellow_down.png')
39
+ gem_blue = resolve_path('images/items/gemBlue.png')
40
+ gem_green = resolve_path('images/items/gemGreen.png')
41
+ gem_red = resolve_path('images/items/gemRed.png')
42
+ gem_yellow = resolve_path('images/items/gemYellow.png')
43
+ gold_1 = resolve_path('images/items/gold_1.png')
44
+ gold_2 = resolve_path('images/items/gold_2.png')
45
+ gold_3 = resolve_path('images/items/gold_3.png')
46
+ gold_4 = resolve_path('images/items/gold_4.png')
47
+ key_blue = resolve_path('images/items/keyBlue.png')
48
+ key_green = resolve_path('images/items/keyGreen.png')
49
+ key_red = resolve_path('images/items/keyRed.png')
50
+ key_yellow = resolve_path('images/items/keyYellow.png')
51
+ ladder_mid = resolve_path('images/items/ladderMid.png')
52
+ ladder_top = resolve_path('images/items/ladderTop.png')
53
+ star = resolve_path('images/items/star.png')
54
+ laser_blue01 = resolve_path('images/space_shooter/laserBlue01.png')
55
+ laser_red01 = resolve_path('images/space_shooter/laserRed01.png')
56
+ meteor_grey_big1 = resolve_path('images/space_shooter/meteorGrey_big1.png')
57
+ meteor_grey_big2 = resolve_path('images/space_shooter/meteorGrey_big2.png')
58
+ meteor_grey_big3 = resolve_path('images/space_shooter/meteorGrey_big3.png')
59
+ meteor_grey_big4 = resolve_path('images/space_shooter/meteorGrey_big4.png')
60
+ meteor_grey_med1 = resolve_path('images/space_shooter/meteorGrey_med1.png')
61
+ meteor_grey_med2 = resolve_path('images/space_shooter/meteorGrey_med2.png')
62
+ meteor_grey_small1 = resolve_path('images/space_shooter/meteorGrey_small1.png')
63
+ meteor_grey_small2 = resolve_path('images/space_shooter/meteorGrey_small2.png')
64
+ meteor_grey_tiny1 = resolve_path('images/space_shooter/meteorGrey_tiny1.png')
65
+ meteor_grey_tiny2 = resolve_path('images/space_shooter/meteorGrey_tiny2.png')
66
+ player_life1_orange = resolve_path('images/space_shooter/playerLife1_orange.png')
67
+ player_ship1_green = resolve_path('images/space_shooter/playerShip1_green.png')
68
+ player_ship1_orange = resolve_path('images/space_shooter/playerShip1_orange.png')
69
+ player_ship2_orange = resolve_path('images/space_shooter/playerShip2_orange.png')
70
+ player_ship3_orange = resolve_path('images/space_shooter/playerShip3_orange.png')
71
+
@@ -0,0 +1,17 @@
1
+
2
+
3
+
4
+ Everything in this package is licensed CC0 (see below).
5
+
6
+ ------------------------------
7
+
8
+ License (Creative Commons Zero, CC0)
9
+ http://creativecommons.org/publicdomain/zero/1.0/
10
+
11
+ You may use these graphics in personal and commercial projects.
12
+ Credit (Kenney or www.kenney.nl) would be nice but is not mandatory.
13
+
14
+ ------------------------------
15
+
16
+ Donate: http://donate.kenney.nl/
17
+ Request: http://request.kenney.nl/