Не могу перевести код (вероятно JS) в C# [закрыт]

111
10 ноября 2019, 22:40

Код, который нужно перенести :

var moves = [];
   for (var i = 0; i < availSpots.length; i++){
      var move = {};
      move.index = newBoard[availSpots[i]];
      newBoard[availSpots[i]] = player;
      if (player == aiPlayer){
      var result = minimax(newBoard, huPlayer);
      move.score = result.score;
      }
      else{
      var result = minimax(newBoard, aiPlayer);
       move.score = result.score;
     }
     newBoard[availSpots[i]] = move.index;
     moves.push(move);

Я не могу перевести это все в C# код из-за кучи всяких var. Например, как можно перевести код

var moves = [];

, если это массив обьектов со свойствами score( Хотя может быть что-то сказал неправильно, голова уже болит от этих страданий.

Answer 1

По этому куску кода я лично могу сделать только такие комментарии.

   //создается динамический массив или вроде того
   //в C# здесь можно использовать var moves = new List<Move>();
   var moves = [];
   //перебираем в цикле массив availSpots
   for (var i = 0; i < availSpots.length; i++){
  //создаем объект
  //в C# здесь можно создать экземпляр var move = new Move();
  var move = {};
  //присвоение "посадочного места на борту" для move
  //в C# было что-то типа move.Index = _newBoard[availSpots[i]];
  move.index = newBoard[availSpots[i]];
  //занимаем "посадочное место на борту" экземпляром игрока
  newBoard[availSpots[i]] = player;
  //если игрок равен или является ботом (префикс ai указывает на это)
  if (player == aiPlayer){
  //вычисляем (вероятно экземпляр какого-то класса) с пом. функции
  //в которую передается массив того кто на борту
  //и игрок-типа-человек, вероятно префикс 'hu' означает human,т.е человек
  var result = minimax(newBoard, huPlayer);
  //в C# было бы move.Score = result.Score;
  //сам score вероятно интовый
  move.score = result.score;
  }
  else{
  //иначе вычисляем результат в сравнении с ботом
  var result = minimax(newBoard, aiPlayer);
   move.score = result.score;
 }
 //динамическая типизация, она такая...:)
 //тут вместо экземпляра игрока присваиваем индекс
 newBoard[availSpots[i]] = move.index;
 //на C# было бы moves.Add(move);
 moves.push(move);
READ ALSO
Вопрос по генераторам

Вопрос по генераторам

Не понимаю, для чего нужна переменная $collectВызывается ли функция-генератор collect() при ее присваивании переменной $collect? Или она вызывается только...

89
Как послать запрос на сервер

Как послать запрос на сервер

Установил себе PostmanВ теле запроса такое

98
Как создать свою локализацию в Yii2

Как создать свою локализацию в Yii2

Делаю сайт на Yii2Использую разные виджеты, например, GridView

171