---
# System prepended metadata

title: 進度報告五

---

{%youtube PTzcTlP3nTo %}
藍方的Agent會想去碰撞球，但紅方較不會
```
打進紅方區域，藍方利益增加
打進藍方區域，紅方利益增加
打進紅方/藍方得分區域，雙方利益結算
```
更改訓練中
```
打進紅方區域，藍方利益增加
打進藍方區域，紅方利益增加
打進紅方/藍方得分區域，利益進行加減並結算
```
{%youtube A4_yQju0QBs %}
{%youtube nj0rhDwlMoQ %}

```
public override void CollectObservations(VectorSensor sensor)
{
      checkRayCast(input);//射線觀察
      Target和Agent的方向向量;
      Agent的位子動量;
}
```
```
private void checkRayCast(RayPerceptionInput input)
{
    for (每條射線)
    {
        if (射線是否有碰撞物體)
        {
            if (碰撞物體的名稱為Target && 距離小於5.0f)
            {
                增加利益
                AddReward(0.25f);
                並向目標移動
            }
            if (碰撞物體的名稱為Wall && 距離小於2.0f)
            {
                減少利益
                AddReward(-0.05f);
            }
        }
    }

}
```
```
Agent行動
{
    當碰到Target增加利益並結算
    AddReward(1.0f);
    EndEpisode();
}
```