those symbols just make it look nice
I'm not talking about the result, here it's completely fine to use those characters.
I'm saying don't use it in the code. Stuff likePieces[i].currentPiece === '♙' feels very hard to read.
I guess its probably better to just use 2 words minimum
Yeah, but the most important part is the verb at the beggining.
yeah the object oriented I find hard to apply
Here the different pieces which all have their special logic fit very well into the inheritance model.
variable called team and
That' probably better if it is a property of the Pieces array don't you think ?
what you would rate the code out of 10 for ...
I can't speak about performance, that's something you will have to test for yourself. And stuff like changing (direction+1)/2*15 into a team lookup won't change the performance much (but you should still change it to make the code more readable).
Going after performance isn't something you should focus on at first. And if you end up doing it, the golden rule is to always measure the before and after of every change you do in the name of performance. Because computer are so complex nowadays that it's difficult to assert with certainty if any given change will have the impact you think it has.
For example, the number of line of codes has no relation to performance really.
Functionnality : you tell me. Does it do what you want it to do ? Maximizing functionnality is not a sane goal, you'll just end up with a massive project that does everything badly. Better to focus on one thing and do it well, especially if you don't have much experience.
How clean the code is : could be better. just go over what I've said previously. I mean this in the best possible way, but this looks like the kind of code I did when I was just starting out. Lots of complex ideas that are not managed very well and make it overall difficult to read.