necesito ayuda con el movimiento de una nave en c sharp

tema enviado por sharp en Visual Basic .NET
tema iniciado el 16/04/2008

la nave se va a mover de izquierda-derecha con el teclado, pero no se porque no se mueve, si alguien me podria ayudar por favor, gracias. es en modo consola.

using System;

namespace Nave
{
 
 public class motorgrafico
  {
   public string [][] matriz;
    
   
   public void inicializarla(int columnas)
   {
    for(int i=0;i<columnas;i++)
    {
     matriz[i]=new string[columnas];
    }
   }
   
   
   public void marcodibuja()
   {
    for(int i=0;i<matriz.Length;i++)
    {
     
     for(int j=0;j<matriz[i].Length;j++)
     {
      matriz[i][j]=" ";
      if((i==0)||(i==(matriz.Length)-1))
      {
       matriz[i][j]="*";
      }
    
      if((j==0)||(j==(matriz.Length)-1))
       {
        matriz[i][j]="*";
       }
     
       }
       }
      }
   
   
   public void imprimir()
   {
    
    Console.SetCursorPosition(0,0);
    for(int i=0;i<matriz.Length;i++)
    {
     for(int j=0;j<matriz[i].Length;j++)
     {
      Console.Write(matriz[i][j]);
     }
     Console.Write("\n");
    }
    
   }
  }
 class nave
 {
  public int x=10;
  public int y=18;
   
  public void dibuja(ref string[][] matriz)
     {
    matriz[y][x]="H";
    matriz[y][x-1]="H";
    matriz[y][x+1]="H";
    matriz[y-1][x]="H";
     }
  public void movimiento ()
   
  {
   if(Console.KeyAvailable)
   {
   ConsoleKeyInfo tecla=Console.ReadKey();
   tecla.Key == ConsoleKey.LeftArrow();
    x++;
   }
   if(Console.KeyAvailable)
   {
   ConsoleKeyInfo tecla=Console.ReadKey();
   tecla.Key == ConsoleKey.RightArrow();
    x--;
   }
   
   }
 
  }
 class Program
 {
  
  public static void Main()
  {
  motorgrafico objmotor;
  objmotor = new motorgrafico();
  nave nautilus;
  nautilus=new nave();
  objmotor.matriz=new string[20][];
  objmotor.inicializarla(20);
  objmotor.marcodibuja();
  
  while(true)
  {
   nautilus.dibuja(ref objmotor.matriz);
   objmotor.imprimir();
  }
  Console.ReadLine();
  }
  
 }
}