/*
* namespace(c#) & package(java)
* java에서 package는 c#에서 namespace와 같은 keyword이다.
* direct make class에서 direct make class를 호출(public,static 주의)
*/
/* ConsoleKeyInfo 클래스를 사용할경우
ConsoleKeyInfo keyInfo;
keyInfo=Console.ReadKey(true);
if(keyInfo.Key==ConsoleKey.RightArrow) xpos++;
if(keyInfo.KeyChar=='+') timer.Interval += 10;
if(keyInfo.KeyChar=='-') timer.Interval -= 10;
*/
using System;
using System.IO;
using System.Timers;
using Kingdom;
namespace Kingdom
{
class Program
{
static void Main(string[] args)
{
episode pro = new episode();
pro.running();
}
}
class episode
{
DateTime now;
ConsoleKey key;
Timer timer;
int xpos,ypos;
public void running()
{
int toggle=0;
timer=new Timer();
timer.Interval=1000; /*1 Second*/
timer.Elapsed += new ElapsedEventHandler(time_elapsed_func);
timer.Start();
xpos=ypos=0;
WriteLog("Start");
while(true)
{
key=Console.ReadKey(true).Key;
if(key==ConsoleKey.RightArrow) xpos++;
else if(key==ConsoleKey.LeftArrow) xpos--;
else if(key==ConsoleKey.UpArrow) ypos++;
else if(key==ConsoleKey.DownArrow) ypos--;
else if(key==ConsoleKey.Escape) break;
else if(key==ConsoleKey.Enter)
{
if(toggle==0)
{
timer.Stop();
toggle=100;
WriteLog("Time stop");
}
else
{
timer.Start();
toggle=0;
WriteLog("Time restart");
}
}
WriteLog("Key");
}//end of while
WriteLog("Stop");
timer.Stop();
}
public void time_elapsed_func(object sender, ElapsedEventArgs e)
{
ypos++;
WriteLog("Time");
}
public void WriteLog(string msg)
{
now=DateTime.Now;
Console.Write(now.ToString("yyyy-mm-dd hh:mm:ss") + " Event:" + msg + "----------------");
Console.WriteLine("Index;["+ypos+","+xpos + "]");
}
}
}//end of namespace;
'c# 언어' 카테고리의 다른 글
#region을 사용하면 #endregion으로 지시문을 종료해야 합니다. (0) | 2021.06.04 |
---|---|
Integer.ToString("formatting") (0) | 2021.06.02 |
KeyBoard를 이용한 xpos,ypos 증감 프로그램 (0) | 2021.04.21 |
Tettris by c# console program(4*4 배열의 모양) (0) | 2021.04.15 |
Tettris by c# console program(3*3 배열의 모양) (0) | 2021.04.12 |