Kotorez

Member
  • Content count

    21
  • Joined

  • Last visited

Community Reputation

357 Neutral

About Kotorez

  • Rank
    Member

Personal Information

  • Interests
    DevOps
    Programming
  1. Need suggestion

    I feel like I answered my own question as I was typing this post.   I see no reason why I cant have only few surfaces but with big tile sheets.
  2. Need suggestion

    I need a suggestion on how to load multiple images in SDL. All of the games I did before for practice had 1-5 surfaces where I could load an image and move it around. Now lets assume I am making a typing tutor where every letter has its own pretty image. Does it mean I would have to load A B C D..... Z surfaces into the game such as:   SDL_Surface* A = NULL; SDL_Surface* B= NULL; SDL_Surface* C = NULL;   A = LoadImage("graphics/A.bmp"); B = LoadImage("graphics/B.bmp"); C = LoadImage("graphics/C.bmp"); .... Z = LoadImage("graphics/Z.bmp");   I know that for the example with alphabet I can just load one image and then cut it up like a sprite but what if I have 100 images that are completely idepandant. Creating 100 surfaces seems wrong. Is there a proper way of doing it? I was thinking of making a map and loading a proper image path only when I request a specific image key but wouldnt it slow down my program?
  3. Whoever told you that you need those skills already assumed that you have a solid knowledge of everything to accomplish such complex task. Since you said that you know only 10% it tells me that you are very new at this. My suggestion is start learning language like Python or Java to get the basic understanding of programming but stick to text based programs. Once you learn that, you will have a clearer picture on what to do and learn next.
  4. Logic question

    I am coding the game and I am a bit stuck on how to handle collisions. Here is how it works:   You have three buttons for example A, B, C.  A = 1, B = 2, C = 3. If I press ABC, the sum would be 1 + 2 + 3 = 6. After the total calculation I will use total value as a key and fetch the data from the map. Here is were I am a bit stuck. When I do BBB = 6 and ABC = 6 I get a conflict or AAC = 5 and BBA = 5. How do I avoid these collisions. I dont mind rewriting the entire thing but I am pretty sure there are some kind of techniques on handling these kind of problems.   Thanks.
  5. Problem with Unity

    When you save the project, the scene has to be saved automatically. Just open the scene by double clicking the Scene file with the unity logo on it.
  6. where to start...

    To answer your question I liked this article: http://lazyfoo.net/articles/article01/index.php
  7. Can't get SDL working

    SDL 2.0 uses new features that will not work with SDL1.2 and I am not sure if the existing features were modified since "1.2". I would try to convince the team to upgrade "2.0" cause later it would be hard to migrate. But anyways, here is the solution for you: http://lazyfoo.net/SDL_tutorials/lesson01/windows/codeblocks/index.php
  8. Can't get SDL working

    Is there a particular reason for you to use SDL 1.2.15? There is a 2.0 version out now. I just looked at the tutorial that you link and it does not cover anything. You have to set up links and includes in codeblocks for it to work. Get SDL 2.0 and Follow the tutorials from http://lazyfoo.net/tutorials/SDL/index.php
  9. SDL Keyboard input

      If you are using this code: https://github.com/gratholio/sdlscroller as your base: please don't. it is making a huge mess of things. the sdl_setup::begin method gets a single event from the queue and stores it as mainevent (which is then returned by all calls to GetMainEvent) and clears the renderer(big wtf), it also discards the return value from SDL_PollEvent, there is no way to use that wrapper correctly since the wrapper itself is completely broken.   Just use standard SDL instead.   [source]   while(!quit) {     SDL_Event event;     while(SDL_PollEvent(&event) != 0) {         quit = event.type == SDL_QUIT;         //handle the rest of the events here            }     update();     render(); }   Thanks a lot! Now it works perfect. I was actually following "Lets Make an RPG C++/SDL" tutorials on youtube but it appears that the code is exactly the same as the link you provided. Can you suggest a good resource to learn from or I should just stick to lazyfoo?
  10. SDL Keyboard input

    Thanks for response! Your suggestion did fix my problem however now I am getting a weird bug when if I just simply move character it works fine and then suddenly it just keeps going into random direction as if SDL did not notice that I release the button (SDL_KEYUP). In order to interrupt my character from moving uncontrollably I have to tap the button twice for sdl to register the SDL_KEYUP. At first I thought my keyboard was glitched so I rebind-ed the buttons. Same thing. I checked everywhere but I think I am doing something totally wrong with event handling. Any suggestions? pastebin.com/mGv4ZLmJ (updated)
  11. SDL Keyboard input

    The site crops my source code for some reason. Here is full source code pastebin.com/NHCNTsG4
  12. SDL Keyboard input

    Basically the problem in my program is when I move my character for example North/East and I hold W and D at the same time my character goes it a correct direction but when I let go W and continue holding D my character moves in D direction but it only plays the first frame of W animation for 1-2 seconds before switching to the W animation. Also when I was trying to "debug" the program I wrote some couts for which animation gets called (ACTIVE/IDLE) and I noticed that when I press move my active animation sometimes gets called 5 times but when ever I release the button the Idle animation gets called about 20-30 times. Can somebody please explain to me this behavior and also is there "industry standard" on setting up keyboard input? I was following lazyfoo's tutorials but those dont explain much in details. [source] void Game::GameLoop() { while (!quit && sdl_setup->GetMainEvent()->type != SDL_QUIT) { sdl_setup->Begin(); walkingGround->Draw(); player->Draw(); //float angle = atan2(Follow_Point_Y - player->GetY(), Follow_PointX - player->GetX()); //angle = angle * (180/3.14); if(sdl_setup->GetMainEvent()->type == SDL_KEYDOWN) { switch(sdl_setup->GetMainEvent()->key.keysym.sym) { case SDLK_w: moveUp = true; break; case SDLK_s: moveDown = true; break; case SDLK_a: moveLeft = true; break; case SDLK_d: moveRight = true; break; default: break; } } if(sdl_setup->GetMainEvent()->type == SDL_KEYUP) { switch(sdl_setup->GetMainEvent()->key.keysym.sym ) { case SDLK_w: std::cout GetX() + 1); // moveRight = false; } } sdl_setup->End(); } } [/source]
  13. SDL.h: no such directory found

    I give up editing my post. It keeps changing characters for me... :(
  14. SDL.h: no such directory found

    Here is my folder structure: C:\SDL2\bin include lib These folders came from "i686-w64-mingw32" not "x86_64" Codeblocks setup: Linker settings -&amp;amp;amp;amp;gt; other linker options: -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_mixer Search directories - Compiler: C:\SDL2\include\SDL2 C:\SDL2\SDL2_image-2.0.0\i686-w64-mingw32\include\SDL2 C:\SDL2\SDL2_mixer-2.0.0\i686-w64-mingw32\include\SDL2 Search directories -Linker: C:\SDL2\lib C:\SDL2\SDL2_image-2.0.0\i686-w64-mingw32\lib C:\SDL2\SDL2_mixer-2.0.0\i686-w64-mingw32\lib //main.cpp #include <SDL.h> #include <SDL_image.h> #include <SDL_mixer.h> Should work perfectly fine.
  15. Hello I am learning JAVA and I am currently practicing arrays. Basically what I am trying to write is a small inventory management system with just arrays for my small RPG(no saves). I am stuck on the part where I have to put items from main table of items that exist in the entire game, into the limited space of the backpack. I cant seem to figure out how to insert items from "Item array" into "Backpack array" just by using reference ID which is also happens to be array index. Here is my code: http://pastebin.com/wKSu5UD1 [source] //IMS Main class// class IMS { public static void main(String[] arguments) { Item product = new Item(); Inventory backpack = new Inventory(); product.createItem("Boots", 325, 1); product.createItem("Sword", 410, 3); product.createItem("Ring", 110, 2); product.createItem("Dagger", 240, 2); product.createItem("Bow", 810, 1); product.displayItemList(); backpack.setMaxInventory(5); } } // Item class // class Item { //Maximum Items allowed private int maxItems = 5; Item[] itemDB = new Item[maxItems]; //Item related private int id; String name; int price; int quantity; Item(){ id = 0; } private Item(String name, int price, int quantity){ this.name = name; this.price = price; this.quantity = quantity; } private void idAutoIncrement(){ id = id + 1; } private void setItemID(){ itemDB[id].id = id; } void createItem(String name, int price, int quantity){ if (id < maxItems){ itemDB[id] = new Item(name, price, quantity); setItemID(); idAutoIncrement(); } else { System.out.println("You have riched the maximum item limit."); } } void queryItem(int id){ System.out.println(itemDB[id].id + " " + itemDB[id].name + " " + itemDB[id].price + " " + itemDB[id].quantity); } void displayItemList(){ System.out.println("ID " + "Name " + "Price " + "Quantity "); for (int i = 0; i < id; i++){ System.out.println(itemDB[i].id + " " + itemDB[i].name + " " + itemDB[i].price + " " + itemDB[i].quantity); } } } // Inventory class // class Inventory { private int invSize; Inventory [] backpack; Item item; //item related private int id; String name; int itemsInStack; Inventory(){ invSize = 2; } void addItem(int id, String name, int itemsInStack){ // ---- part where i am stuck // } void setMaxInventory(int invSize){ this.invSize = invSize; backpack = new Inventory[invSize]; } void putInside(int id){ // ---- part where i am stuck // // backpack[id] = new addItem( ); } } [/source] Can you guys please glance at it and tell me if I am even on the right track? Also, suppose I created a sword class that adds +str +stamina etc properties and I want to put it into an item array. How would I put it into a main item array (is it even possible or I am over thinking it)? Thanks