2016-10-14 11 views
0

私は学校でプロジェクトのための3つのテキストベースのゲームを構築しています。C#の上矢印と下矢印のスクロールメソッドを作成

ログには、書き込まれたすべての行が書き込まれます。あなたが書くための45本のラインを持っているので、私はいつも、45行の高さと145の幅を取る、私はその後ので、GUIをした

が書かれているだけで33の高さがで書くために、左の行と143があります幅。

ページがいっぱいになると、プログラムは自分のGUIに書き込んでしまい、その問題を解決したい。

あなたはゲームを見て、https://github.com/LegacyProgrammer/TextBasedWitcherGame

+1

デバッグヘルプ(「なぜこのコードは機能していませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小、完全、および検証可能な例を作成する方法。 – mybirthname

+1

GUIがありますか? WinFormsまたはコンソールを使用していますか? (質問に関連するコードを入れないと問題ではない) – musefan

+1

レポを含めるだけではあまり役に立ちません...あなたの質問をスリム化し、人々が簡単に手助けできるコードを投稿してみてください。 – confusedandamused

答えて

0
public static void ScrollUpAndDown() 
    { 
     if (Program.busy != true) 
     { 
      ConsoleKeyInfo KeyInfo; 
      KeyInfo = Console.ReadKey(true); 
      switch (KeyInfo.Key) 
      { 
       case ConsoleKey.UpArrow: 
        CurrentLine--; 
        indexLog--; 
        if(indexLog >= Program.Log.Count) 
        if(CurrentLine == 5) 
        { 
         ClearText(); 
         CurrentLine = Program.intResol_Long - 7; 
        } 
        Console.SetCursorPosition(1, CurrentLine); 
        Program.busy = true; 
        Console.WriteLine(Program.Log[indexLog]); 
        break; 

       case ConsoleKey.DownArrow: 
        CurrentLine++; 
        indexLog++; 
        if (CurrentLine == Program.intResol_Long - 7) 
        { 
         ClearText(); 
         CurrentLine = 5; 
        } 
        Console.SetCursorPosition(1, CurrentLine); 
        Program.busy = true; 
        Console.WriteLine(Program.Log[indexLog]); 
        break; 
      } 
     } 

これで自分をコーディングすることができますが、私は今までスクロールダウンしてを持っているコードは、indexlogは、ログ内の文字列の量は、現在の行がcurrentlineです。

関連する問題