defold / games-showcase

Collection of Defold games
MIT License
6 stars 2 forks source link

CRAZY CAPITALIST #16

Closed lucas2313 closed 1 month ago

lucas2313 commented 1 month ago

-- 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

britzl commented 1 month ago

Spam