Na, megérkezett az első ellenfelünk is, egy kapus személyében. Ő ugyanúgy az alap Player objektumból származik, de a saját játékosainkra vonatkozó kódot nem kapja meg, csak a közöset. Magyarul, ugyanazok az alaptulajdonságai vannak (van neve, száma, ereje, sebessége, stb), mint a többi játékosnak, viszont irányítani már nem tudjuk - illetve, pontosabban, mozgatni nem tudjuk, de a labdát ki tudjuk rúgni vele, később ezt is magától fogja csinálni.
Az alábbi kódrészlettel tudjuk megadni, hogy a kapus kódja, az alap kódot egészítse ki:
extends "res://player/BasePlayer.gd"
Az alaphoz túl sok mindent nem kell hozzáadni egyelőre, csak pár dolgot módosítunk a már meglévő kódon, hogy gyorsabban tudjon odaérni a labdához, de a kapu közeléből ne menjen el:
func _physics_process(delta):
if current:
velocity = move_and_slide(velocity) * 100
if !has_ball && global_position.distance_to(self.get_node(post_position).global_position) < 150.0:
run_towards(Global.Ball.global_position, 150)
else:
run_towards(self.get_node(post_position).global_position, 50)
current = true if (Global.nearest_player == self) else false
A játékosok kaptak az OpenGameArt-ról egy kis grafikai tuningot, hogy látni lehessen, hogy ki merre megy - ez még nincs teljesen kész, ez lesz a következő rész témája, mielőtt megérkezik a többi ellenfél is.