├── Part 1 ├── constants.py ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ └── constants.cpython-310.pyc └── main.py ├── Part 2 ├── constants.py ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ └── constants.cpython-310.pyc ├── enemy.py └── main.py ├── Part 3 ├── constants.py ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ └── constants.cpython-310.pyc ├── main.py └── enemy.py ├── .gitattributes ├── Part 4 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ ├── world.cpython-310.pyc │ └── constants.cpython-310.pyc ├── constants.py ├── world.py ├── main.py └── enemy.py ├── Part 5 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ ├── world.cpython-310.pyc │ ├── turret.cpython-310.pyc │ └── constants.cpython-310.pyc ├── constants.py ├── turret.py ├── world.py └── enemy.py ├── Part 6 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ ├── world.cpython-310.pyc │ ├── button.cpython-310.pyc │ ├── turret.cpython-310.pyc │ └── constants.cpython-310.pyc ├── constants.py ├── turret.py ├── button.py ├── world.py └── enemy.py ├── Part 7 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-310.pyc │ ├── world.cpython-310.pyc │ ├── button.cpython-310.pyc │ ├── turret.cpython-310.pyc │ └── constants.cpython-310.pyc ├── constants.py ├── button.py └── world.py ├── Part 8 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── button.cpython-39.pyc │ ├── enemy.cpython-310.pyc │ ├── enemy.cpython-39.pyc │ ├── turret.cpython-39.pyc │ ├── world.cpython-310.pyc │ ├── world.cpython-39.pyc │ ├── button.cpython-310.pyc │ ├── constants.cpython-39.pyc │ ├── turret.cpython-310.pyc │ └── constants.cpython-310.pyc ├── constants.py ├── button.py └── world.py ├── Part 9 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── gui │ │ ├── coin.png │ │ ├── logo.png │ │ └── heart.png │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── button.cpython-39.pyc │ ├── enemy.cpython-310.pyc │ ├── enemy.cpython-39.pyc │ ├── turret.cpython-39.pyc │ ├── world.cpython-310.pyc │ ├── world.cpython-39.pyc │ ├── button.cpython-310.pyc │ ├── constants.cpython-39.pyc │ ├── turret.cpython-310.pyc │ ├── constants.cpython-310.pyc │ ├── turret_data.cpython-39.pyc │ └── turret_data.cpython-310.pyc ├── constants.py ├── turret_data.py ├── button.py └── world.py ├── Part 10 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── 10.png │ │ ├── 11.png │ │ └── 12.png │ │ ├── gui │ │ ├── coin.png │ │ ├── heart.png │ │ └── logo.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-39.pyc │ ├── world.cpython-39.pyc │ ├── button.cpython-310.pyc │ ├── button.cpython-39.pyc │ ├── enemy.cpython-310.pyc │ ├── turret.cpython-310.pyc │ ├── turret.cpython-39.pyc │ ├── world.cpython-310.pyc │ ├── constants.cpython-310.pyc │ ├── constants.cpython-39.pyc │ ├── enemy_data.cpython-39.pyc │ ├── enemy_data.cpython-310.pyc │ ├── turret_data.cpython-310.pyc │ └── turret_data.cpython-39.pyc ├── constants.py ├── turret_data.py ├── button.py └── world.py ├── Part 11 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── 10.png │ │ ├── 11.png │ │ └── 12.png │ │ ├── gui │ │ ├── coin.png │ │ ├── heart.png │ │ └── logo.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── button.cpython-310.pyc │ ├── enemy.cpython-310.pyc │ ├── turret.cpython-310.pyc │ ├── world.cpython-310.pyc │ ├── constants.cpython-310.pyc │ ├── enemy_data.cpython-310.pyc │ └── turret_data.cpython-310.pyc ├── turret_data.py ├── constants.py ├── button.py └── world.py ├── Part 12 ├── levels │ ├── level.png │ ├── level.tmx │ └── TD tileset.tsx ├── assets │ ├── audio │ │ └── shot.wav │ └── images │ │ ├── tiles │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ ├── 9.png │ │ ├── 10.png │ │ ├── 11.png │ │ └── 12.png │ │ ├── gui │ │ ├── coin.png │ │ ├── heart.png │ │ └── logo.png │ │ ├── buttons │ │ ├── begin.png │ │ ├── cancel.png │ │ ├── restart.png │ │ ├── buy_turret.png │ │ ├── fast_forward.png │ │ └── upgrade_turret.png │ │ ├── enemies │ │ ├── enemy_1.png │ │ ├── enemy_2.png │ │ ├── enemy_3.png │ │ └── enemy_4.png │ │ └── turrets │ │ ├── turret_1.png │ │ ├── turret_2.png │ │ ├── turret_3.png │ │ ├── turret_4.png │ │ └── cursor_turret.png ├── __pycache__ │ ├── enemy.cpython-39.pyc │ ├── world.cpython-39.pyc │ ├── button.cpython-310.pyc │ ├── button.cpython-39.pyc │ ├── enemy.cpython-310.pyc │ ├── turret.cpython-310.pyc │ ├── turret.cpython-39.pyc │ ├── world.cpython-310.pyc │ ├── constants.cpython-310.pyc │ ├── constants.cpython-39.pyc │ ├── enemy_data.cpython-39.pyc │ ├── enemy_data.cpython-310.pyc │ ├── turret_data.cpython-310.pyc │ └── turret_data.cpython-39.pyc ├── turret_data.py ├── constants.py └── button.py └── Part 13 ├── levels ├── level.png ├── level.tmx └── TD tileset.tsx ├── assets ├── audio │ └── shot.wav └── images │ ├── tiles │ ├── 0.png │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ ├── 9.png │ ├── 10.png │ ├── 11.png │ └── 12.png │ ├── gui │ ├── coin.png │ ├── heart.png │ └── logo.png │ ├── buttons │ ├── begin.png │ ├── cancel.png │ ├── restart.png │ ├── buy_turret.png │ ├── fast_forward.png │ └── upgrade_turret.png │ ├── enemies │ ├── enemy_1.png │ ├── enemy_2.png │ ├── enemy_3.png │ └── enemy_4.png │ └── turrets │ ├── turret_1.png │ ├── turret_2.png │ ├── turret_3.png │ ├── turret_4.png │ └── cursor_turret.png ├── __pycache__ ├── button.cpython-310.pyc ├── enemy.cpython-310.pyc ├── turret.cpython-310.pyc ├── world.cpython-310.pyc ├── constants.cpython-310.pyc ├── enemy_data.cpython-310.pyc └── turret_data.cpython-310.pyc ├── turret_data.py ├── constants.py └── button.py /Part 1/constants.py: -------------------------------------------------------------------------------- 1 | SCREEN_WIDTH = 500 2 | SCREEN_HEIGHT = 500 3 | FPS = 60 -------------------------------------------------------------------------------- /Part 2/constants.py: -------------------------------------------------------------------------------- 1 | SCREEN_WIDTH = 500 2 | SCREEN_HEIGHT = 500 3 | FPS = 60 -------------------------------------------------------------------------------- /Part 3/constants.py: -------------------------------------------------------------------------------- 1 | SCREEN_WIDTH = 500 2 | SCREEN_HEIGHT = 500 3 | FPS = 60 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Part 1/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/levels/level.png -------------------------------------------------------------------------------- /Part 2/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/levels/level.png -------------------------------------------------------------------------------- /Part 3/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/levels/level.png -------------------------------------------------------------------------------- /Part 4/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/levels/level.png -------------------------------------------------------------------------------- /Part 5/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/levels/level.png -------------------------------------------------------------------------------- /Part 6/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/levels/level.png -------------------------------------------------------------------------------- /Part 7/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/levels/level.png -------------------------------------------------------------------------------- /Part 8/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/levels/level.png -------------------------------------------------------------------------------- /Part 9/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/levels/level.png -------------------------------------------------------------------------------- /Part 10/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/levels/level.png -------------------------------------------------------------------------------- /Part 11/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/levels/level.png -------------------------------------------------------------------------------- /Part 12/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/levels/level.png -------------------------------------------------------------------------------- /Part 13/levels/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/levels/level.png -------------------------------------------------------------------------------- /Part 1/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 2/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 3/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 4/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 5/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 6/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 7/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 8/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 9/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 10/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 11/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 12/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 13/assets/audio/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/audio/shot.wav -------------------------------------------------------------------------------- /Part 1/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 1/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 1/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 2/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 2/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 2/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 3/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 3/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 3/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 4/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 4/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 4/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 5/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 5/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 5/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 6/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 6/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 6/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 7/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 7/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 7/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 8/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 8/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 8/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 9/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 9/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/0.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/1.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/2.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/3.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/4.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/5.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/6.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/7.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/8.png -------------------------------------------------------------------------------- /Part 9/assets/images/tiles/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/tiles/9.png -------------------------------------------------------------------------------- /Part 1/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 10/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 10/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 10/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 10/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 11/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 11/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 11/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 11/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 12/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 12/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 12/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 12/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 13/assets/images/gui/coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/gui/coin.png -------------------------------------------------------------------------------- /Part 13/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 13/assets/images/gui/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/gui/logo.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/10.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/11.png -------------------------------------------------------------------------------- /Part 13/assets/images/tiles/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/tiles/12.png -------------------------------------------------------------------------------- /Part 2/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 3/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 4/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 5/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 6/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 7/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 8/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 9/assets/images/gui/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/gui/heart.png -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 1/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 1/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 1/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 1/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 10/__pycache__/enemy.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/enemy.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/world.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/world.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 12/__pycache__/enemy.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/enemy.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/world.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/world.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/begin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/begin.png -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 2/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 2/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 2/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 2/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 2/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 3/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 3/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 3/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 3/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 3/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 4/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 4/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 4/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 4/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 4/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 4/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 5/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 5/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 5/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 5/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 5/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 5/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 6/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 6/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 6/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 6/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 6/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 6/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 7/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 7/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 7/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 7/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 7/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 7/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 8/__pycache__/button.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/button.cpython-39.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/enemy.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/enemy.cpython-39.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/turret.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/turret.cpython-39.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/world.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/world.cpython-39.pyc -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 8/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 8/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 8/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 8/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 9/__pycache__/button.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/button.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/enemy.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/enemy.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/turret.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/turret.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/world.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/world.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/cancel.png -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 9/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 9/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 9/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 9/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 1/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 1/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 1/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 1/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 10/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/button.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/button.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/turret.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/turret.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 10/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 10/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 10/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 10/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 10/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 10/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 10/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 10/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 11/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 11/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 11/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 11/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 11/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 11/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 11/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 11/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 11/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 12/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/button.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/button.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/turret.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/turret.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 12/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 12/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 12/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 12/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 12/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 12/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 12/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 12/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 13/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/__pycache__/enemy.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/enemy.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/__pycache__/world.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/world.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/restart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/restart.png -------------------------------------------------------------------------------- /Part 13/assets/images/enemies/enemy_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/enemies/enemy_1.png -------------------------------------------------------------------------------- /Part 13/assets/images/enemies/enemy_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/enemies/enemy_2.png -------------------------------------------------------------------------------- /Part 13/assets/images/enemies/enemy_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/enemies/enemy_3.png -------------------------------------------------------------------------------- /Part 13/assets/images/enemies/enemy_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/enemies/enemy_4.png -------------------------------------------------------------------------------- /Part 13/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 13/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 13/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 13/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 2/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 2/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 2/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 2/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 3/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 3/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 3/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 3/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 4/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 4/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 4/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 4/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 4/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SCREEN_WIDTH = TILE_SIZE * COLS 5 | SCREEN_HEIGHT = TILE_SIZE * ROWS 6 | FPS = 60 -------------------------------------------------------------------------------- /Part 5/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 5/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 5/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 5/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 5/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 5/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SCREEN_WIDTH = TILE_SIZE * COLS 5 | SCREEN_HEIGHT = TILE_SIZE * ROWS 6 | FPS = 60 -------------------------------------------------------------------------------- /Part 6/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 6/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 6/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 6/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 6/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 6/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 7/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 7/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 7/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 7/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 7/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 7/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 8/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/constants.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/constants.cpython-39.pyc -------------------------------------------------------------------------------- /Part 8/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 8/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 8/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 8/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 8/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 9/__pycache__/button.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/button.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/constants.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/constants.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/turret.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/turret.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 9/assets/images/turrets/turret_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/turrets/turret_1.png -------------------------------------------------------------------------------- /Part 9/assets/images/turrets/turret_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/turrets/turret_2.png -------------------------------------------------------------------------------- /Part 9/assets/images/turrets/turret_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/turrets/turret_3.png -------------------------------------------------------------------------------- /Part 9/assets/images/turrets/turret_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/turrets/turret_4.png -------------------------------------------------------------------------------- /Part 1/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 10/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/constants.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/constants.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/enemy_data.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/enemy_data.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 11/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 12/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/constants.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/constants.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/enemy_data.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/enemy_data.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 13/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/buy_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/buy_turret.png -------------------------------------------------------------------------------- /Part 2/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 3/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 4/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 5/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 6/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 7/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 8/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 9/__pycache__/constants.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/constants.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/__pycache__/turret_data.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/turret_data.cpython-39.pyc -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 1/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 1/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 1/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 10/__pycache__/enemy_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/enemy_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/turret_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/turret_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 10/__pycache__/turret_data.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/__pycache__/turret_data.cpython-39.pyc -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 10/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 10/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 10/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 11/__pycache__/enemy_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/enemy_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/__pycache__/turret_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/__pycache__/turret_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 11/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 11/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 11/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 12/__pycache__/enemy_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/enemy_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/turret_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/turret_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 12/__pycache__/turret_data.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/__pycache__/turret_data.cpython-39.pyc -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 12/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 12/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 12/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 13/__pycache__/enemy_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/enemy_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/__pycache__/turret_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/__pycache__/turret_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/fast_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/fast_forward.png -------------------------------------------------------------------------------- /Part 13/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 13/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 13/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 2/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 2/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 2/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 3/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 3/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 3/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 4/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 4/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 4/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 5/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 5/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 5/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 6/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 6/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 6/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 7/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 7/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 7/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 8/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 8/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 8/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 9/__pycache__/turret_data.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/__pycache__/turret_data.cpython-310.pyc -------------------------------------------------------------------------------- /Part 9/assets/images/buttons/upgrade_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/buttons/upgrade_turret.png -------------------------------------------------------------------------------- /Part 9/assets/images/turrets/cursor_turret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russs123/tower_defence_tut/HEAD/Part 9/assets/images/turrets/cursor_turret.png -------------------------------------------------------------------------------- /Part 6/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 -------------------------------------------------------------------------------- /Part 7/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | 9 | #turret constants 10 | ANIMATION_STEPS = 8 11 | ANIMATION_DELAY = 15 -------------------------------------------------------------------------------- /Part 8/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | 9 | #turret constants 10 | ANIMATION_STEPS = 8 11 | ANIMATION_DELAY = 15 -------------------------------------------------------------------------------- /Part 9/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | 9 | #turret constants 10 | TURRET_LEVELS = 4 11 | ANIMATION_STEPS = 8 12 | ANIMATION_DELAY = 15 -------------------------------------------------------------------------------- /Part 10/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | 9 | #enemy constants 10 | SPAWN_COOLDOWN = 400 11 | 12 | #turret constants 13 | TURRET_LEVELS = 4 14 | ANIMATION_STEPS = 8 15 | ANIMATION_DELAY = 15 -------------------------------------------------------------------------------- /Part 10/turret_data.py: -------------------------------------------------------------------------------- 1 | TURRET_DATA = [ 2 | { 3 | #1 4 | "range": 90, 5 | "cooldown": 1500, 6 | }, 7 | { 8 | #2 9 | "range": 110, 10 | "cooldown": 1200, 11 | }, 12 | { 13 | #3 14 | "range": 125, 15 | "cooldown": 1000, 16 | }, 17 | { 18 | #4 19 | "range": 150, 20 | "cooldown": 900, 21 | } 22 | ] -------------------------------------------------------------------------------- /Part 11/turret_data.py: -------------------------------------------------------------------------------- 1 | TURRET_DATA = [ 2 | { 3 | #1 4 | "range": 90, 5 | "cooldown": 1500, 6 | }, 7 | { 8 | #2 9 | "range": 110, 10 | "cooldown": 1200, 11 | }, 12 | { 13 | #3 14 | "range": 125, 15 | "cooldown": 1000, 16 | }, 17 | { 18 | #4 19 | "range": 150, 20 | "cooldown": 900, 21 | } 22 | ] -------------------------------------------------------------------------------- /Part 12/turret_data.py: -------------------------------------------------------------------------------- 1 | TURRET_DATA = [ 2 | { 3 | #1 4 | "range": 90, 5 | "cooldown": 1500, 6 | }, 7 | { 8 | #2 9 | "range": 110, 10 | "cooldown": 1200, 11 | }, 12 | { 13 | #3 14 | "range": 125, 15 | "cooldown": 1000, 16 | }, 17 | { 18 | #4 19 | "range": 150, 20 | "cooldown": 900, 21 | } 22 | ] -------------------------------------------------------------------------------- /Part 13/turret_data.py: -------------------------------------------------------------------------------- 1 | TURRET_DATA = [ 2 | { 3 | #1 4 | "range": 90, 5 | "cooldown": 1500, 6 | }, 7 | { 8 | #2 9 | "range": 110, 10 | "cooldown": 1200, 11 | }, 12 | { 13 | #3 14 | "range": 125, 15 | "cooldown": 1000, 16 | }, 17 | { 18 | #4 19 | "range": 150, 20 | "cooldown": 900, 21 | } 22 | ] -------------------------------------------------------------------------------- /Part 2/enemy.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Enemy(pg.sprite.Sprite): 4 | def __init__(self, pos, image): 5 | pg.sprite.Sprite.__init__(self) 6 | self.image = image 7 | self.rect = self.image.get_rect() 8 | self.rect.center = pos 9 | 10 | def update(self): 11 | self.move() 12 | 13 | def move(self): 14 | self.rect.x += 1 -------------------------------------------------------------------------------- /Part 9/turret_data.py: -------------------------------------------------------------------------------- 1 | TURRET_DATA = [ 2 | { 3 | #1 4 | "range": 90, 5 | "cooldown": 1500, 6 | }, 7 | { 8 | #2 9 | "range": 110, 10 | "cooldown": 1200, 11 | }, 12 | { 13 | #3 14 | "range": 125, 15 | "cooldown": 1000, 16 | }, 17 | { 18 | #4 19 | "range": 150, 20 | "cooldown": 900, 21 | } 22 | ] -------------------------------------------------------------------------------- /Part 11/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | HEALTH = 100 9 | MONEY = 650 10 | 11 | #enemy constants 12 | SPAWN_COOLDOWN = 400 13 | 14 | #turret constants 15 | TURRET_LEVELS = 4 16 | BUY_COST = 200 17 | UPGRADE_COST = 100 18 | KILL_REWARD = 1 19 | ANIMATION_STEPS = 8 20 | ANIMATION_DELAY = 15 21 | DAMAGE = 5 -------------------------------------------------------------------------------- /Part 12/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | HEALTH = 1 9 | MONEY = 650 10 | TOTAL_LEVELS = 1 11 | 12 | #enemy constants 13 | SPAWN_COOLDOWN = 400 14 | 15 | #turret constants 16 | TURRET_LEVELS = 4 17 | BUY_COST = 200 18 | UPGRADE_COST = 100 19 | KILL_REWARD = 1 20 | LEVEL_COMPLETE_REWARD = 100 21 | ANIMATION_STEPS = 8 22 | ANIMATION_DELAY = 15 23 | DAMAGE = 5 -------------------------------------------------------------------------------- /Part 13/constants.py: -------------------------------------------------------------------------------- 1 | ROWS = 15 2 | COLS = 15 3 | TILE_SIZE = 48 4 | SIDE_PANEL = 300 5 | SCREEN_WIDTH = TILE_SIZE * COLS 6 | SCREEN_HEIGHT = TILE_SIZE * ROWS 7 | FPS = 60 8 | HEALTH = 100 9 | MONEY = 650 10 | TOTAL_LEVELS = 15 11 | 12 | #enemy constants 13 | SPAWN_COOLDOWN = 400 14 | 15 | #turret constants 16 | TURRET_LEVELS = 4 17 | BUY_COST = 200 18 | UPGRADE_COST = 100 19 | KILL_REWARD = 1 20 | LEVEL_COMPLETE_REWARD = 100 21 | ANIMATION_STEPS = 8 22 | ANIMATION_DELAY = 15 23 | DAMAGE = 5 -------------------------------------------------------------------------------- /Part 5/turret.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import constants as c 3 | 4 | class Turret(pg.sprite.Sprite): 5 | def __init__(self, image, tile_x, tile_y): 6 | pg.sprite.Sprite.__init__(self) 7 | self.tile_x = tile_x 8 | self.tile_y = tile_y 9 | #calculate center coordinates 10 | self.x = (self.tile_x + 0.5) * c.TILE_SIZE 11 | self.y = (self.tile_y + 0.5) * c.TILE_SIZE 12 | self.image = image 13 | self.rect = self.image.get_rect() 14 | self.rect.center = (self.x, self.y) -------------------------------------------------------------------------------- /Part 6/turret.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import constants as c 3 | 4 | class Turret(pg.sprite.Sprite): 5 | def __init__(self, image, tile_x, tile_y): 6 | pg.sprite.Sprite.__init__(self) 7 | self.tile_x = tile_x 8 | self.tile_y = tile_y 9 | #calculate center coordinates 10 | self.x = (self.tile_x + 0.5) * c.TILE_SIZE 11 | self.y = (self.tile_y + 0.5) * c.TILE_SIZE 12 | self.image = image 13 | self.rect = self.image.get_rect() 14 | self.rect.center = (self.x, self.y) -------------------------------------------------------------------------------- /Part 1/main.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import constants as c 3 | 4 | #initialise pygame 5 | pg.init() 6 | 7 | #create clock 8 | clock = pg.time.Clock() 9 | 10 | #create game window 11 | screen = pg.display.set_mode((c.SCREEN_WIDTH, c.SCREEN_HEIGHT)) 12 | pg.display.set_caption("Tower Defence") 13 | 14 | #game loop 15 | run = True 16 | while run: 17 | 18 | clock.tick(c.FPS) 19 | 20 | #event handler 21 | for event in pg.event.get(): 22 | #quit program 23 | if event.type == pg.QUIT: 24 | run = False 25 | 26 | pg.quit() -------------------------------------------------------------------------------- /Part 4/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.waypoints = [] 6 | self.level_data = data 7 | self.image = map_image 8 | 9 | def process_data(self): 10 | #look through data to extract relevant info 11 | for layer in self.level_data["layers"]: 12 | if layer["name"] == "waypoints": 13 | for obj in layer["objects"]: 14 | waypoint_data = obj["polyline"] 15 | self.process_waypoints(waypoint_data) 16 | 17 | def process_waypoints(self, data): 18 | #iterate through waypoints to extract individual sets of x and y coordinates 19 | for point in data: 20 | temp_x = point.get("x") 21 | temp_y = point.get("y") 22 | self.waypoints.append((temp_x, temp_y)) 23 | 24 | def draw(self, surface): 25 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 6/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 7/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 8/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 9/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 10/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 11/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 12/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 13/button.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class Button(): 4 | def __init__(self, x, y, image, single_click): 5 | self.image = image 6 | self.rect = self.image.get_rect() 7 | self.rect.topleft = (x, y) 8 | self.clicked = False 9 | self.single_click = single_click 10 | 11 | def draw(self, surface): 12 | action = False 13 | #get mouse position 14 | pos = pg.mouse.get_pos() 15 | 16 | #check mouseover and clicked conditions 17 | if self.rect.collidepoint(pos): 18 | if pg.mouse.get_pressed()[0] == 1 and self.clicked == False: 19 | action = True 20 | #if button is a single click type, then set clicked to True 21 | if self.single_click: 22 | self.clicked = True 23 | 24 | if pg.mouse.get_pressed()[0] == 0: 25 | self.clicked = False 26 | 27 | #draw button on screen 28 | surface.blit(self.image, self.rect) 29 | 30 | return action -------------------------------------------------------------------------------- /Part 5/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.tile_map = [] 6 | self.waypoints = [] 7 | self.level_data = data 8 | self.image = map_image 9 | 10 | def process_data(self): 11 | #look through data to extract relevant info 12 | for layer in self.level_data["layers"]: 13 | if layer["name"] == "tilemap": 14 | self.tile_map = layer["data"] 15 | elif layer["name"] == "waypoints": 16 | for obj in layer["objects"]: 17 | waypoint_data = obj["polyline"] 18 | self.process_waypoints(waypoint_data) 19 | 20 | def process_waypoints(self, data): 21 | #iterate through waypoints to extract individual sets of x and y coordinates 22 | for point in data: 23 | temp_x = point.get("x") 24 | temp_y = point.get("y") 25 | self.waypoints.append((temp_x, temp_y)) 26 | 27 | def draw(self, surface): 28 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 6/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.tile_map = [] 6 | self.waypoints = [] 7 | self.level_data = data 8 | self.image = map_image 9 | 10 | def process_data(self): 11 | #look through data to extract relevant info 12 | for layer in self.level_data["layers"]: 13 | if layer["name"] == "tilemap": 14 | self.tile_map = layer["data"] 15 | elif layer["name"] == "waypoints": 16 | for obj in layer["objects"]: 17 | waypoint_data = obj["polyline"] 18 | self.process_waypoints(waypoint_data) 19 | 20 | def process_waypoints(self, data): 21 | #iterate through waypoints to extract individual sets of x and y coordinates 22 | for point in data: 23 | temp_x = point.get("x") 24 | temp_y = point.get("y") 25 | self.waypoints.append((temp_x, temp_y)) 26 | 27 | def draw(self, surface): 28 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 7/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.tile_map = [] 6 | self.waypoints = [] 7 | self.level_data = data 8 | self.image = map_image 9 | 10 | def process_data(self): 11 | #look through data to extract relevant info 12 | for layer in self.level_data["layers"]: 13 | if layer["name"] == "tilemap": 14 | self.tile_map = layer["data"] 15 | elif layer["name"] == "waypoints": 16 | for obj in layer["objects"]: 17 | waypoint_data = obj["polyline"] 18 | self.process_waypoints(waypoint_data) 19 | 20 | def process_waypoints(self, data): 21 | #iterate through waypoints to extract individual sets of x and y coordinates 22 | for point in data: 23 | temp_x = point.get("x") 24 | temp_y = point.get("y") 25 | self.waypoints.append((temp_x, temp_y)) 26 | 27 | def draw(self, surface): 28 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 8/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.tile_map = [] 6 | self.waypoints = [] 7 | self.level_data = data 8 | self.image = map_image 9 | 10 | def process_data(self): 11 | #look through data to extract relevant info 12 | for layer in self.level_data["layers"]: 13 | if layer["name"] == "tilemap": 14 | self.tile_map = layer["data"] 15 | elif layer["name"] == "waypoints": 16 | for obj in layer["objects"]: 17 | waypoint_data = obj["polyline"] 18 | self.process_waypoints(waypoint_data) 19 | 20 | def process_waypoints(self, data): 21 | #iterate through waypoints to extract individual sets of x and y coordinates 22 | for point in data: 23 | temp_x = point.get("x") 24 | temp_y = point.get("y") 25 | self.waypoints.append((temp_x, temp_y)) 26 | 27 | def draw(self, surface): 28 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 9/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | 3 | class World(): 4 | def __init__(self, data, map_image): 5 | self.tile_map = [] 6 | self.waypoints = [] 7 | self.level_data = data 8 | self.image = map_image 9 | 10 | def process_data(self): 11 | #look through data to extract relevant info 12 | for layer in self.level_data["layers"]: 13 | if layer["name"] == "tilemap": 14 | self.tile_map = layer["data"] 15 | elif layer["name"] == "waypoints": 16 | for obj in layer["objects"]: 17 | waypoint_data = obj["polyline"] 18 | self.process_waypoints(waypoint_data) 19 | 20 | def process_waypoints(self, data): 21 | #iterate through waypoints to extract individual sets of x and y coordinates 22 | for point in data: 23 | temp_x = point.get("x") 24 | temp_y = point.get("y") 25 | self.waypoints.append((temp_x, temp_y)) 26 | 27 | def draw(self, surface): 28 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 2/main.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from enemy import Enemy 3 | import constants as c 4 | 5 | #initialise pygame 6 | pg.init() 7 | 8 | #create clock 9 | clock = pg.time.Clock() 10 | 11 | #create game window 12 | screen = pg.display.set_mode((c.SCREEN_WIDTH, c.SCREEN_HEIGHT)) 13 | pg.display.set_caption("Tower Defence") 14 | 15 | #load images 16 | enemy_image = pg.image.load('assets/images/enemies/enemy_1.png').convert_alpha() 17 | 18 | #create groups 19 | enemy_group = pg.sprite.Group() 20 | 21 | enemy = Enemy((200, 300), enemy_image) 22 | enemy_group.add(enemy) 23 | 24 | #game loop 25 | run = True 26 | while run: 27 | 28 | clock.tick(c.FPS) 29 | 30 | screen.fill("grey100") 31 | 32 | #update groups 33 | enemy_group.update() 34 | 35 | #draw groups 36 | enemy_group.draw(screen) 37 | 38 | #event handler 39 | for event in pg.event.get(): 40 | #quit program 41 | if event.type == pg.QUIT: 42 | run = False 43 | 44 | #update display 45 | pg.display.flip() 46 | 47 | pg.quit() -------------------------------------------------------------------------------- /Part 3/main.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from enemy import Enemy 3 | import constants as c 4 | 5 | #initialise pygame 6 | pg.init() 7 | 8 | #create clock 9 | clock = pg.time.Clock() 10 | 11 | #create game window 12 | screen = pg.display.set_mode((c.SCREEN_WIDTH, c.SCREEN_HEIGHT)) 13 | pg.display.set_caption("Tower Defence") 14 | 15 | #load images 16 | enemy_image = pg.image.load('assets/images/enemies/enemy_1.png').convert_alpha() 17 | 18 | #create groups 19 | enemy_group = pg.sprite.Group() 20 | 21 | waypoints = [ 22 | (100, 100), 23 | (400, 200), 24 | (400, 100), 25 | (200, 300) 26 | ] 27 | 28 | enemy = Enemy(waypoints, enemy_image) 29 | enemy_group.add(enemy) 30 | 31 | #game loop 32 | run = True 33 | while run: 34 | 35 | clock.tick(c.FPS) 36 | 37 | screen.fill("grey100") 38 | 39 | #draw enemy path 40 | pg.draw.lines(screen, "grey0", False, waypoints) 41 | 42 | #update groups 43 | enemy_group.update() 44 | 45 | #draw groups 46 | enemy_group.draw(screen) 47 | 48 | #event handler 49 | for event in pg.event.get(): 50 | #quit program 51 | if event.type == pg.QUIT: 52 | run = False 53 | 54 | #update display 55 | pg.display.flip() 56 | 57 | pg.quit() -------------------------------------------------------------------------------- /Part 1/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 10/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 11/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 12/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 13/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 2/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 3/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 4/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 4/main.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import json 3 | from enemy import Enemy 4 | from world import World 5 | import constants as c 6 | 7 | #initialise pygame 8 | pg.init() 9 | 10 | #create clock 11 | clock = pg.time.Clock() 12 | 13 | #create game window 14 | screen = pg.display.set_mode((c.SCREEN_WIDTH, c.SCREEN_HEIGHT)) 15 | pg.display.set_caption("Tower Defence") 16 | 17 | #load images 18 | #map 19 | map_image = pg.image.load('levels/level.png').convert_alpha() 20 | #enemies 21 | enemy_image = pg.image.load('assets/images/enemies/enemy_1.png').convert_alpha() 22 | 23 | #load json data for level 24 | with open('levels/level.tmj') as file: 25 | world_data = json.load(file) 26 | 27 | #create world 28 | world = World(world_data, map_image) 29 | world.process_data() 30 | 31 | #create groups 32 | enemy_group = pg.sprite.Group() 33 | 34 | enemy = Enemy(world.waypoints, enemy_image) 35 | enemy_group.add(enemy) 36 | 37 | #game loop 38 | run = True 39 | while run: 40 | 41 | clock.tick(c.FPS) 42 | 43 | screen.fill("grey100") 44 | 45 | #draw level 46 | world.draw(screen) 47 | 48 | #update groups 49 | enemy_group.update() 50 | 51 | #draw groups 52 | enemy_group.draw(screen) 53 | 54 | #event handler 55 | for event in pg.event.get(): 56 | #quit program 57 | if event.type == pg.QUIT: 58 | run = False 59 | 60 | #update display 61 | pg.display.flip() 62 | 63 | pg.quit() -------------------------------------------------------------------------------- /Part 5/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 6/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 7/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 8/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 9/levels/level.tmx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 7,7,7,7,7,7,7,7,7,7,7,7,8,6,7, 12 | 7,4,12,12,12,12,12,12,12,12,5,7,8,6,7, 13 | 7,8,1,2,2,2,2,2,2,3,6,7,8,6,7, 14 | 7,8,6,7,7,7,7,7,7,8,11,12,13,6,7, 15 | 7,8,6,7,7,7,7,7,7,9,2,2,2,10,7, 16 | 7,8,6,7,4,12,12,12,5,7,7,7,7,7,7, 17 | 7,8,6,7,8,1,2,3,11,12,12,12,12,12,5, 18 | 7,8,6,7,8,6,7,9,2,2,2,2,2,3,6, 19 | 7,8,6,7,8,6,7,7,7,7,7,7,7,8,6, 20 | 7,8,11,12,13,6,7,4,12,12,12,5,7,8,6, 21 | 7,9,2,2,2,10,7,8,1,2,3,6,7,8,6, 22 | 7,7,7,7,7,7,7,8,6,7,8,6,7,8,6, 23 | 12,12,12,12,12,12,12,13,6,7,8,11,12,13,6, 24 | 2,2,2,2,2,2,2,2,10,7,9,2,2,2,10, 25 | 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Part 10/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import random 3 | from enemy_data import ENEMY_SPAWN_DATA 4 | 5 | class World(): 6 | def __init__(self, data, map_image): 7 | self.level = 1 8 | self.tile_map = [] 9 | self.waypoints = [] 10 | self.level_data = data 11 | self.image = map_image 12 | self.enemy_list = [] 13 | self.spawned_enemies = 0 14 | 15 | def process_data(self): 16 | #look through data to extract relevant info 17 | for layer in self.level_data["layers"]: 18 | if layer["name"] == "tilemap": 19 | self.tile_map = layer["data"] 20 | elif layer["name"] == "waypoints": 21 | for obj in layer["objects"]: 22 | waypoint_data = obj["polyline"] 23 | self.process_waypoints(waypoint_data) 24 | 25 | def process_waypoints(self, data): 26 | #iterate through waypoints to extract individual sets of x and y coordinates 27 | for point in data: 28 | temp_x = point.get("x") 29 | temp_y = point.get("y") 30 | self.waypoints.append((temp_x, temp_y)) 31 | 32 | def process_enemies(self): 33 | enemies = ENEMY_SPAWN_DATA[self.level - 1] 34 | for enemy_type in enemies: 35 | enemies_to_spawn = enemies[enemy_type] 36 | for enemy in range(enemies_to_spawn): 37 | self.enemy_list.append(enemy_type) 38 | #now randomize the list to shuffle the enemies 39 | random.shuffle(self.enemy_list) 40 | 41 | def draw(self, surface): 42 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 11/world.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | import random 3 | import constants as c 4 | from enemy_data import ENEMY_SPAWN_DATA 5 | 6 | class World(): 7 | def __init__(self, data, map_image): 8 | self.level = 1 9 | self.health = c.HEALTH 10 | self.money = c.MONEY 11 | self.tile_map = [] 12 | self.waypoints = [] 13 | self.level_data = data 14 | self.image = map_image 15 | self.enemy_list = [] 16 | self.spawned_enemies = 0 17 | 18 | def process_data(self): 19 | #look through data to extract relevant info 20 | for layer in self.level_data["layers"]: 21 | if layer["name"] == "tilemap": 22 | self.tile_map = layer["data"] 23 | elif layer["name"] == "waypoints": 24 | for obj in layer["objects"]: 25 | waypoint_data = obj["polyline"] 26 | self.process_waypoints(waypoint_data) 27 | 28 | def process_waypoints(self, data): 29 | #iterate through waypoints to extract individual sets of x and y coordinates 30 | for point in data: 31 | temp_x = point.get("x") 32 | temp_y = point.get("y") 33 | self.waypoints.append((temp_x, temp_y)) 34 | 35 | def process_enemies(self): 36 | enemies = ENEMY_SPAWN_DATA[self.level - 1] 37 | for enemy_type in enemies: 38 | enemies_to_spawn = enemies[enemy_type] 39 | for enemy in range(enemies_to_spawn): 40 | self.enemy_list.append(enemy_type) 41 | #now randomize the list to shuffle the enemies 42 | random.shuffle(self.enemy_list) 43 | 44 | def draw(self, surface): 45 | surface.blit(self.image, (0, 0)) -------------------------------------------------------------------------------- /Part 1/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 2/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 3/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 4/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 5/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 6/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 7/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 8/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 9/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 10/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 11/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 12/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 13/levels/TD tileset.tsx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Part 3/enemy.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from pygame.math import Vector2 3 | import math 4 | 5 | class Enemy(pg.sprite.Sprite): 6 | def __init__(self, waypoints, image): 7 | pg.sprite.Sprite.__init__(self) 8 | self.waypoints = waypoints 9 | self.pos = Vector2(self.waypoints[0]) 10 | self.target_waypoint = 1 11 | self.speed = 2 12 | self.angle = 0 13 | self.original_image = image 14 | self.image = pg.transform.rotate(self.original_image, self.angle) 15 | self.rect = self.image.get_rect() 16 | self.rect.center = self.pos 17 | 18 | def update(self): 19 | self.move() 20 | self.rotate() 21 | 22 | def move(self): 23 | #define a target waypoint 24 | if self.target_waypoint < len(self.waypoints): 25 | self.target = Vector2(self.waypoints[self.target_waypoint]) 26 | self.movement = self.target - self.pos 27 | else: 28 | #enemy has reached the end of the path 29 | self.kill() 30 | 31 | #calculate distance to target 32 | dist = self.movement.length() 33 | #check if remaining distance is greater than the enemy speed 34 | if dist >= self.speed: 35 | self.pos += self.movement.normalize() * self.speed 36 | else: 37 | if dist != 0: 38 | self.pos += self.movement.normalize() * dist 39 | self.target_waypoint += 1 40 | 41 | def rotate(self): 42 | #calculate distance to next waypoint 43 | dist = self.target - self.pos 44 | #use distance to calculate angle 45 | self.angle = math.degrees(math.atan2(-dist[1], dist[0])) 46 | #rotate image and update rectangle 47 | self.image = pg.transform.rotate(self.original_image, self.angle) 48 | self.rect = self.image.get_rect() 49 | self.rect.center = self.pos -------------------------------------------------------------------------------- /Part 4/enemy.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from pygame.math import Vector2 3 | import math 4 | 5 | class Enemy(pg.sprite.Sprite): 6 | def __init__(self, waypoints, image): 7 | pg.sprite.Sprite.__init__(self) 8 | self.waypoints = waypoints 9 | self.pos = Vector2(self.waypoints[0]) 10 | self.target_waypoint = 1 11 | self.speed = 2 12 | self.angle = 0 13 | self.original_image = image 14 | self.image = pg.transform.rotate(self.original_image, self.angle) 15 | self.rect = self.image.get_rect() 16 | self.rect.center = self.pos 17 | 18 | def update(self): 19 | self.move() 20 | self.rotate() 21 | 22 | def move(self): 23 | #define a target waypoint 24 | if self.target_waypoint < len(self.waypoints): 25 | self.target = Vector2(self.waypoints[self.target_waypoint]) 26 | self.movement = self.target - self.pos 27 | else: 28 | #enemy has reached the end of the path 29 | self.kill() 30 | 31 | #calculate distance to target 32 | dist = self.movement.length() 33 | #check if remaining distance is greater than the enemy speed 34 | if dist >= self.speed: 35 | self.pos += self.movement.normalize() * self.speed 36 | else: 37 | if dist != 0: 38 | self.pos += self.movement.normalize() * dist 39 | self.target_waypoint += 1 40 | 41 | def rotate(self): 42 | #calculate distance to next waypoint 43 | dist = self.target - self.pos 44 | #use distance to calculate angle 45 | self.angle = math.degrees(math.atan2(-dist[1], dist[0])) 46 | #rotate image and update rectangle 47 | self.image = pg.transform.rotate(self.original_image, self.angle) 48 | self.rect = self.image.get_rect() 49 | self.rect.center = self.pos -------------------------------------------------------------------------------- /Part 5/enemy.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from pygame.math import Vector2 3 | import math 4 | 5 | class Enemy(pg.sprite.Sprite): 6 | def __init__(self, waypoints, image): 7 | pg.sprite.Sprite.__init__(self) 8 | self.waypoints = waypoints 9 | self.pos = Vector2(self.waypoints[0]) 10 | self.target_waypoint = 1 11 | self.speed = 2 12 | self.angle = 0 13 | self.original_image = image 14 | self.image = pg.transform.rotate(self.original_image, self.angle) 15 | self.rect = self.image.get_rect() 16 | self.rect.center = self.pos 17 | 18 | def update(self): 19 | self.move() 20 | self.rotate() 21 | 22 | def move(self): 23 | #define a target waypoint 24 | if self.target_waypoint < len(self.waypoints): 25 | self.target = Vector2(self.waypoints[self.target_waypoint]) 26 | self.movement = self.target - self.pos 27 | else: 28 | #enemy has reached the end of the path 29 | self.kill() 30 | 31 | #calculate distance to target 32 | dist = self.movement.length() 33 | #check if remaining distance is greater than the enemy speed 34 | if dist >= self.speed: 35 | self.pos += self.movement.normalize() * self.speed 36 | else: 37 | if dist != 0: 38 | self.pos += self.movement.normalize() * dist 39 | self.target_waypoint += 1 40 | 41 | def rotate(self): 42 | #calculate distance to next waypoint 43 | dist = self.target - self.pos 44 | #use distance to calculate angle 45 | self.angle = math.degrees(math.atan2(-dist[1], dist[0])) 46 | #rotate image and update rectangle 47 | self.image = pg.transform.rotate(self.original_image, self.angle) 48 | self.rect = self.image.get_rect() 49 | self.rect.center = self.pos -------------------------------------------------------------------------------- /Part 6/enemy.py: -------------------------------------------------------------------------------- 1 | import pygame as pg 2 | from pygame.math import Vector2 3 | import math 4 | 5 | class Enemy(pg.sprite.Sprite): 6 | def __init__(self, waypoints, image): 7 | pg.sprite.Sprite.__init__(self) 8 | self.waypoints = waypoints 9 | self.pos = Vector2(self.waypoints[0]) 10 | self.target_waypoint = 1 11 | self.speed = 2 12 | self.angle = 0 13 | self.original_image = image 14 | self.image = pg.transform.rotate(self.original_image, self.angle) 15 | self.rect = self.image.get_rect() 16 | self.rect.center = self.pos 17 | 18 | def update(self): 19 | self.move() 20 | self.rotate() 21 | 22 | def move(self): 23 | #define a target waypoint 24 | if self.target_waypoint < len(self.waypoints): 25 | self.target = Vector2(self.waypoints[self.target_waypoint]) 26 | self.movement = self.target - self.pos 27 | else: 28 | #enemy has reached the end of the path 29 | self.kill() 30 | 31 | #calculate distance to target 32 | dist = self.movement.length() 33 | #check if remaining distance is greater than the enemy speed 34 | if dist >= self.speed: 35 | self.pos += self.movement.normalize() * self.speed 36 | else: 37 | if dist != 0: 38 | self.pos += self.movement.normalize() * dist 39 | self.target_waypoint += 1 40 | 41 | def rotate(self): 42 | #calculate distance to next waypoint 43 | dist = self.target - self.pos 44 | #use distance to calculate angle 45 | self.angle = math.degrees(math.atan2(-dist[1], dist[0])) 46 | #rotate image and update rectangle 47 | self.image = pg.transform.rotate(self.original_image, self.angle) 48 | self.rect = self.image.get_rect() 49 | self.rect.center = self.pos --------------------------------------------------------------------------------