ajollymarlier/Zork

Write here what y'all doing right now.

Opened this issue · 77 comments

Yo am working on Game.java and Enemy/grunt.java and rooms.dat file rn.
Be careful github is trippy

@Aliqyan @drossos is anybody touching the enemy class? I need to add some stuff to work with the weapons and it's subclasses

Go ahead @ajollymarlier I probably am I going to work on the room internalizer as well as probably messing around with some consumables

@drossos have u committed ur new code?
Cuz im done waiting to pull ur changes

@Aliqyan you push I merge then will pus. Will take your code then fit into mine

ok lets try

oops

@Aliqyan @drossos Tell me when you're done

@ajollymarlier @drossos Ok im done for now
So basically i added the enemies in to rooms. If you check in the rooms.dat file you'll see i added a new line called room enemies. currently if you want to see what enemies are in a room you just need to say check. This isn't final but just for now.

@drossos @Aliqyan i added the boolean inRange to the enemy class so we can differentiate between what can be attacked with ranged and melee. There is an error in the game class as the constructors for enemies are now wrong but that should be a quick fix. I also fixed the sub-classes of enemy so they would match the original constructor.

@ajollymarlier @drossos Ok yo I think i can fix that
i pulled the stuff so i'll find away to add the in range part

@ajollymarlier @drossos So to fix the issue, i added -C or -F to the name of the enemy in the rooms.dat file

@drossos The only error right now is the addRoomItems() method needing to take items instead of Strings. Might have to change some stuff in the file depending on how it reads it. The stuff right now might just be the description.

@Aliqyan @drossos Im working on the consumables class and all it's subclasses

@ajollymarlier You are working on every Item?

@ajollymarlier or just consumables because even that is going to be pretty big if you count keys as consumables

@drossos you can work on keys if you want I'm just doing effect items right now. I'll push it.

@Aliqyan @ajollymarlier ok I pushed the working item intializer as well as working new commands to go along with it. Will probably look at doing keys next

@drossos ali and i are working on enemies and the subclasses

@drossos @ajollymarlier Im working on the game class also

@Aliqyan @ajollymarlier working on keys and chests right now

@ajollymarlier @drossos Am working on Game.Class and Room Class

@Aliqyan @drossos im working on the ammo class right now. Will need to use player class as well so tell me when your working on it ali

ok guys I put the attack method in the player class, cuz it makes more sense that a player attacks an enemy with a weapon

@ajollymarlier i had to change around the attack method so its now in the player class, but it can still be linked back to the melee/ranged for ammo calculations

@Aliqyan @drossos We should clean up the processAttack method. A lot of the stuff you put in the game class, you could have put in the other classes.

Not really. A lot of the stuff is built upon the already existing code. It is mostly just all command processing and intializing rooms and stuff

The reason its pretty long is because its a 3 word command phrase so we need lots of conditionals to make sure the right stuff is inputted

@Aliqyan @drossos Ive almost cleaned up the processAttack method. A lot more of the differentiating code is present in other classes rather than all being crammed into the game class.

@ajollymarlier you didn't remove code from the Game class right, because it is good to keep all action processing there?

@drossos I commented it out for now but if my way really doesnt work we can restore the previous version

@ajollymarlier what did you comment out of Game

@drossos Mostly the differentiating between melee attacks and ranged attacks. I dealt with all of that in the player class. Also wrote a new overloaded attack method in the player class to deal with each weapon. The code theoretically does the same stuff but just makes it cleaner. Easier to change too

@ajollymarlier ok cool. Did you touch the other command processing stuff in Game?

@drossos nah thats all still there

@drossos @Aliqyan Im working on decreasing the ammo while attacking with a ranged weapon. Also, im trying to stack ammo that is already present. I'll be touching the ammo and player classes

@ajollymarlier @drossos Today i'll prob try to write the loop to get the enemys to respond in battle.
Will be using Enmey class, and Game Class

@drossos @Aliqyan Ill be working on the effect item class right now

@ajollymarlier Dude its a bit complicated right now, lets talk b4 we go more in depth

@Aliqyan @drossos TODO we need to add a defense int for the player class. Could start at 0 but i can add to it when we get armour

@drossos @Aliqyan we should change the check command so you can check the room or the inventory. It just checks room right now

@Aliqyan @drossos we should also change all Strings to .toUpperCase() so its better for the player

Self-Reminder I need to make equip method in player class for EquippableItems

@Aliqyan @drossos Im adding special attack methods to the miniboss and Boss classes. @Aliqyan you might have to change the processAttack() in the game class to account for this.

@Aliqyan @drossos Just an idea but we could status conditions later. Ex. burn or poison

@drossos @ajollymarlier I'm gonna be working on the game class to create different check methods and fixing parts of the attacks to make it smoother

@Aliqyan R u working on the enemy's attack stuff?

@ajollymarlier I can if you want

@Aliqyan i was gonna write the attack method in the enemy subclasses like we discussed before. That still ok?

@ajollymarlier sure tell me how it works in comsci so i can link it in through the game class

@Aliqyan add a defense constructor int to player class for equippable item. Also add getter and setter

@Aliqyan @ajollymarlier I copied all the messed up code over and fixed it. I have now pushed the unlocking doors code. Make sure you pull because my body can't handle having to copy code from a text file again.

@ajollymarlier @drossos Ok am almost done, dont push anything till i finish pushing it. Dont want to be in same pin as rossos

@ajollymarlier @drossos
Ok this is a long one but important so pls read:
Changes:

  • made everything lowercase
  • each type of item has Final static strings so that you know what names of items correspond to the items. Useful when reading the items into rooms.
  • inventory class:
    - contains different arrays for different things melee, ranged etc...
    - each of these refs is put into a total inventory to access them easily
    - some redundancies cause i'm sleepy, if u spot don't roast me pls.
    - by making this class, i got rid of many room methods and its inventory
  • @drossos Was able to reduce the 10000 word essay u put on one line in game.java after fixing the inventory class
  • @ajollymarlier added headers in player class to fix the errors in miniboss and boss, they have nothing in it tho.
    Things not addressed:
    • items with same names Ex: keys and weapons --> The Machete --> will need to fix some methods in inventory
    • If you try to use a melee on an enemy far away, does ur turn get skipped?
    • consumable method in inventory needs to be dealt with
    • chests is that a go or nah?
    • other items like consumables and equipables
      PS: Pls copy your git folder b4 pulling, in case there's a major glitch i didn't catch.

Working on game.jav

@Aliqyan the inventory class throws and exception when you try to display an inventory with nothing in it. I don't know why it doesn't work, but starting out with an empty inventory causes the game to crash

@drossos Well then i guess its time to debug. I'll see if i can fix it if not then i'll just cry.

@drossos its fixed, i forgot to intantiate the equippableInventory Array List

@drossos @Aliqyan There are supposed to be errors in Inventory and Room right?

Inventory -error will be fixed when rossos pushes
Room - i don't think there are errors?

@Aliqyan its the overrides that are causing errors in room

@ajollymarlier The attack method in grunt, miniboss, boss doesnt work

@Aliqyan does it not do anything? How are you using it?

@ajollymarlier nvm its never called, is fixed now

@Aliqyan @ajollymarlier so pushed the initial stuff for equippable items. Ali right now there is an error though were checking the room does not display the equippable items in the room. Since you wrote that check stuff maybe check it out and see what is wrong

@drossos ya i'll try to fix it rn

@ajollymarlier @drossos
Use now works

  • to use just say use (Item)
  • is gone once used
    Also we need to figure out how we read the stats of items from the rooms.dat file, cause right now we're just plugging random nums into it.
    @drossos the problem is fixed.

@ajollymarlier @drossos
I think we've been using the issue section incorrectly

#mistake

@ajollymarlier @drossos
am making a way for enemies to speak

@drossos @Aliqyan @cstrahle to teleport to a new world we would have 3 different hashmaps that represent the three worlds. They would read from 3 different data files and wold be stored in an array of the worlds. This way we can access the worlds easily.

SELF REMINDER: Change type in ammo and ranged to string

@ajollymarlier @Aliqyan @drossos Did you change the type in ammo and ranged to a string?