Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Can't Create Multiple Bullets
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
hamid14




PostPosted: 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
Sponsor
sponsor
Tony




PostPosted: 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)?
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
hamid14




PostPosted: 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




PostPosted: 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.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
B-Man 31




PostPosted: 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




PostPosted: 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.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 6 Posts ]
Jump to:   


Style:  
Search: