Sign in to follow this  
  • entries
    23
  • comments
    31
  • views
    54789

More Than What I Expected

Sign in to follow this  
RLS0812

1028 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