Переписать код с 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д