Cześć! Od niedawna bawię się w C# i zacząłem tworzyć grę tekstową, po skończeniu menu i dodaniu kilku podmenu, zacząłem się zastanawiać nad tym, jak dodać animację pojawiających się liter, przeczesałem fora, githuba, youtube - nic satysfakcjonującego, wszystko dotyczy C++, od razu zapytam, czy do takich rzeczy lepszy jest C# czy C++?
Wystarczy pisać literka po literce i usypiać wątek na x milisekund. Dla przykładu coś takiego:
static void Write(string line)
{
foreach(var character in line)
{
Console.Write(character);
Thread.Sleep(150);
}
Console.WriteLine(); // Nowa linia
}
static void Main(string[] args)
{
Write("Hello World");
}
Pamiętaj również o dodaniu using System.Threading;
Dziękuję bardzo! Wracam do pracy z uśmiechem na twarzy i nową energią!
Dodaj losowy czas opóźnienia a będzie to znacznie ładniejszy efekt.
private static void WriteLikeMachine(string textToWrite)
{
Random rnd = new Random();
foreach (char item in textToWrite)
{
Thread.Sleep(rnd.Next(100, 500));
Console.Write(item);
}
}
No i możesz jakiś dźwięk odegrać dodatkowo. Taki stuk klawiszy. Też byłoby fajnie, gdybyś miał kilka stuków (kilka różnych dźwięków) i losowo je odgrywał.
Wziąłem to pod uwagę, przy okazji, pytanie, chciałbym zrobić coś w stylu zmiennej którą ustawia użytkownik, tj Nick gracza, i teoretycznie wszystko chyba się zgadza, ale! Chcę, żeby to była zmienna dostępna wszędzie, rozważałem wiele możliwości, ale nie mam pojęcia jak dać C# do zrozumienia o co mi chodzi. Poniżej wrzucę kod tej zmiennej, i zgaduję że czegoś mi tutaj brakuje (miałem zamysł żeby użyć obj). Wiedzo, przybywaj!
class Kampania
{
static public void Kampania1()
{
AnimacjaTekstu.Write("Wybierz swój pseudonim:");
string Nick;
Nick = Console.ReadLine();
Console.Clear();
AnimacjaTekstu.Write("Witaj " +Nick+ ". Wybierz poziom trudności!");
No to możesz umieścić ją w klasie, nie metodzie:
class Kampania
{
private static string Nick;
public static void Kampania1()
{
AnimacjaTekstu.Write("Wybierz swój pseudonim:");
Nick = Console.ReadLine();
Console.Clear();
AnimacjaTekstu.Write("Witaj " + Nick + ". Wybierz poziom trudności!");
}
Wtedy widoczna jest ona wszędzie w klasie Kampania. Chyba że potrzebujesz jej poza klasą, wtedy możesz zmienić ją na public
.