Jump to content
  • Advertisement
Sign in to follow this  
  • entries
    23
  • comments
    31
  • views
    55759

More Than What I Expected

Sign in to follow this  
RLS0812

1155 views

An interesting thing has been going on the last couple days - a project I started out to just test map generation has taken a life of it's own.

The project was only going to last a day or so - just long enough to test item spawning on a map - , but for some reason it now looks more like a game "skeleton" than anything else.
As of when I posted this, the unnamed game has:
* Tree, rock, plant, and mining node generation based on type and rarity
* Player movement
* Map scrolling
* Collision detection
* Working item construct
* Working player construct
* Working inventory construct

Unfortunately the "game" lacks (these could be my "TODO" list) :
* GUI ( it's pure text output )
* Player actions ( mining, cutting trees, e.t.c. )
* Statistics
* Saving a player's state
* NPCs
* Looting system
* Server / Client
* Chat

Here is a peek at my spaghetti code - this class handles inventory ( and is the last one I worked on )
.import java.util.ArrayList;import java.util.List;public class Inventory { InvItems ii; MakeItems mi; int selected; String dump; List quantity; List iolist; public Inventory(InvItems i, MakeItems m){ ii = i; mi = m; selected = 1; iolist = new ArrayList(); quantity = new ArrayList(); iolist.add(ii); // < -- must have these 2 initialized for some reason quantity.add(0); //||\\ addItem(mi.sample_food,5); addItem(mi.sample_tools,1); //||\\ } public boolean checkFor(InvItems i, int num){ int temp = iolist.size(); for (int f = 1; f < temp; f++){ if (i.getName().equals( iolist.get(f).getName() ) ){ if (quantity.get(f) >= num){return true;} else {return false;} } } return false; } public void addItem(InvItems i, int num){ boolean st = true; if (i.getStackable() == true ){ int temp = iolist.size(); for (int f = 1; f < temp; f ++){ temp = iolist.size(); if (iolist.get(f).getName().equals(i.getName() ) ){ st = false; quantity.set(f, quantity.get(f) + num ); break; } // <-- get name if else{} } // <-- for loop if (st == true){iolist.add(i);quantity.add(num);} } // <-- stackable if else{iolist.add(i);quantity.add(num);} } public boolean removeItems(InvItems i, int num){ if (checkFor(i,num)){ int temp = iolist.size(); for (int f = 1; f < temp; f ++){ if(i.getName().equals(iolist.get(f).getName() ) ) { if (quantity.get(f) - num == 0){ iolist.remove(f); quantity.remove(f); return true; } else{ quantity.set(f, quantity.get(f) - num); if (selected >= iolist.size() ) {selected = 1;} return true; } } // <-- name } // <-- for loop return false; } // <-- check for else{return false;} } public String getInventory(){ dump = "\n=== Inventory ===\n"; int temp = iolist.size(); for (int f = 1; f < temp; f ++){ if (f == selected){dump += "[X]";} else{dump += "[=]";} dump += "[" + f + "] "; dump += iolist.get(f).getName() + " - " ; dump += quantity.get(f) + "\n" ; } return dump; } public boolean setSelected(int n){ if (n >= iolist.size() || n == 0){return false;} else{ selected = n; return true;} } public void say(String s){System.out.println(s);} }
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!