----------------------------------- awesomej01 Sun Mar 07, 2004 12:28 am Grid ----------------------------------- I have a minor project assigned to me and it happens to be a dice game. I plan to make a snakes and ladders program. The only thing that is stopping me is how to start. Do I plan out how many boxes I want in my grid first, then draw it as a background and then make a two dimensional array? :? I would greatly appreciate it if anyone can help me make an example of a grid using two dimensional array so that I would know how to make one for my program. ----------------------------------- zylum Sun Mar 07, 2004 12:39 am ----------------------------------- something like this? const width := 10 const size := 20 var grid : array 1 .. size, 1 .. size of int for x : 1 .. size for y : 1 .. size grid (x, y) := Rand.Int (0, 1) if grid (x, y) = 1 then drawfillbox (x * width, y * width, x * width + width, y * width + width, 7) else drawbox (x * width, y * width, x * width + width, y * width + width, 7) end if end for end for what exactly do you need help with? basically in the above example, i declare the constants of the grid, create an array which reflects these constants (ie size) and then i draw a random grid... rather than assigning a value between 1 and 0 and draw a black/white box, you could assign any number of values for each type of tile you want ie snake, ladder, lose a turn etc. then when the player lands on a square you check what type it is and make the appropiate actions happen. -zylum ----------------------------------- awesomej01 Sun Mar 07, 2004 11:42 am Grid ----------------------------------- Okay from the grid that you posted, say I want to do something like when you click on the top right box of the grid, the program would say, "Lose a turn." How would I do that? ----------------------------------- Paul Sun Mar 07, 2004 11:49 am ----------------------------------- Use mouse.where for clicking, ex: loop Mouse.Where (x, y, z) if x > 40 and x < 280 and y > maxy - 66 and y < maxy - 34 and z = 1 then put "Loose a turn" exit end if end loop ----------------------------------- Cervantes Sun Mar 07, 2004 1:27 pm ----------------------------------- its kinda confusing Paul when you have z as a variable... that makes us think 3d. z should really be renamed "button" or "btn". anyways, if you want it to be a customizeable grid, you should incorporate your x and y values from the 2d array in that if statement. Or you could just use whatdotcolour :) ----------------------------------- awesomej01 Sun Mar 07, 2004 7:55 pm Grid ----------------------------------- Since I am making a dice game and you guys showed me how to draw a grid and locate a position of the grid, how do I do something like if the player rolled a 2, then their marker would move two spaces. would it be something like if roll = 2 then drawfilloval (on the second box location) elsif roll=3 then elsif... ... for every other possiblities end if ----------------------------------- Cervantes Sun Mar 07, 2004 8:04 pm ----------------------------------- you should have a variable for the player's spot. then it would be player_spot += dice_roll draw where he is on the grid by using mod and div to determine the grid location. if he were at 10 and the grid is 7 wide.. player_spot_on_grid := player_spot mod 7, player_spot div 7 I haven't tested any of this code, just so you know. ----------------------------------- omni Sun Mar 07, 2004 9:21 pm ----------------------------------- you took my idea for a dice game you go to massey and in mr.ferrara right? ----------------------------------- jonos Sun Mar 07, 2004 9:23 pm ----------------------------------- i shouldn't answer for cervantes, but he doesn't go to massey (im pretty sure), i know this because, you see, i stalk him :shock: . no i read his official hello world reply. ----------------------------------- Mazer Sun Mar 07, 2004 9:43 pm ----------------------------------- i shouldn't answer for cervantes, but he doesn't go to massey (im pretty sure), i know this because, you see, i stalk him :shock: . no i read his official hello world reply. (He may have been talking to awesomej01) ----------------------------------- McKenzie Mon Mar 08, 2004 11:45 am ----------------------------------- Stop by my room at lunch. There are easy and hard ways to do your program. The biggest problem is that the game is no fun. As a kid the fun part is rolling the dice. On the computer all you do is hold down the enter key and see who wins (no choices at any point, just roll, read then obey)