Rapid Fire Power up – week 5
|
Hejsan! I denna veckas blogginlägg ska ska skriva om hur jag gick till väg för att skapa ”power upen rapid fire” och varför jag har gjort som jag gjorde. Så en av mina uppgifterna till denna vecka vara att fixa ”rapid fire power up”. Så först behöver vi veta vad vår ”rapid fire power up” ska göra? Vi i gruppen bestämde oss för att när man fick ”power upen” så ska spelaren kunna skjuta mer projektiler under en kortare tid. Så vad behöver jag alltså koda.,först och främst så ska spelaren kunna skjuta ut en projektil och denna kod finns redan för att spelaren ska kunna skjuta projektiler vanligt. Men i denna kod använder vi oss av en typ av ”cooldown” med hjälpa en klockkod, innan man kan skjuta igen. Så om man tänker logisk så borde det bara vara att ta bort denna ”cooldown” för att kunna skjuta igen för att få en effekt av att spelaren kan skjuta mer under en kortare tid.Och det var det jag gjort, jag tog bort koden för ”cooldownen” mellan projektilerna som var satt på en halv sekund. Nu fungerar själva ”rapid fire power upen”, spelaren kan skjuta flera projektiler under kortare tid. Så nu återstår det bara att fixa så att denna ”power up” har en livslängd och inte varar över hela spelet så fort man har fått den. Hur ska jag göra det här? Jag tänkte först att jag skulle använda mig utav kodbiblioteket sfml inbyggda klocka men detta gav mig lite problem. Jag var inte så inläst på sfml klockan och visste inte riktigt när klockan startade tills jag skrev ut det i konsolen, det visande sig att klockan startade så fort man skapade klockkoden. Så jag försökte skapa klockkoden i en kodloop för ”rapid fire” koden men det visa sig att när jag la in klockkoden i ”rapid fire” loopen så vill inte klockan öka, den stannar alltså på samma tid i hela loopen och om jag ska vara helt ärligt så vet jag inte varför det gör så. Så jag testa mig utav ett annat alternativ där jag använder mig utav ”iterator”. ”An iterator is any object that, pointing to some element in a range of elements (such as an array or a container), has the ability to iterate through the elements of that range using a set of operators (with at least the increment ( Så vad jag gjorde var att jag gjorde en iterator som plussas på varje gång som loppen körs igenom. Så då sätter jag en regel för koden om att denna iterator är högre än ett visst värde t.ex. 200 så ska ”rapid fire” ta slut och detta funkar ändå ganska okej. Så tips för någon som har fastnat i en kod är att försöka skriva ut så mycket som möjligt i konsolen så kan det bli lättare att få reda på om något skrivs ut rätt eller fel och se vart felet är. I andra bilden under ser du hur spelet ser ut utan ”rapid fire ” och i första bilden ser du hur spelet fungerar med ”rapid fire”.
|
