Files
2022-04-11 18:34:26 +03:00

172 lines
6.1 KiB
Lua

-----ЗАГРУЗКА СТОРОННИХ ФАЙЛОВ-----
require "scripts/mainMenu" --функции связанные с главным меню
require "scripts/gameMode" --функции связанные с экраном игры
require "scripts/gameInterface" --функции связанные с интерфейсом игры
require "scripts/player/draw" --функции связанные с отрисовкой игрока
require "scripts/player/update" --функции связанные с обновлением игрока
require "scripts/player/load" --функции связанные с загрузкой игрока
require "scripts/enemy/draw" --функции связанные с отрисовкой врагов
require "scripts/enemy/update" --функции связанные с обновлением врагов
require "scripts/enemy/load" --функции связанные с загрузкой врагов
require "scripts/bonus/draw" --функции связанные с отрисовкой бонусов
require "scripts/bonus/update" --функции связанные с обновлением бонусов
require "scripts/bonus/load" --функции связанные с загрузкой бонусов
require "scripts/levels/draw" --функции связанные с отрисовкой уровней
require "scripts/levels/update" --функции связанные с обновлением уровней
require "scripts/levels/load" --функции связанные с загрузкой уровней
require "scripts/test" --функции связанные с тестирование
-----ЗАГРУЗКА ПРОГРАММЫ-----
function love.load()
--Размер Окна--
love.graphics.setMode(1280, 720, false, false, 1) --размер окна
--Массив для Текущих Значений--
current = {}
--Проверка Текущего Состояния--
--режим:
--1) главное меню
--2) игра
current.screen = 1
--кнопка:
--1) новая игра
--2) выход
--3) продолжить
--4) рестарт
--5) меню
current.button = buttonGame
--выбор в меню:
-- -1) вверх
-- 0) стоп
-- 1) вниз
current.selection = 0
menu.load()
--Загрузка Игры--
current.pause = false
current.test = false
current.enemies = 0
current.godmode = false
current.level = 1
current.levelChanged = true
current.levelCompleted = false
current.gameCompleted = false
game.background.load()
game.level.load()
game.player.load()
game.enemy.load()
game.bonus.load()
end
-----ОБНОВЛЕНИЕ ПРОГРАММЫ-----
function love.update(dt)
--выполнение функций главного меню при его включении
if current.screen == 1 then
menu.selection()
menu.enter()
end
--выполнение функций игрового экрана при его включении
if current.screen == 2 then
if not current.pause and not player.dead then
game.update(dt)
end
end
end
-----ОТРИСОВКА ИГРЫ-----
function love.draw()
if current.screen == 1 then --если экран меню
menu.draw() --то рисуем его
elseif current.screen == 2 then --если экран игры
game.draw() --то рисуем его
end
end
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
function love.keyreleased(key)
if (current.screen == 1) or (player.dead) then --если экран меню
if key == "down" or key == "right" then --то по нажатию "Вниз"
current.selection = 1 --записать информацию о том что было нажато "Вниз"
elseif key == "up" or key == "left" then --а по нажатию "Вверх"
current.selection = -1 --записать информацию о том что было нажато "Вверх"
end
if key == "escape" and current.pause == true then
current.pause = false
current.screen = 2
end
if key == "escape" and player.dead then
current.screen = 1
end
end
if current.screen == 2 then --если экран игры
if key == "escape" then --то по нажатию "Esc"
current.pause = true --поставить на паузу
current.screen = 1 --открыть меню
current.button = buttonResume --и выбрать пункт "Продолжить"
end
if key == "p" then
current.pause = not current.pause
end
if key == "t" then
current.test = not current.test
end
if current.test then
if key == "1" then
player.weapon.changed = true
player.weapon.type.new = "plasma"
elseif key == "2" then
player.weapon.changed = true
player.weapon.type.new = "laser"
end
if key == "g" and current.test then
current.godmode = not current.godmode
end
if key == "l" and player.level < 5 then
player.levelUp = true
end
if key == "b" then
game.bonus.create(1280, 360, math.random(1, bonus.types) )
end
end
end
end