Terminus
aiplayer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
6 
7 #include "abstractplayer.h"
8 
9 namespace terminus
10 {
11 
12 class WeaponWagon;
13 
18 class AIPlayer : public AbstractPlayer
19 {
20 public:
21  AIPlayer(World & world, Train *train, Train *enemyTrain);
22 
30  virtual void update() override;
31 protected:
35  void switchWagon();
36 
41  void fire();
42 protected:
45 };
46 
47 }
void fire()
Finds a target wagon and fires a projectile from the currently focusedWagon in that direction...
Definition: aiplayer.cpp:71
AIPlayer(World &world, Train *train, Train *enemyTrain)
Definition: aiplayer.cpp:12
Train * m_enemyTrain
Definition: aiplayer.h:43
void switchWagon()
Switches randomly to next or previous wagon.
Definition: aiplayer.cpp:59
Train * train()
Definition: abstractplayer.cpp:128
The World class represents a running game instance and contains all graphical (3D) elements of the sc...
Definition: world.h:46
Definition: eventhandler.cpp:18
The AIPlayer class implements a simple artificial intelligence enemy player.
Definition: aiplayer.h:18
virtual void update() override
Contains the AI logic and determines what to do in this frame.
Definition: aiplayer.cpp:20
The AbstractWagon class provides a common interface for all wagon types and contains common functiona...
Definition: abstractwagon.h:25
The AbstractPlayer class is the base class for interacting with a train and a camera.
Definition: abstractplayer.h:21
AbstractWagon * m_targetEnemyWagon
Definition: aiplayer.h:44
The Train class works as a logical container for all wagons one train consists of.
Definition: train.h:25