Potrzebuję pomocy w dodaniu ogona do mojego węża. Potrzebuje najprostszego rozwiązania (poziom początkujący). Oto mój dotychczasowy kod:
using System.Dynamic;
using System.Runtime.InteropServices;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
int x= 25;
int y=10;
Console.Clear();
Console.CursorVisible = false;
bool gra = true;
int punkty = 0;
int dlugosc = 5;
int[,] tablica = new int[dlugosc,0];
ramka();
//współrzędne obiektu
int w = 0;
int z = 0;
Random rnd = new Random();
//pozycja startowa weza
Console.ForegroundColor = ConsoleColor.Yellow;
Console.SetCursorPosition(x,y);
Console.Write("◉");
ConsoleKeyInfo klawisz;
klawisz = Console.ReadKey();
while(klawisz.Key != ConsoleKey.Escape)
{
Console.SetCursorPosition(1,1);
Console.Write("Punkty:" + punkty);
if (gra != false) punkty++;
if((x<=3) || (x>=50) || (y<=3) || (y>=20))
{
koniec();
return;
}
if(Console.KeyAvailable)
klawisz=Console.ReadKey();
//prawo
if(klawisz.Key == ConsoleKey.RightArrow)
{
Console.SetCursorPosition(x+1,y);
Console.Write(" ");
if(gra != false) x=x+1;
Console.SetCursorPosition(x,y);
Console.Write("◉");
for(int i=dlugosc; i<=dlugosc; i++)
{
Console.SetCursorPosition(x-i,y);
Console.Write("◉");
Console.SetCursorPosition(x-i+1,y);
Console.Write(" ");
}
Thread.Sleep(300);
}
//lewo
if(klawisz.Key == ConsoleKey.LeftArrow)
{
Console.SetCursorPosition(x-1,y);
Console.Write(" ");
if(gra != false) x=x-1;
Console.SetCursorPosition(x,y);
Console.Write("◉");
for(int i= dlugosc;i<=dlugosc;i++)
{
Console.SetCursorPosition(x+i,y);
Console.Write("◉");
Console.SetCursorPosition(x+i+1,y);
Console.Write(" ");
}
Thread.Sleep(300);
}
//góra
if(klawisz.Key == ConsoleKey.UpArrow)
{
Console.SetCursorPosition(x,y-1);
Console.Write(" ");
if(gra != false) y=y-1;
Console.SetCursorPosition(x,y);
Console.Write("◉");
for(int i =dlugosc;i<=dlugosc;i++)
{
Console.SetCursorPosition(x,y+i);
Console.Write("◉");
Console.SetCursorPosition(x,y+i+1);
Console.Write(" ");
}
Thread.Sleep(300);
}
//dół
if(klawisz.Key == ConsoleKey.DownArrow)
{
Console.SetCursorPosition(x,y+1);
Console.Write(" ");
if(gra != false) y=y+1;
Console.SetCursorPosition(x,y);
Console.Write("◉");
for(int i=dlugosc;i<=dlugosc;i++)
{
Console.SetCursorPosition(x,y-i);
Console.Write("◉");
Console.SetCursorPosition(x,y-i+1);
Console.Write(" ");
}
Thread.Sleep(300);
}
if (punkty == 10)
{
w = rnd.Next(4, 48);
z = rnd.Next(4, 16);
Console.SetCursorPosition(w,z);
Console.Write("X");
}
if(w==x && z==y)
{
dlugosc++;
Console.SetCursorPosition(w,z);
punkty = punkty+100;
Console.Write(" ");
w = rnd.Next(4, 48);
z = rnd.Next(4, 16);
Console.SetCursorPosition(w,z);
Console.Write("X");
}
}
static void ramka()
{
Console.ForegroundColor = ConsoleColor.DarkMagenta;
Console.SetCursorPosition(2,2);
for (int i=0;i<50;i++)
Console.Write("▓");
int y =3;
for (int i = 0 ; i<18; i++)
{
Console.SetCursorPosition(2,y);
Console.Write("▓");
Console.SetCursorPosition(51,y);
Console.Write("▓");
y++;
}
Console.SetCursorPosition(2,21);
for (int i = 0;i<50;i++)
Console.Write("▓");
}
void koniec()
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Clear();
Console.SetCursorPosition(23, 10);
Console.WriteLine(" _ _____ _ _ ___ _____ ____ ");
Console.SetCursorPosition(23, 11);
Console.WriteLine("| |/ / _ || | | |_ _| ____/ ___|");
Console.SetCursorPosition(23, 12);
Console.Write("| ' | | | | || || || _|| | ");
Console.SetCursorPosition(23, 13);
Console.WriteLine("| . | |_| | || || || |__| |___ ");
Console.SetCursorPosition(23, 14);
Console.WriteLine("|_||_|___/|_| |_|___|_____|____|");
gra = false;
Console.SetCursorPosition(15,18);
Console.WriteLine("Punkty: " + punkty.ToString());
}
Console.ReadKey();