Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (756)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Maze Game Advice  (Read 1959 times)
0 Members and 1 Guest are viewing this topic.
Offline _Scyth_

Junior Devvie

« Posted 2013-01-09 17:17:14 »

Hey again, I have another noobie question Sad

It's not so much a coding one but I may need help with that in the end. Also, something that might be necessary is that I'm using the BlackBerry JDE 5.0.0 so I'm restricted to using the Graphics package that comes with it. I'm sure a lot of you probably do not have these libraries however like I said my question isn't really a coding one.

1. Is it practical to create a bunch of tiles, and define the walkable pathways using a certain number, so that i wouldn't have to worry about collision detection for a simple maze game.
2. How would I store the co-ordinates of the walkable tiles, so that I can iterate through like an array to see in what directions the player can walk.

Thanks for any advice!
Offline PandaMoniumHUN

JGO Coder

Medals: 32
Exp: 3 years

White-bearded OGL wizard

« Reply #1 - Posted 2013-01-09 17:58:37 »

Some quick answers to your questions:
1. Yes, it's a good idea to make your mazes tile based. It will be useful when you would like to generate random mazes.
2. You can do it by dozens of different ways, however here is a pretty primitive solution:
Refer numbers to your tiles so it'll be like:
0 = Nothing
1 = Wall
2 = Player
And to store these values create a multidimensional array (int[][] level = new level[100][100] <- Here's the code to create 100*100 level).
After this all you have to do on movement is to check if the position where you want to move is a wall or not, with something like this:
int playerPosition_x = 10;
int playerPosition_y = 10;
   if(level[playerPosition_x+1][playerPosition_y] == 0){
      //You can move here because there's nothing

Please keep in my that I don't know how you have to handle inputs on BlackBerry JDE so Keys.Right.isPressed() is just an example.
Also don't forget to check if playerPosition_x+1 (or whatever tile you want to move to) is out of your array's bounds. (e.g. level[101][100], this will throw an OutOfBoundException since our level in my example is only 100 by 100 and not 101 by 100).
If you didn't understand anything just let me know and I'll try to explain it.
Good luck with your project! Smiley

My Blog | Jumpbutton Studio - INOP Programmer
Can't stress enough: Don't start game development until you haven't got the basics of programming down! Pointing
Offline _Scyth_

Junior Devvie

« Reply #2 - Posted 2013-01-09 18:12:43 »

Thanks that helped a lot! The code example is excellent! Thanks a lot Smiley
Pages: [1]
  ignore  |  Print  

DesertCoockie (59 views)
2018-05-13 18:23:11

nelsongames (88 views)
2018-04-24 18:15:36

nelsongames (78 views)
2018-04-24 18:14:32

ivj94 (763 views)
2018-03-24 14:47:39

ivj94 (95 views)
2018-03-24 14:46:31

ivj94 (647 views)
2018-03-24 14:43:53

Solater (108 views)
2018-03-17 05:04:08

nelsongames (189 views)
2018-03-05 17:56:34

Gornova (430 views)
2018-03-02 22:15:33

buddyBro (1090 views)
2018-02-28 16:59:18
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!