Another code problem

BlitzPlus Forums/BlitzPlus Beginners Area/Another code problem

I don't know what the problem with this is now it is I guess
with types but why would a 'variable type mismatch' I have no idea I'm new with types.
;Types
Type Player
   Field x,y,health,speed
End Type 
;Lets define the Player type
player.player\x=400
player.player\y=300
player.player\health=3
player.player\speed=4
Type Projectile
    Field x,y
End Type 
;Lets define the Projectile type
shot.Projectile\x=player\x
shot.Projectile\y=player\y+15
;Functions
Function ControlPlayer()
  While Not KeyDown(1)
      If KeyDown(LEFTKEY) Then
   player\x=player\x-player\speed
      If KeyDown(RIGHTKEY) Then
   player\x=player\x+player\speed 
      If KeyDown(SPACE) Then 
   projectile\y=projectile\y+100
      EndIf
      EndIf
      EndIf 
  Wend
End Function     
ControlPlayer()
End