Article image
Gicelia Oliveira
Gicelia Oliveira02/09/2025 19:11
Compartilhe

Quando seu inventário no RPG fica pequeno demais...

    Olá, tudo bem? Esse é o meu primeiro artigo, então peguem leve, eu prometo melhorar com o tempo.

    A minha linguagem principal é Java e eu queria complartilhar conhecimentos tanto de Java, quanto dos assuntos que aprendo na faculdade de Sistemas de Informação. Nesses artigos irei compartilhar conhecimentos tanto básicos, como avançados (vai ter para todos os gostos).

    Então hoje, gostaria de compartilhar algo básico sobre Java, quem não sabe vai aprender e quem já sabe vai relembrar!

    Em Java, o Array é tipo aquela mochila que você começa no jogo: cabe só um número fixo de itens. Se lotou, acabou. Já o ArrayList é como uma mochila mágica: ela expande sozinha conforme você precisa guardar mais coisas. Então aqui, você vai criar o seu inventário, dessa forma como escrevi abaixo.

    💡Lembrete: adicionar o import no início do arquivo (se não o código vai dar erro, mesmo você tendo escrito tudo certinho). O import nesse caso é: import java.util.ArrayList; ok?

    ArrayList<String> inventario = new ArrayList<>();

    inventario.add("Espada");

    inventario.add("Poção");

    inventario.add("Mapa");

    Agora é só usar inventario e nunca mais sofrer porque o espaço acabou.

    💡Para nunca esquecer: quando falamos sobre import, é como se ele fosse o “portal” que traz aquela classe do reino das bibliotecas para dentro do seu código. Sem abrir o portal, o compilador fica perdido e não acha a classe.

    Na minha IDE (IntelliJ) ficou desse jeito:

    image

    Espero que tenham gostado, fiz com bastante carinho. Até o próximo artigo!

    Compartilhe
    Comentários (4)
    Gicelia Oliveira
    Gicelia Oliveira - 05/09/2025 14:59

    Repondendo a DIO Community, a pergunta foi "E já que você mencionou o ArrayList, você tem algum exemplo de como ele pode ser usado para organizar dados mais complexos, como objetos ou listas de objetos?".

    A resposta é: COM CERTEZA! Além de usar o ArrayList com strings simples, também é possível organizar objetos dentro dele, o que vai deixar o projeto do RPG (que é usado como exemplo), muito mais completo e divertido!

    Por exemplo, no caso do RPG que estou desenvolvendo para treinar Java, em vez de guardar apenas os nomes dos itens, eu criei uma classe "Item" com atributos como nome, tipo e poder. Dessa forma, consigo ter um inventário mais completo e aumentar cada vez mais o universo do nosso jogo:

    image

    Ao expandirmos o nosso código, através das boas práticas de código, nós precisamos deixa-lo bem organizado, para que seja fácil a leitura para qualquer dev que for desenvolve-lo no futuro. (Nós somos uma comunidade, por favor, sempre deixe anotações explicativas e um código bem limpo para o seu colega não ficar desesperado tentando entender o que você criou).

    Nesse caso, a classe main ficará para os comandos principais (como se fosse os botões do controle do videogame) e criamos uma classe chamada Item, dentro dela, tudo o que for relacionado aos itens, será criado dentro dela.

    Na classe Item, nós criamos construtores getters e setters: Getters servem para ler valores de forma segura e Setters para alterar valores de forma controlada, mantendo a integridade do objeto. Isso tudo faz parte de um princípio central da POO chamado encapsulamento: esconder os detalhes internos e só expor formas seguras de acesso. Quando escrevemos um código, precisamos sempre estar atentos as classificações dos atributos (private, public, protected, static, final), vou te explicar o porque de cada um:


    1) Encapsulamento e proteção

    Se você deixar tudo como public, qualquer parte do programa pode mexer nos atributos. Isso gera risco de quebra de regras (é como deixar a mochila destrancada (qualquer um pode mexer) vs. deixar com cadeado e chave (só acessa de forma controlada).


    2) Controle de acesso

    As palavras-chave (private, protected, public) definem quem pode ver e usar cada atributo:

    • private → só a própria classe pode mexer.
    • protected → subclasses (e quem estiver no mesmo pacote) também podem mexer.
    • public → qualquer um pode acessar.


     3) Imutabilidade e confiança

    Se você classifica um atributo como final, ele não pode mudar depois de criado. Isso garante que o valor será sempre o mesmo — útil para itens lendários, IDs ou constantes.


     4) Organização e clareza do código

    Quando você define bem as classificações:

    • Fica claro quem pode usar cada atributo.
    • Reduz risco de erro em equipes grandes.
    • Ajuda até o próprio compilador a te proteger (avisando sobre usos indevidos).


    A classe "main" ficou assim:

    image

    A classe "main" é o coração do programa — onde a aventura começa. É como se fosse o menu inicial do RPG, onde o jogador aperta “Start” e o jogo passa a rodar. Todo código em Java precisa do método "main" para ter um ponto de partida.

    image

    Aqui você está criando os objetos (com a classe "Item") e guardando cada um dentro do ArrayList.

    É como colocar espada, poção e escudo dentro da mochila mágica.

    image

    O for é usado para analisar um bloco de código (ele vai verificar cada aspecto do mapa que você quer conhecer) e te dizer o que encontrou em cada ponto do caminho, passo a passo, até que toda a área seja explorada.

    E System.out.println vai te contar o que está acontecendo no jogo, como se fosse um narrador que fala cada ação do seu herói. Desse jeito:

    image

    Essa é uma das formas das quais podemos usar uma ArryaList para organizar dados mais complexos. E isso é só o começo, podemos evoluir o código para personagens, inimigos e até quests. O legal da POO é que quanto mais o projeto cresce, mais ele se organiza em pequenas peças reutilizáveis (tipo um Lego).

    DIO Community
    DIO Community - 03/09/2025 10:43

    Muito legal, Gicelia! Sua comparação do Array com uma mochila e o ArrayList com a mochila mágica é super criativa e ajuda a entender bem a diferença entre essas duas estruturas. Além disso, a explicação sobre o import ficou clara — realmente, esse detalhe pode ser um pouco confuso no início, mas é essencial para que as bibliotecas funcionem corretamente.

    O fato de você estar começando a escrever artigos e compartilhar o que aprende na faculdade é uma ótima maneira de solidificar seus conhecimentos e ajudar outros que estão começando agora. Tenho certeza de que seus artigos vão ser uma excelente referência para quem quer entender mais sobre Java e outros tópicos de Sistemas de Informação.

    E já que você mencionou o ArrayList, você tem algum exemplo de como ele pode ser usado para organizar dados mais complexos, como objetos ou listas de objetos?

    Herald Sebastiao
    Herald Sebastiao - 02/09/2025 23:29

    Show!!!

    Rafael Soares
    Rafael Soares - 02/09/2025 20:03

    Ficou muito legal o artigo. É tão bom aprender com exemplos claros que nos aproximam do entendimento do código!