• Content count

  • Joined

  • Last visited

Community Reputation

143 Neutral

About Rubiks14

  • Rank

Personal Information

  • Interests
  1. MrP,   That seems to have fixed it. I didn't think about that. I had set the minimum to (1,1) to prevent from reaching memory in front of the vector but didn't think about it in the sense of after the vector.   Thank you and everyone else who assisted with this. Now I can clean this code up and finally move on to actually making this into a game.
  2. Unfortunately after doing that I still haven't come up with anything useful in helping me track down the error (it didn't occur). The only thing I can think to start doing now is disabling things one at a time to see if it keeps coming. It's too late for me to keep looking tonight. I'll give it another go tomorrow.
  3. Thanks for the advice on the naming with the underscores and typedef. I don't have any of the room/map in a class. The map is just a struct and the features are just vectors of CHAR_INFO type.   Unfortunately I haven't been able to see the stack trace because I haven't been able to recreate it with the debugger running.
  4. So here's the deal, I've been working on a roguelike game in c++ using the advanced windows console functions in wincon.h. I have a randomly generated map and I'm drawing it to a screen. Every once in a blue moon when I'm running the program it will give me an access violation error on program close. I can run the program probably 50 times and if I'm lucky (unlucky actually) the error will show up.   I'm using codeblocks as my IDE and have the debugger set to break on an exception. I have been unable to actually recreate the access violation while using the debugger. It only seems to occur when I do a basic run of the program. It doesn't crash the program or lock up, it just gives the error code on close.   There is too much code to post here but you can look at it on github: . I believe the error is happening in map.h but it might not hurt to look into screen.h and screen.cpp as well. Also I'm sorry for the craziness of the code in advance. Some of the comments are relevent but others need to be updated. I know there are a few things that need to be broken down into more functions and some stuff that would work better if passed by reference (the vectors), I'm just trying to eliminate this bug before altering anything else and before adding any new features.   One more thing. I think the problem is somewhere in the drawing procedures for the map or screen class.     EDIT: Fixed broken link
  5. VB.Net NPC Problem

    This could be implemented with classes fairly easily. For instance, you could make a demographic class that stores an identifier for the demographic type and some list of types of items they'd likely buy. Then in an items class you could add an item type member to group the products. Then all you'd have to do is give each customer a demographic and compare the item's type with the list of item types that customer type would likely buy, if there is a match, they buy. If not, they don't. Using a design similar to this would allow you to easily expand or reduce the number of customer types you have as well as the kinds of items they would buy. Hope that helps.
  6. Specific question about pointers to arrays

    Thank you for the quick response. The first part I didn't think about. The second question i figured out after rereading the code again.
  7. [code]#include <iostream> #include <string> class Item{ private: std::string m_name; int m_value; public: Item(std::string name, int value): m_name(name), m_value(value){} friend std::ostream &operator<<(std::ostream &out, Item i){ out << "Item name: " << i.m_name << "\n"; out << "Value: " << i.m_value << "\n"; return out; } }; int main(){ Item *inventory[3] = {new Item("Sword", 200),new Item("Shield", 150),new Item("Potion", 50)}; int arraySize = sizeof(inventory) / sizeof(inventory[0]); for(int i = 0; i < arraySize; i++){ std::cout << *inventory[i]; } std:: cout << "\n\n"; for(int i = 0; i < arraySize; i++){ std::cout << **(inventory + i); } delete [] inventory; } [/code] I have two questions about the code above. Mainly, I'm wondering why my delete [] inventory line returning an error. I know it's that line because if I comment it out it doesn't return an error. It only started erroring after I added the second way of displaying the inventory, which brings me to my second question. Why am I having to use a pointer to a pointer to get the contents of each item in inventory using pointer notation? I don't have any more than 1 pointer in the program and I only have to use a single pointer in the top loop. After further experimenting before posting this it appears that the pointer to a pointer is also what is causing the error. It's weird though because when I used that notation in the top section without the bottom section added I was no longer receiving the error.
  8. I was not aware that such a thing existed. Thank you for sharing that with me. Looking into this now.
  9. So I've been messing around with SDL with C++ lately and working with animated sprites. I've run into an issue though with sprites that are different sizes in the same image file. I was wondering if any of you had any tips as to how you handle that. An example of where this problem could occur is say you have walking animations and running animations. In most games, and in real life, most peoples legs do not move as far apart when they walk as they do when they run. Another example is say you have a diving animation for a person. The image would start out wide and short and work itself to thin and tall. One way I know to handle this issue is to obviously put enough space in the images to make up for the differences. I was wondering if there were any faster methods that could be handled in code, though.
  10. RPG inventory management question

    Thanks for the fast responses guys. Ill look into the factories and that static/dynamic idea sounds good too.
  11. So I just recently (today) got back in to programming. I started making a text rpg and was working on an item management class and got to thinking about what woyuld be thea most efficient way of loading items. Now I know with it being ascii at the moment there won't be a huge hit to memory regardless. Still, I would like an opinion. Is it more efficient to load every item into memory on startup and point references to them throughout the code when needed and delete the listmoment on program shutdown or is it better to load an individual object for every item in use. I personally would think the former because it would require less time to load the item information. I you had a huge inventory and multiple of each item it could end up being more memory than loading all items once (or at least the stuff that wont take large amounts of memory). Maybe its a combination of both. Load the small stuff for everything (stats and such) and load big things (models or images (once I get to that point again)) only when needed. Also, sorry if parts of this are hard to read. Did this on my phone and the gingerbread update for droids has almost made them as bad as iphones when it comes to auto correct.
  12. microsoft vs. bloodshed

    Quote:Original post by shred master what does microsoft have that dev doesnt. one word........intellisence. god if that feature isn't a life saver i dunno what is.
  13. looking for a new book...need sugestions

    thanks guys i'll look into those
  14. I read/have "Beginning C++ Game Programming" and I have the "Gametutorials CD" so I have a pretty good understanding of C++ and drawing to the console window and stuff on those lines. I'm looking for a book that teaches win32. The "Gametutorials CD" has quite a few win32 tutorials and I've read through some of them and I understand it; but, I find it so much easier (and comfortable :D ) to lay down and read a book instead of sit in front of the computer screen to read tutorials. So if anybody knows of any good win32 programming books I would really appericiate it. Thanks, Rubiks14
  15. ran into a couple problems with my AI

    Thanks that works... now I just need to slow the ghost speed. It goes way to fast.