C#练习题答案: 国际象棋乐趣#3:国际象棋骑士【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

这篇博客提供了10个不同解答,针对国际象棋骑士移动的编程练习,适合C#初学者提升技能,难度为1级。
摘要由CSDN通过智能技术生成

国际象棋乐趣#3:国际象棋骑士【难度:1级】:

答案1:

namespace myjinxin
{
      
  using System;
  public class Kata
  {
   
    public int ChessKnight(string cell)
    {
   
      int v = cell[0] - 96;
      int h = cell[1] - 48;

      int totalMoves = 0;

      // Moving upward
      if (h + 2 <= 8)
      {
   
        if (v + 1 <= 8) totalMoves++;
        if (v - 1 >= 1) totalMoves++;
      }
      // Moving downward
      if (h - 2 >= 1)
      {
   
        if (v + 1 <= 8) totalMoves++;
        if (v - 1 >= 1) totalMoves++;
      }

      // Moving right
      if (v + 2 <= 8)
      {
   
        if (h + 1 <= 8) totalMoves++;
        if (h - 1 >= 1) totalMoves++;
      }
      
      // Moving left
      if (v - 2 >= 1)
      {
   
        if (h + 1 <= 8) totalMoves++;
        if (h - 1 >= 1) totalMoves++;
      }
      
      return totalMoves;    
    }
  }
}

答案2:

namespace myjinxin
{
   
    using System;
    using System.Linq;
    using System.Collections.Generic;
    public class Kata
    {
   
public int ChessKnight(string cell){
   
  int x=cell[0]-96,y=cell[1]-48;
  return new int[][]{
   
  new int[]{
   x-2,y-1},
  new int[]{
   x-2,y+1},
  new int[]{
   x-1,y-2},
  new int[]{
   x-1,y+2},
  new int[]{
   x+2,y-1},
  new int[]{
   x+2,y+1},
  new int[]{
   x+1,y-2},
  new int[]{
   x+1,y+2}}.Count(z=>z[0]>0&amp;&amp;z[1]>0&amp;&amp;z[0]<9&amp;&amp;z[1]<9);
} 

    }
}

答案3:

namespace myjinxin
{
   
    using System;
    
    public class Kata
    {
   
        public int ChessKnight(string cell){
   
          //coding and coding..
          int i=4;
         
          
            if((cell[0]>=99&amp;&amp;cell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值