Yardım C# Console Yılan Oyunu

Bu konuyu okuyanlar

yecloop

Öğrenci
Katılım
12 Haziran 2021
Mesajlar
5
Reaksiyon puanı
0
Puanları
1
Yaş
24
Öncelikle selamlar elimde c# ile Console üzerinde yapılmış bir yılan oyununun kodları var fakat duvarlar ve kendine değince ölme eylemleri yok eklemek istiyorum yardımcı olabilecek arkadaşlara şimdiden teşekkürler.Kodlar şu şekilde:

C#:
using System;
using System.Security.Policy;
using System.Threading;

namespace DateFunctions
{
internal class Snake
{

int Height = 20;
int Width = 30;

int[] X = new int[50];
int[] Y = new int[50];

int fruitX;
int fruitY;

int parts = 3;


private ConsoleKeyInfo key_Info = new ConsoleKeyInfo();
char key = '*';

Random rnd = new Random();

Snake()
{
X[0] = 5;
Y[0] = 5;
Console.CursorVisible = false;
fruitX = rnd.Next(2, (Width - 2));
fruitY = rnd.Next(2, (Height - 2));
}

public void WriteBoard()
{
Console.Clear();
for (int i = 1; i <= (Width + 2); i++)
{
Console.SetCursorPosition(i, 1);
Console.Write("-");
}
for (int i = 1; i <= (Width + 2); i++)
{
Console.SetCursorPosition(i, (Height + 2));
Console.Write("-");
}
for (int i = 1; i <= (Height + 1); i++)
{
Console.SetCursorPosition(1, i);
Console.Write("|");
}
for (int i = 1; i <= (Height + 1); i++)
{
Console.SetCursorPosition((Width + 2), i);
Console.Write("|");
}
}

private static void GameOver()
{
throw new NotImplementedException();

}

public void WritePoint(int x, int y)
{
Console.SetCursorPosition(x, y);
Console.Write("*");
}

public void Input()
{
if (Console.KeyAvailable)
{
key_Info = Console.ReadKey(true);
key = key_Info.KeyChar;
}
}

public void Logic()
{
if (X[0] == fruitX)
{
if (Y[0] == fruitY)
{
parts++;
fruitX = rnd.Next(2, (Width - 2));
fruitY = rnd.Next(2, (Height - 2));
}
}

for (int i = parts; i > 1; i--)
{
X[i - 1] = X[i - 2];
Y[i - 1] = Y[i - 2];
}

switch (key)
{
case 'w':
Y[0]--;
break;
case 's':
Y[0]++;
break;
case 'a':
X[0]--;
break;
case 'd':
X[0]++;
break;
}

for (int i = 0; i <= (parts - 1); i++)
{
WritePoint(X, Y);
WritePoint(fruitX, fruitY);
}
Thread.Sleep(100);
}


public static void Main(string[] args)
{
Snake snake = new Snake();
while (true)
{
snake.WriteBoard();
snake.Input();
snake.Logic();
}

}
}
}
 
Üst