JWR26 / JWR26/ArcadeSpaceFighter

Refactor Asteroids, UFO & Ship scripts

Open
#4 0 comments 0 reactions 1 assignee Claimed by @JWR26 View on GitHub
enhancement
Dominant language
GDScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

The main entities all have many shared behaviours and therefore the scripts should be refactored to represent this as follows:

**Base Entity**
> **Asteroid**
> **Ship**
>> **Player**
>> **UFO**

The classes should have the following functional requirements:
_Base entity_
- [ ] Handle the hitpoints & damage

_Asteroid_
- [ ] handle all functionality relating to the asteroids (see #1 , #2 & #3)

_Ship_
- [ ] can collect Helth powerups
- [ ] can have bouncing bullets
- [ ] handles the destruction of the ship when HP falls to 0

_Player_
- [ ] handles player input
- [ ] can have a laser when collecting the laser powerup

_UFO_
- [ ] can detect the player
- [ ] moves to the player if detected but remains a safe distance from it
- [ ] shoots at the player if detected and is on the screen
- [ ] deletes when it goes off the screen
- [ ] moves to a random point on the screen
- [ ] will navigate to powerups close by

Note: having both the UFO (AI) and Player inherit from the ship means that the health and bouncing bullet pickups cannot be exclusively collected by the player which should make for some rather amusing gameplay!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.