Vecka åtta: inheritance
|
Hallå kära läsare, dags för min sista post. Denna vecka har inte gått särskilt bra för mig, jag har haft svårt att hitta motivation och jag har just nu bara blickarna på Theme Park, vilket inte gör allting bättre. Men denna vecka har jag fortsatt försökt förbättra/optimera vår kod med hjälp av arv. Som jag sa tidigare så har jag arbetar med arv mer specifikt, göra så att våra objekt som liknar varandra ärver av samma klass. Jag är inte en så bra programmerare och jag tror inte att någon i min grupp skulle säga att han är en “bra programmerare” så vi har inte lagt ner så mycket tid på att bygga stora system och Managers, om ens någon tid alls. Så förutom att man lär sig mycket av att bygga om saker och optimera dem så blir även koden mer strukturerad och enklare att förstå. En annan stor anledning till varför jag vill att objekten ska ärva av en klass är att det skulle minska på det antal listor som vi använder oss av. Om t.ex. skott och powerups ärver av klassen WeaponEntity så behöver man bara göra en lista av WeaponEntity istället för fyra separata listor för vardera attack typ. Så det första jag gjorde var att skapa en ny klass(IEntity) som jag fyllde med virtuel funktioner. Detta gör så att alla klasser som ärver av IEntity måste innehålla alla virtuel funktioner som finns i IEntity. I IEntity finns det även en enum(enum är en sorts lista) där man kan lägga till namn på de objekt som kommer att ärva från klassen och man kan sedan använda dessa namn för att specificera vilken typ av objekt det är. Detta är användbart när man t.ex. Kontrollerar kollision eller placera ut olika objekt med hjälp av ett tilesystem. Så Jag gjorde så att spelare, fienden och väggar ärvde av IEntity. Anledningen till detta är att, spelaren och fienderna har en liknade struktur och de kommer även att behöva kollidera med väggarna. Detta gjorde så att jag kunde skapa en IEntity vektor som kan innehålla alla de olika typerna av objekt, istället för att ha separata. Det blir kortare kod och den blir enklare att hantera.
|
Det är inte så mycket tid kvar just nu och det finns många saker att fixa tills på fredag så jag har nog inte tid att fortsätta arbeta på detta, det finns viktigare saker att göra. Så tack för att ni läste och jag önskar er lycka till på Theme Park.