Переписать код с Pascal на C# - C# (201585)

Узнай цену своей работы

Формулировка задачи:

Навеяло отсюда Переписать код с Pascal на C# А можно мне тоже, пожалуйста?
program pjan;
USES crt;
VAR
i,j,s,pi,pj:integer;
a:array[1..30,1..30] of string;
BEGIN
  randomize;
  pi:=30;
  pj:=random(30)+1;
  for i:=1 to 10 do begin
    a[random(30)+1,random(30)+1]:='#';
  end;
  a[pi,pj]:='i';
  while pi>1 do begin
  for i:= 1 to 30 do begin
  for j:= 1 to 30 do begin
  write(a[i,j]:1);
  end;
  writeln;
  end;
  delay(1000);
  clrscr;
  s:=random(4);
  case s of
  0: if a[pi-1,pj-1]='#' then begin
  a[pi,pj]:='j';
  delay(2000);
  a[pi,pj]:='i';
  end
  else if (pj<=30) and (pj>1) then begin
  a[pi,pj]:='';
  pi:=pi-1;
  pj:=pj-1;
  a[pi,pj]:='i';
  end;
  1:if a[pi-1,pj]='#' then begin
  a[pi,pj]:='j';
  delay(2000);
  a[pi,pj]:='i';
  end
  else begin
  a[pi,pj]:='';
  pi:=pi-1;
  a[pi,pj]:='i';
  end;
  2:if a[pi-1,pj+1]='#' then begin
  a[pi,pj]:='j';
  delay(2000);
  a[pi,pj]:='i';
  end
  else if (pj<30) and (pj>=1) then begin
  a[pi,pj]:='';
  pi:=pi-1;
  pj:=pj+1;
  a[pi,pj]:='i';
  end;
  3:if a[pi+1,pj]='#' then begin
  a[pi,pj]:='j';
  delay(2000);
  a[pi,pj]:='i';
  end
  else if pi<30 then begin
  a[pi,pj]:='';
  pi:=pi+1;
  a[pi,pj]:='i';
  end;
  end;
  end;
  ReadLn;
END.

Решение задачи: «Переписать код с Pascal на C#»

textual
Листинг программы
using System;
using System.Threading;
 
namespace Programs
{
    class Program
    {
        private static Random _random = new Random();
        
        static void Main(string[] args)
        {
            int s, pi, pj;
            string[,] a = new string[30, 30];
            pi = 30;
            pj = _random.Next(30) + 1;
            for (int i = 0; i < 11; i++)
            {
                a[_random.Next(31)+1, _random.Next(31)+1] = "#";
            }
            a[pi, pj] = "i";
            while (pi > 1)
            {
                for (int i = 0; i < 31; i++)
                    for (int j = 0; j < 31; j++)
                    {
                        Console.Write("{0}", a[i, j]);
                    }
                Console.WriteLine();
            }
 
            Thread.Sleep(1000);
            Console.Clear();
            s = _random.Next(4);
 
            switch (s)
            {
                case 0:
                    if (a[pi-1, pj-1] == "#")
                    {
                    a[pi, pj]="j";
                    Thread.Sleep(2000);
                    a[pi, pj] = "i";
                    }
                    else
                        if ((pj <= 30) && (pj > 1))
                        {
                            a[pi, pj] = " ";
                            pi--;  
                            pj--;
                            a[pi, pj] = "i";
                        }
                    break;
                case 1:
                    if (a[pi - 1, pj] == "#")
                    {
                        a[pi, pj] = "j";
                        Thread.Sleep(2000);
                        a[pi, pj] = "i";
                    }
                    else
                    {
                        a[pi, pj] = "";
                        pi--;
                        pj--;
                        a[pi, pj] = "i";
                    }
                    break;
                case 2:
                    if (a[pi - 1, pj + 1] == "#")
                    {
                        a[pi, pj] = "j";
                        Thread.Sleep(2000);
                        a[pi, pj] = "i";
                    }
                    else
                    {
                        if ((pj<30) && (pj>=1))
                        {
                            a[pi,pj]="";
                            pi--;
                            pj--;
                            a[pi,pj]="i";
                        }
 
                    }
                    break;
                case 3:
                    if (a[pi+1,pj]=="#")
                    {
                        a[pi,pj]="j";
                        Thread.Sleep(2000);
                        a[pi,pj]="i";
                    }
                    else if (pi<30)
                    {
                        a[pi, pj] = "";
                        pi++;
                        a[pi, pj] = "i";
                    }
                    break;
            }
                Console.ReadKey(true);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5