Вы упомянули, что не знаете, что делает оператор "->" в C#, там это просто "." если что-то содержит свойство, к которому вы обращаетесь с помощью простой точки, допустим, у нас есть страна объекта с некоторыми значениями для доступа к каждому из них:
Country.Capital
Country.President
et c ...
, проблема с вашим вопросом в том, что это очень базовый c, и в этом нет ничего плохого, мы все с чего-то начали, но начать работать в шахматном движке на вашем уровне кажется странным, не уверен, что кто-то потратит время, чтобы переписать это для вас, но вы на 100% столкнетесь с другими проблемами по пути, которые вы не знаете, как решить, я бы посоветовал оставить это в ожидании, сосредоточиться на основах и затем вернуться и sma sh этот код с вашими новыми знаниями