# Shadow depends on the bullet, not so on the wave

Revision as of 5 July 2021 at 15:51.
The highlighted comment was created in this revision.

## Shadow depends on the bullet, not so on the wave

To me it seems that mainly the position of your bullet determines the shadow, as the angle shifts when your bullet moves. If the enemywave moves, the angle does not shift.

Given the randomness of movement order, there are 4 possible collision scenario's:

```wave_t+1 with bullet_t
wave_t with bullet_t+1
wave+t+1 with bullet_t+1 (2 scenarios as either one moves first, but collide only when the second one moves)
```

So strictly academic, there should be 1/3 or 1/4 shadow on bullet_t, and 2/3 or 3/4 shadow on bullet_t+1. How it will turn out in practice though . . .

15:14, 29 June 2021

I think the traditional shadow is 100%, the other shadows are 50%. And shadows cast from one bullet of yourself has no intersection, then the probability is independent, simplifying computation. And you don't need to actually cast the shadow when it happens, simply add the shadow when either one appears, and remove when bullet is destroyed before shadow cast time. Further simplifies computation.

Xor (talk)15:31, 29 June 2021

And another import thing is, if you look at exact robocode physics, one bullet & wave collide on exact same tick, regardless of bullet_t/wave_t, so probability of bullet shadow will always be fixed.

Xor (talk)16:22, 29 June 2021

You are correct that the shadow on bullet_t is always 100%. But I think that the probability of a shadow on bullet_t-1 (when a collision occurs when the wave moves first) is only 25%. Rationale: 50% chance that wave moves before bullet, 50% chance that a collision occurs if either one moves (the other 50% is when both move).

17:51, 5 July 2021