-- Variáveis Globais
local dinheiro = 1000 -- Capital inicial do jogador
local taxa_geracao = 1 -- Taxa de geração de dinheiro por segundo
local negocios = {}
-- Definir os tipos de negócios
local tipos_negocios = {
{nome = "Loja de Conveniência", custo = 100, lucro = 10, nivel = 1},
{nome = "Restaurante", custo = 500, lucro = 50, nivel = 1},
{nome = "Fazenda", custo = 1000, lucro = 100, nivel = 1},
{nome = "Fábrica", custo = 2000, lucro = 200, nivel = 1},
{nome = "Shopping", custo = 5000, lucro = 500, nivel = 1},
{nome = "Hotel", custo = 10000, lucro = 1000, nivel = 1},
{nome = "Companhia Aérea", custo = 20000, lucro = 2000, nivel = 1},
{nome = "Tecnologia", custo = 50000, lucro = 5000, nivel = 1},
{nome = "Banco", custo = 100000, lucro = 10000, nivel = 1},
{nome = "Empresa de Energia", custo = 200000, lucro = 20000, nivel = 1}
}
-- Função para atualizar o dinheiro por segundo com base nos negócios
local function atualizar_lucro()
local lucro_total = 0
for i, negocio in ipairs(negocios) do
lucro_total = lucro_total + (negocio.lucro * negocio.nivel)
end
return lucro_total
end
-- Função para evoluir um negócio
local function evoluir_negocio(negocio)
local custo_upgrade = negocio.custo negocio.nivel 2
if dinheiro >= custo_upgrade then
dinheiro = dinheiro - custo_upgrade
negocio.nivel = negocio.nivel + 1
print(negocio.nome .. " evoluído para o nível " .. negocio.nivel)
else
print("Dinheiro insuficiente para evoluir " .. negocio.nome)
end
end
-- Função para comprar um novo negócio
local function comprar_negocio(index)
local negocio = tipos_negocios[index]
if dinheiro >= negocio.custo then
dinheiro = dinheiro - negocio.custo
table.insert(negocios, negocio)
print(negocio.nome .. " comprado!")
else
print("Dinheiro insuficiente para comprar " .. negocio.nome)
end
end
-- Função de atualização por tempo
function update(self, dt)
-- A cada segundo, gerar lucro dos negócios
self.time_passed = (self.time_passed or 0) + dt
if self.time_passed >= taxa_geracao then
local lucro = atualizar_lucro()
dinheiro = dinheiro + lucro
print("Dinheiro atual: " .. dinheiro)
self.time_passed = 0
end
end
-- Função para tratar entrada do jogador (comprar/evoluir)
function on_input(self, action_id, action)
if action_id == hash("compra_loja") and action.released then
comprar_negocio(1) -- Exemplo: comprar uma "Loja de Conveniência"
elseif action_id == hash("evoluir_loja") and action.released then
evoluir_negocio(negocios[1]) -- Exemplo: evoluir o primeiro negócio
end
end
-- Capitalismo: Jogo de Investimento em Negócios
-- Variáveis Globais local dinheiro = 1000 -- Capital inicial do jogador local taxa_geracao = 1 -- Taxa de geração de dinheiro por segundo local negocios = {}
-- Definir os tipos de negócios local tipos_negocios = { {nome = "Loja de Conveniência", custo = 100, lucro = 10, nivel = 1}, {nome = "Restaurante", custo = 500, lucro = 50, nivel = 1}, {nome = "Fazenda", custo = 1000, lucro = 100, nivel = 1}, {nome = "Fábrica", custo = 2000, lucro = 200, nivel = 1}, {nome = "Shopping", custo = 5000, lucro = 500, nivel = 1}, {nome = "Hotel", custo = 10000, lucro = 1000, nivel = 1}, {nome = "Companhia Aérea", custo = 20000, lucro = 2000, nivel = 1}, {nome = "Tecnologia", custo = 50000, lucro = 5000, nivel = 1}, {nome = "Banco", custo = 100000, lucro = 10000, nivel = 1}, {nome = "Empresa de Energia", custo = 200000, lucro = 20000, nivel = 1} }
-- Função para atualizar o dinheiro por segundo com base nos negócios local function atualizar_lucro() local lucro_total = 0 for i, negocio in ipairs(negocios) do lucro_total = lucro_total + (negocio.lucro * negocio.nivel) end return lucro_total end
-- Função para evoluir um negócio local function evoluir_negocio(negocio) local custo_upgrade = negocio.custo negocio.nivel 2 if dinheiro >= custo_upgrade then dinheiro = dinheiro - custo_upgrade negocio.nivel = negocio.nivel + 1 print(negocio.nome .. " evoluído para o nível " .. negocio.nivel) else print("Dinheiro insuficiente para evoluir " .. negocio.nome) end end
-- Função para comprar um novo negócio local function comprar_negocio(index) local negocio = tipos_negocios[index] if dinheiro >= negocio.custo then dinheiro = dinheiro - negocio.custo table.insert(negocios, negocio) print(negocio.nome .. " comprado!") else print("Dinheiro insuficiente para comprar " .. negocio.nome) end end
-- Função de atualização por tempo function update(self, dt) -- A cada segundo, gerar lucro dos negócios self.time_passed = (self.time_passed or 0) + dt if self.time_passed >= taxa_geracao then local lucro = atualizar_lucro() dinheiro = dinheiro + lucro print("Dinheiro atual: " .. dinheiro) self.time_passed = 0 end end
-- Função para tratar entrada do jogador (comprar/evoluir) function on_input(self, action_id, action) if action_id == hash("compra_loja") and action.released then comprar_negocio(1) -- Exemplo: comprar uma "Loja de Conveniência" elseif action_id == hash("evoluir_loja") and action.released then evoluir_negocio(negocios[1]) -- Exemplo: evoluir o primeiro negócio end end