It sounds like you're on the right track with your tables, but you're struggling with how to handle the many-to-many relationship between players, ships, and matches. Here's a suggestion on how you could set up your database schema:
PlayerID (Primary Key)
PlayerName
ShipID (Primary Key)...