Bomberman map 
	 
	
		| Author | 
		Message | 
	 
		 
		Kodiakwarz
 
 
 
    
		 | 
		
		
			
				  Posted: Fri Apr 22, 2011 11:28 am    Post subject: Bomberman map  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				What is it you are trying to achieve?
 
So I'm using a 2d array to draw my map and to keep track of the various things on the map
 
.
 
 
What is the problem you are having?
 
Everything is going well except for some reason that I do not know, is that turing is getting mad at me and decides
 
to cut off part of the array in the middle.  I've figured out that if I made the actual run window bigger, that it will fix
 
the problem.  Unfortunatly to fix it, it makes the screen wayyy tooo big and I have too much excess sapce.
 
 
 
Describe what you have tried to solve this problem
 
I'm still in grade 10 so I dont have much knowledge, but please do not hold back because of my experience, as I am
 
a fairly quick learner http://compsci.ca/v3/images/smiles/icon_razz.gif
 
 
 
Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
 
 
<Answer Here>
 
 
	  | Turing: | 	 		  
View.Set ('graphics, offscreenonly')
var mapfield  : array 1 ..  15,  1 ..  13 of int
var picID  : int := Pic.FileNew ("Bomberman map.JPG")
var BlockFile  : int := Pic.FileNew ("breakable blocks.JPG")
var UnBlockFile  : int := Pic.FileNew ("unbreakable blocks.JPG")
var WalkBlockFile  : int := Pic.FileNew ("walkable field.JPG")
var fileID  : int
open : fileID,  "bombermanF.txt", get
for i  : 1 ..  13
    for a  : 1 ..  15
        get : fileID, mapfield  (a, i )
    end for
end for
procedure field
     Pic.Draw (picID,  0,  0,  0)
end field
 loop
    % field
    for i  : 1 ..  13
        for a  : 1 ..  15
            if mapfield  (a, i ) = 1 then
                Pic.Draw (WalkBlockFile, a  * 30, i  * 28,  0)
            end if
            if mapfield  (a, i ) = 0 then
                Pic.Draw (UnBlockFile, a  * 30, i  * 28,  0)
            end if
        end for
        put ""
    end for
    View.Update ()
    delay (5)
    cls ()
end loop
  | 	  
 
 
Please specify what version of Turing you are using
 
<Answer Here>
 
         | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	 
	 
		  | 
	 
				 
		Raknarg
 
  
 
    
		 | 
		
		
			
				  Posted: Fri Apr 22, 2011 11:51 am    Post subject: RE:Bomberman map  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| Could you inculde the files with it? | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		Zren
 
  
 
    
		 | 
		
		
			
				  Posted: Sat Apr 23, 2011 12:25 am    Post subject: RE:Bomberman map  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Get rid of the put statement in the for loop.
 
 
Advice:
 
Make the number of columns/rows a constant, so if you change the size later, you only have to change it in one spot instead of every for loop and stuff.
 
 
Some food for though:
 
	  | Turing: | 	 		  
var blockPic  : array 0 ..  3 of int := init ( % Eg Picture ids
    1234,  % Use Pic.FileNew("") instead of numbers
    1235,
     1236,
     1237)
Pic.Draw (
    blockPic  (grid  (col, row )),
    offsetX + col  * cellWidth,
 
    offsetY + row  * cellHeight,
     picCopy)
  | 	  
 
 
When grid(col,row) = 0, it will pull the picture id of blockPic(0), etc etc. Way easier than a big if statement. | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		Kodiakwarz
 
 
 
    
		 | 
		
		
			
				  Posted: Tue May 31, 2011 9:11 pm    Post subject: Re: Bomberman map  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Hey guys srry it took me so long to thank you guys for your replies.  I don't go on the computer at home much and my school's ip is banned from logging into compsci so I could log in to reply loool.  I realized that I had a (put " ") in the for loop I used to draw my tiles which created the space x] oopz   | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		Kodiakwarz
 
 
 
    
		 | 
		
		
			
				  Posted: Tue May 31, 2011 9:12 pm    Post subject: Re: RE:Bomberman map  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				Zren @ Sat Apr 23, 2011 12:25 am wrote: Get rid of the put statement in the for loop.
 
Advice:
 
Make the number of columns/rows a constant, so if you change the size later, you only have to change it in one spot instead of every for loop and stuff.
 
Some food for though:
 	  | Turing: | 	 		  
var blockPic  : array 0 ..  3 of int := init ( % Eg Picture ids
    1234,  % Use Pic.FileNew("") instead of numbers
    1235,
     1236,
     1237)
Pic.Draw (
    blockPic  (grid  (col, row )),
    offsetX + col  * cellWidth,
 
    offsetY + row  * cellHeight,
     picCopy)
  | 	  
 
 
When grid(col,row) = 0, it will pull the picture id of blockPic(0), etc etc. Way easier than a big if statement. 
 
 
thanks this helped x] | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		 | 
	 
 
	
	
	 
	
	 |