From 817d46752d9e6fafef837a46bf9b170d0f4879a2 Mon Sep 17 00:00:00 2001 From: gre-ilya Date: Sat, 10 Jan 2026 12:16:04 +0500 Subject: [PATCH] refactored --- Makefile | 30 +++---------------- README.md | 12 ++++++++ src/Makefile | 28 +++++++++++++++++ .../arena_graphics_m.pas | 0 arena_m.pas => src/arena_m.pas | 0 ascii_arts_m.pas => src/ascii_arts_m.pas | 0 cell_m.pas => src/cell_m.pas | 0 completed.txt => src/completed.txt | 0 convbanners.pas => src/convbanners.pas | 0 creature_m.pas => src/creature_m.pas | 0 debug_m.pas => src/debug_m.pas | 0 drop_fields_m.pas => src/drop_fields_m.pas | 0 drop_m.pas => src/drop_m.pas | 0 enemy_packs_m.pas => src/enemy_packs_m.pas | 0 exit.txt => src/exit.txt | 0 game_m.pas => src/game_m.pas | 0 gameover.txt => src/gameover.txt | 0 ghost_m.pas => src/ghost_m.pas | 0 gohamster.pas => src/gohamster.pas | 0 graphics_m.pas => src/graphics_m.pas | 0 hamster_m.pas => src/hamster_m.pas | 0 keys.txt => src/keys.txt | 0 keys_m.pas => src/keys_m.pas | 0 level.txt => src/level.txt | 0 level_m.pas => src/level_m.pas | 0 math_m.pas => src/math_m.pas | 0 menu.txt => src/menu.txt | 0 paused.txt => src/paused.txt | 0 snake_fields_m.pas => src/snake_fields_m.pas | 0 snake_m.pas => src/snake_m.pas | 0 sun_fields_m.pas => src/sun_fields_m.pas | 0 sun_m.pas => src/sun_m.pas | 0 trace_m.pas => src/trace_m.pas | 0 33 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 README.md create mode 100644 src/Makefile rename arena_graphics_m.pas => src/arena_graphics_m.pas (100%) rename arena_m.pas => src/arena_m.pas (100%) rename ascii_arts_m.pas => src/ascii_arts_m.pas (100%) rename cell_m.pas => src/cell_m.pas (100%) rename completed.txt => src/completed.txt (100%) rename convbanners.pas => src/convbanners.pas (100%) rename creature_m.pas => src/creature_m.pas (100%) rename debug_m.pas => src/debug_m.pas (100%) rename drop_fields_m.pas => src/drop_fields_m.pas (100%) rename drop_m.pas => src/drop_m.pas (100%) rename enemy_packs_m.pas => src/enemy_packs_m.pas (100%) rename exit.txt => src/exit.txt (100%) rename game_m.pas => src/game_m.pas (100%) rename gameover.txt => src/gameover.txt (100%) rename ghost_m.pas => src/ghost_m.pas (100%) rename gohamster.pas => src/gohamster.pas (100%) rename graphics_m.pas => src/graphics_m.pas (100%) rename hamster_m.pas => src/hamster_m.pas (100%) rename keys.txt => src/keys.txt (100%) rename keys_m.pas => src/keys_m.pas (100%) rename level.txt => src/level.txt (100%) rename level_m.pas => src/level_m.pas (100%) rename math_m.pas => src/math_m.pas (100%) rename menu.txt => src/menu.txt (100%) rename paused.txt => src/paused.txt (100%) rename snake_fields_m.pas => src/snake_fields_m.pas (100%) rename snake_m.pas => src/snake_m.pas (100%) rename sun_fields_m.pas => src/sun_fields_m.pas (100%) rename sun_m.pas => src/sun_m.pas (100%) rename trace_m.pas => src/trace_m.pas (100%) diff --git a/Makefile b/Makefile index 2728f7e..4028581 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,6 @@ -FPC = fpc -CONVBANNERS_SRC = convbanners.pas - -BANNERS_SRC = completed.txt exit.txt keys.txt paused.txt menu.txt \ - level.txt gameover.txt - -GAME_SRC = _banners_m.pas arena_graphics_m.pas arena_m.pas \ - ascii_arts_m.pas cell_m.pas creature_m.pas enemy_packs_m.pas \ - game_m.pas ghost_m.pas gohamster.pas graphics_m.pas hamster_m.pas \ - keys_m.pas level_m.pas math_m.pas sun_m.pas sun_fields_m.pas \ - trace_m.pas snake_m.pas snake_fields_m.pas drop_m.pas drop_fields_m.pas - -all: gohamster - -play: gohamster - ./gohamster - -gohamster: $(GAME_SRC) - $(FPC) $@.pas - -_banners_m.pas: convbanners $(BANNERS_SRC) - ./convbanners - -convbanners: $(CONVBANNERS_SRC) - $(FPC) $@.pas +default: + cd src && $(MAKE) clean: - rm *.o *.ppu convbanners _banners_m.pas gohamster + cd src && $(MAKE) clean + diff --git a/README.md b/README.md new file mode 100644 index 0000000..3360c16 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Go Hamster +Это калька на одноимённую игру с телефона Samsung SGH-C100, играл неё в далёком детстве :), решил реализовать в качестве упражнения. В качестве инструмента для реализации этюда выбрал Object Pascal. + +## Сборка +```bash +make +``` + +## Запуск: +```bash +make play +``` diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..2728f7e --- /dev/null +++ b/src/Makefile @@ -0,0 +1,28 @@ +FPC = fpc +CONVBANNERS_SRC = convbanners.pas + +BANNERS_SRC = completed.txt exit.txt keys.txt paused.txt menu.txt \ + level.txt gameover.txt + +GAME_SRC = _banners_m.pas arena_graphics_m.pas arena_m.pas \ + ascii_arts_m.pas cell_m.pas creature_m.pas enemy_packs_m.pas \ + game_m.pas ghost_m.pas gohamster.pas graphics_m.pas hamster_m.pas \ + keys_m.pas level_m.pas math_m.pas sun_m.pas sun_fields_m.pas \ + trace_m.pas snake_m.pas snake_fields_m.pas drop_m.pas drop_fields_m.pas + +all: gohamster + +play: gohamster + ./gohamster + +gohamster: $(GAME_SRC) + $(FPC) $@.pas + +_banners_m.pas: convbanners $(BANNERS_SRC) + ./convbanners + +convbanners: $(CONVBANNERS_SRC) + $(FPC) $@.pas + +clean: + rm *.o *.ppu convbanners _banners_m.pas gohamster diff --git a/arena_graphics_m.pas b/src/arena_graphics_m.pas similarity index 100% rename from arena_graphics_m.pas rename to src/arena_graphics_m.pas diff --git a/arena_m.pas b/src/arena_m.pas similarity index 100% rename from arena_m.pas rename to src/arena_m.pas diff --git a/ascii_arts_m.pas b/src/ascii_arts_m.pas similarity index 100% rename from ascii_arts_m.pas rename to src/ascii_arts_m.pas diff --git a/cell_m.pas b/src/cell_m.pas similarity index 100% rename from cell_m.pas rename to src/cell_m.pas diff --git a/completed.txt b/src/completed.txt similarity index 100% rename from completed.txt rename to src/completed.txt diff --git a/convbanners.pas b/src/convbanners.pas similarity index 100% rename from convbanners.pas rename to src/convbanners.pas diff --git a/creature_m.pas b/src/creature_m.pas similarity index 100% rename from creature_m.pas rename to src/creature_m.pas diff --git a/debug_m.pas b/src/debug_m.pas similarity index 100% rename from debug_m.pas rename to src/debug_m.pas diff --git a/drop_fields_m.pas b/src/drop_fields_m.pas similarity index 100% rename from drop_fields_m.pas rename to src/drop_fields_m.pas diff --git a/drop_m.pas b/src/drop_m.pas similarity index 100% rename from drop_m.pas rename to src/drop_m.pas diff --git a/enemy_packs_m.pas b/src/enemy_packs_m.pas similarity index 100% rename from enemy_packs_m.pas rename to src/enemy_packs_m.pas diff --git a/exit.txt b/src/exit.txt similarity index 100% rename from exit.txt rename to src/exit.txt diff --git a/game_m.pas b/src/game_m.pas similarity index 100% rename from game_m.pas rename to src/game_m.pas diff --git a/gameover.txt b/src/gameover.txt similarity index 100% rename from gameover.txt rename to src/gameover.txt diff --git a/ghost_m.pas b/src/ghost_m.pas similarity index 100% rename from ghost_m.pas rename to src/ghost_m.pas diff --git a/gohamster.pas b/src/gohamster.pas similarity index 100% rename from gohamster.pas rename to src/gohamster.pas diff --git a/graphics_m.pas b/src/graphics_m.pas similarity index 100% rename from graphics_m.pas rename to src/graphics_m.pas diff --git a/hamster_m.pas b/src/hamster_m.pas similarity index 100% rename from hamster_m.pas rename to src/hamster_m.pas diff --git a/keys.txt b/src/keys.txt similarity index 100% rename from keys.txt rename to src/keys.txt diff --git a/keys_m.pas b/src/keys_m.pas similarity index 100% rename from keys_m.pas rename to src/keys_m.pas diff --git a/level.txt b/src/level.txt similarity index 100% rename from level.txt rename to src/level.txt diff --git a/level_m.pas b/src/level_m.pas similarity index 100% rename from level_m.pas rename to src/level_m.pas diff --git a/math_m.pas b/src/math_m.pas similarity index 100% rename from math_m.pas rename to src/math_m.pas diff --git a/menu.txt b/src/menu.txt similarity index 100% rename from menu.txt rename to src/menu.txt diff --git a/paused.txt b/src/paused.txt similarity index 100% rename from paused.txt rename to src/paused.txt diff --git a/snake_fields_m.pas b/src/snake_fields_m.pas similarity index 100% rename from snake_fields_m.pas rename to src/snake_fields_m.pas diff --git a/snake_m.pas b/src/snake_m.pas similarity index 100% rename from snake_m.pas rename to src/snake_m.pas diff --git a/sun_fields_m.pas b/src/sun_fields_m.pas similarity index 100% rename from sun_fields_m.pas rename to src/sun_fields_m.pas diff --git a/sun_m.pas b/src/sun_m.pas similarity index 100% rename from sun_m.pas rename to src/sun_m.pas diff --git a/trace_m.pas b/src/trace_m.pas similarity index 100% rename from trace_m.pas rename to src/trace_m.pas