Check out Smess, our featured variant for February, 2025.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

0000000100000000[Subject Thread] [Add Response]
Aurelian Florea wrote on Fri, Sep 16, 2016 03:44 AM UTC:

I managed on my own the easy task of rewriting the weirdPromotion script:

 

<script>function WeirdPromotion(x1, y1,x2, y2, promo)
{
  if((board[y1][x1] & 15) != 1) return promo; // moved piece is not a Pawn
  if(y2 == 9 || y2 == 0) return ((promo & 15) == 1 ? 9 : promo); // on last rank: cannot stay Pawn
  if((y2 == 7 || y2 == 2) && ((promo & 15) > 6))return board[y1][x1]; // rook or larger than Rook: remains Pawn
  if((y2 == 8 || y2 == 1) && ((promo & 15) > 7))return board[y1][x1]; // larger than Rook: remains Pawn
  return promo; // choice was acceptable
}
</script>

 

<script>function WeirdPromotion(x1, y1,x2, y2, promo)
{
  if((board[y1][x1] & 15) != 1) return promo; // moved piece is not a Pawn
  if(y2 == 9 || y2 == 0) return ((promo & 15) == 1 ? 11 : promo); // on last rank: cannot stay Pawn
  if((y2 == 7 || y2 == 2) && ((promo & 15) > 7))return board[y1][x1]; // rook or larger than Rook: remains Pawn
  if((y2 == 8 || y2 == 1) && ((promo & 15) > 8))return board[y1][x1]; // larger than Rook: remains Pawn
  return promo; // choice was acceptable
}
</script>