Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * pitää tehdä kun alkaa enemmän tekemään toiminnallisuutta
- ** Nämä lisäominaisuudet voidaan lisätä sitten kun on jo suunniteltu pidemmälle.
- [Mitä tapahtuu kun kello menee pykälän eteenpäin]
- {Mitä tapahtuu kun tekee jotain}
- GameObject
- gps piste
- string Type (tankin tyyppi on "Tank", tornin esim "Defence Tower")
- Kuva (joka näkyy kartalla)
- Mineral perii GameObjectin
- int Amount (kuinka paljon mineraalia on. mitä enemmän amount on sitä nopeampaa tulee mineraalia. väheneekö amount ajan kanssa?)
- (objektin tyypin perusteella määritetään mikä mineraali on kyseessä)
- Structure perii GameObjectin (sisältää alaluokat vehiclen ja eri rakennukset, keksitään parempi nimi?)
- int Health
- *int Range (kuinka kauas objekti näkee)
- *int MaxHealth
- *string Owner (kenen kontrollissa tavara on. kun on oma tankki valittuna ja klikkaa omaa tankkia vaihtuu valinta mutta jos klikkaa vihollisen tankkia alkaa oma tankki ampumaan sitä)
- **int Armor
- **int Shield (jos halutaan että osa healthista regeneroituu)
- **boolean SeeStealth (tämä yksikkö pystyy näkemään stealthiyksiköt, myös Player näkee nämä automaattisesti)
- DefenseTower perii Structuren
- GameObject Target (mitä torni ampuu, kannattaako tämän olla attribuutti vai onko parempia ratkaisuja?)
- *int Damage
- *int FireRange (jos on eroa näkemisen ja ampumisen välillä)
- *int Firerate
- ** boolean TargetFlying (voiko lentäviä ampua)
- ** boolean TargetGround (voiko maayksiköitä ampua)
- ** int FlyingDamage (damage lentäviin)
- [Jos tykin alueella on vastustajia, tekee se damagea Targettiin, fireratella voidaan määrittää tapahtuuko tämä joka kerta vai tietyn väliajoin]
- Mine perii Structuren
- int MiningRange
- *int MiningSpeed
- [Tarkastetaan mitä mineraaleja on alueella (ei välttämättä tarvi tarkastaa kuin ensimmäisellä kerralla ja tallentaa referenssit mineraaleihin, jolloin attribuuttina pitää olla mineraalitaulukko jossa ne ovat). Lisätään mineraaleja pelaajan varantoon miningspeedin mukaan ja vähennetään tarvittaessa mineraalilöydöksestä. Laskualgoritmissa voi ottaa huomioon etäisyyden mineraaliin]
- Commandcenter perii Structuren
- int CommandRange
- PowerPlant perii Structuren (energiankäytön toiminnallisuutta pitää miettia tarkemmin)
- int PowerRange
- *int Efficiency (kuinka nopeaa/paljon energiaa tulee)
- [energiaa generoituu johonkin reserviin? vai onko tämä vähän kuin supply starcraftissa, että energialaitokset voivat pyörittää tiettyä määrää laitoksia sem alueella(jotkut vievät enemmän energiaa kuin toiset)]
- Vehicle perii Structuren
- int Speed
- Destination (gps piste) (vaikka nämä liikkuvat myös z akselilla ei sillä tarvi olla mitään väliä pelin kannalta)
- GameObject Target (mitä tankki ampuu)
- *int Damage
- *int Firerate
- *int FireRange (jos on eroa näkemisen ja ampumisen välillä)
- ** boolean IsFlying (voivatko rakennukset lentää?)
- ** boolean TargetFlying (voiko lentäviä ampua)
- ** boolean TargetGround (voiko maayksiköitä ampua)
- ** int FlyingDamage (damage lentäviin)
- ** boolean IsStealth (onko näkymätön normaaleille yksiköille. menee mahdollisesti päältä tai pois jonkun kyvyn avulla, jos rakennuksetkin voivat olla näkymättömiä siirretään Structureen)
- [jos on joku target(automaattisesti valitaan lähin vihollinen jos ei itse määritetty), ammutaan sitä, tämän jälkeen jos vehiclellä on joku destination liikutaan sen suuntaan nopeuden verran. nopeuslaskussa jätetään z akseli huomioimatta, jotta nopeus on kartalla aina sama.]
- Player perii GameObjectin
- *string Name
- *Range (kuinka kauas pelaaja näkee )
- *int Mineral (kuinka paljon on saanut louhittua, jokaista eri mineraalityyppiä kohti oma attribuutti)
- *int Energy (kuinka paljon on sähköä käyttämättä, kannattaa ehkä pitää huolta tästä muuten kuin attribuutilla, eli lasketaan aina energianlähteet yhteen ja vähennetään energiankulutus)
- **int CommandBonus (annetaan bonusta tankeille ja rakennuksille läsnäolosta commandrangen sisällä)
- **int CommandRange
- **int ScanRange (kuinka kaukaa voi mineraaleja etsiä)
- [Jos gps on päällä otetaan pelaajan uusi paikka selville, jotta voidaan päivittää näkymä ja komentoalue.]
- Scan perii GameObjectin
- int ScanRange
- {Kun pelaaja valitsee skannauksen otetaan hänen gps-koordinaattinsa ja scanrangensa joista tehdään scan tapahtuma. Tapahtumassa tehdään väliaikaiselle alueelle satunnaiset mineraalit. Tämän jälkeen tarkistetaan onko kukaan muu aikaisemmin skannannut aluetta (osaa siitä). Aikaisempien skannien alueelta poistetaan mineraalit väliaikaisesta alueesta. Jäljelle jääneet mineraalit generoidaan mineraalilistaan ja pelaajalle annetaan tieto kaikista mineraaleista mitä skannausalueella on.}
- muuta huomioitavaa:
- -jollain pitää pitää huolta mikä yksikkö on valittuna, ehkä Gameobjectilla on IsSelected attribuutti
- -Klikatessa tarkastetaan mitä on valittuna ja toiminto suoritetaan sen perusteella.
- -kun aika menee eteenpäin pitää päivittää näkymä jokaisen yksikön näkökentän mukaan.
- -Yksiköiden komentaminen ei onnistu commandrangen ulkopuolella.
Add Comment
Please, Sign In to add comment