| Can't Create Multiple Bullets 
 
	 
	
		| Author | Message |   
		| hamid14 
 
  
 
 
 | 
			
				|  Posted: Sun Nov 29, 2009 8:44 pm    Post subject: Can't Create Multiple Bullets |  |   
				| 
 |  
				| What is it you are trying to achieve? I want to be able to make multiple bullets when pressing the spacebar
 
 
 What is the problem you are having?
 It deletes the already existing bullet, and creates another one.
 
 
 Describe what you have tried to solve this problem
 I've thought about it and tried using counters, but doesnt work.
 
 Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
 Here's the code.
 
 
 	  | Turing: |  	  | 
var chars : array char of boolean
loop
Input.KeyDown ( chars)
    if  chars (' ') then 
        bulletgo
 
        bulletstart := true 
        bulletcounter += 1
end if
    if  bulletstart = true and  bulletcounter > 0 then 
        count += 10
        drawfilloval ( bullet_x + count, bullet_y, 5 , 5 , 9)
    end if
    if  count = 400 then 
        count := 0 
        bulletstart := false 
        bulletcounter := 0
    end if
end loop | 
 
 Please specify what version of Turing you are using
 4.1
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Sponsor Sponsor
 
  
   |  |   
		|  |   
		| Tony 
 
  
 
 
 | 
			
				|  Posted: Sun Nov 29, 2009 8:52 pm    Post subject: RE:Can\'t Create Multiple Bullets |  |   
				| 
 |  
				| could you explain this part of your code? 
 	  | code: |  	  | 
if bulletstart = true and bulletcounter > 0 then
 count += 10
 drawfilloval (bullet_x + count, bullet_y, 5, 5, 9)
 end if
 
 | 
 How many times are bullets (drawfilloval) drawn, and at what location(s)?
 |  
				|  Tony's programming blog. DWITE - a programming contest. |  |   
		|  |  |  
	  
		|  |   
		| hamid14 
 
  
 
 
 | 
			
				|  Posted: Sun Nov 29, 2009 8:57 pm    Post subject: Re: Can't Create Multiple Bullets |  |   
				| 
 |  
				| For the bullet to appear, bulletstart has to be true and bulletcounter has to be greater than 1. The count goes up by 10, and when it is 400 the bulletstart is set to false and bulletcounter is set to zero. The bullet_x and bullet_y are equal to posx and posy of the main player. It's in a procedure which I forgot to include, sorry. It looks like this; 
 var chars : array char of boolean
 var bulletstart : boolean
 var bulletcounter := 0
 var count : int := 0
 var bullet_x, bullet_y : int
 var posx, posy : int := 100
 
 proc bullets
 bullet_x := posx
 bullet_y := posy
 end bullets
 
 loop
 Input.KeyDown (chars)
 if chars (' ') then
 bulletstart = true
 bullets
 end if
 if bulletstart = true and bulletcounter > 0 then
 count += 10
 drawfilloval (bullet_x + count, bullet_y, 5, 5, 9)
 end if
 drawfilloval (posx,posy,10,10,red)
 end loop
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Tony 
 
  
 
 
 | 
			
				|  Posted: Sun Nov 29, 2009 9:25 pm    Post subject: RE:Can\'t Create Multiple Bullets |  |   
				| 
 |  
				| You might notice that the description has no mention of having multiple bullets. You might need to change something about the design. |  
				|  Tony's programming blog. DWITE - a programming contest. |  |   
		|  |  |  
	  
		|  |   
		| B-Man 31 
 
  
 
 
 | 
			
				|  Posted: Sun Nov 29, 2009 11:51 pm    Post subject: RE:Can\'t Create Multiple Bullets |  |   
				| 
 |  
				| also, your gonna need to learn about arrays, preferably flexible ones, they will help you out a lot. |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Kharybdis 
 
  
 
 
 | 
			
				|  Posted: Mon Nov 30, 2009 11:04 am    Post subject: RE:Can\'t Create Multiple Bullets |  |   
				| 
 |  
				| For what b-man 31 said, to create multiple bullets, you're going to need a flexible array where it's going to keep creating bullets when you press the space bar and after a certain bullet_time_length, take away the parts of the flexible array so you have it starting at 0 again. This is an easy method, but note that the more bullets you have, the laggier it's going to get. |  
				|  |  |   
		|  |  |  
	  
		|  |   
		|  |  
 |