/*
#KeyBoard를 이용한 xpos,ypos 증감 프로그램
- 1초당 ypos가 1씩 증가한다.
- LEFT,RIGHT Key를 이용해서 xpos를 1씩 증감한다.
*/

using System;
using System.IO;
using System.Timers;

namespace SimpleConsole
{
  class Program
  {
    const int FAIL=-1;
    const int SUCC=1;
    static int xpos,ypos;
    static System.Timers.Timer timer;

    static void Main(string[] args)
    {
      int ii,kk,ff,rc;

      timer=new System.Timers.Timer();
      timer.Interval=1000;
      timer.Elapsed += new ElapsedEventHandler(time_elapsed_func);
      timer.Start();

      ConsoleKey key=ConsoleKey.NoName;
      Init();
      while(true)
      {
        key=Console.ReadKey(true).Key;

        if(key==ConsoleKey.Escape)
        {
          timer.Stop();        
          break;
        }
        else if(key==ConsoleKey.RightArrow) xpos=xpos+1;
        else if(key==ConsoleKey.LeftArrow) xpos=xpos-1;
        else if(key==ConsoleKey.Enter)
        {
          //
        }
        DrawHexa(100);
      }
    }

    static void DrawHexa(int ____event)
    {
      int ii,kk,ff,rc;

      DateTime now=DateTime.Now;

      if(____event==100)
      Console.WriteLine(">>>>NowEvent[Key ]:"+now.ToString("yyyy-MM-dd HH:mm:ss") + "    INDEX:["+ypos+","+xpos+"]");
      else 
      Console.WriteLine(">>>>NowEvent[Time]:"+now.ToString("yyyy-MM-dd HH:mm:ss") + "    INDEX:["+ypos+","+xpos+"]");
    }
    
    static void Init()
    {
      xpos=0;
      ypos=0;
    }

    static int DownPossible()
    {
      ypos=ypos+1;
      //
      return SUCC;
    }

    static void time_elapsed_func(object sender, ElapsedEventArgs e)
    {
      int ii,kk,ff,rc;

      DrawHexa(200);

      rc=DownPossible();
      if(rc==FAIL)
      {
        if(ypos==0) timer.Stop();
        else
        {
          //INIT
        }
      }
    }
  } //End OF Program Class
} //End Of NameSpace

 

키를 입력하지 않으면, 1초마다 ypos가 1씩 증가하는 구조임.
키를 입력하면, 이벤트가 발생되어서, 그때 로직을 추가해서 사용할수 있음. 위의 예제는 LEFT,RIGHT시에 xpos증감.
헥사게임을 만들게 되면, 일정 시간후에 ypos가 1씩 증가하는 구조를 가지는 시스템에 적당한 프레임예제임.

 

s_frame.cs
0.00MB

 

+ Recent posts