////////////////////////////////////////////////////////////////////

ȳϼ? ϴ  Ͽ~ ..-_-;;

¿ obj()Լ  ? ʹ game()Լ ؼ 

¸ ϰڽϴ. ̹ º   ݾ 巯 ؼ

..^^; ׸.. ȸ ʹ ..-_-;; ٸ е ´ 500

 Ѵ°͵ ִ..(ģе鲲 ..^^;;)

׷ ¸ ϰڽϴ.

////////////////////////////////////////////////////////////////////

켱.. game()Լ óκ ô.(Լκи..ҽ ߰..)

void game(int *sp,int *ep)

̷ ? ⼭ ڰ Ͷ  Ͻñ..

main()Լ ..    ̴ϴ.

game(&score,&energy);

game()Լ ȣϸ鼭(ϸ鼭.)  ڸ game()Լ Ѱִ

.. score  ϴ ̰.. energy   Ȱ

 ϴ Դϴ.

 κ ּҸ game()Լ Ѱִµ..

game()Լ ڰ Ϳ? , sp score ּҸ 

ϰ, ep energy ּҸ մϴ. ׳  

 ,  ּҸ ϴ ñ Ͻô е鵵 ǹѵ.. 

  帮.. game()Լ  ԼΰŴ ƽ? , ga

me()Լ ŰԷ,ó,̵,浹,Ż..   ϰ

Ǵµ..  ϴٺ.. ڸ Ծ  ö ϵ ְ,

 ̵ϸ鼭  پ⵵ մϴ. ̶   

 ؾ ϴµ.. ׳  ϸ, ǿ  Ҽ 

,  Ѿ   ϴ. װ ϱؼ 

ȯ̳ , Ǵ ͸ ؾ ϴµ,  ǵ 

 ̱ؼ  ߰, ȯ ܿ  ʾҽ

. -_-;; ׷   ͸ ߽ϴ. ^^; ͸ 

ϸ  ּҸ   ų ֽϴ. ׷.. score

 energy ּҸ game()Լ Ѱִ Դϴ.  game()

 ڰ   Ƽ?

׷..  κ Ѿڽϴ.

game()Լ óκп   κ ?

int x,y,mx,my,i,t,plus,ch,chb,tail[2][60];

  뵵 ڸ..

x:  Ӹ xǥ .
y:  Ӹ yǥ .
   x y ground迭 ǥԴϴ.  ȭ ǥ ƴ.
mx:   ̵  xǥ .
my:   ̵  yǥ .  鵵 ground迭 ǥ..
i:  첿 ̸ .
t:   첿 ̸ִ .
plus:  Ծ ڸ .
ch: Ű忡 Էµ Ű  .
chb: Ű̿ Ű(,ĺ..)  츦   Էµ
     Ű  .
tail[2][60]: 첿 x,yǥ ϱ 迭.  ground迭
              ǥ .

 κ ۽ ġȯκ..

x=1;
y=4;
i=0;
t=15;
plus=1;
ch=77;

 ġȯ ..

x=1; :óҶ  xǥ.  ground迭 ǥ.
y=4; :óҶ  yǥ. ̰͵ ground迭 ǥ.
i=0; :  ̴ 0.
t=15; : 첿 ̴ִ 15.
plus=1; : Ծ ڴ 1.
ch=77; :ó۽  ̵  .
         Ű ĵڵ..ȣ 16.(ȣ 10)
        up:0x48(72) down:0x50(80) right:0x4d(77) left:0x4b(75)
        ׸.. ϳ.. escŰ ƽŰڵ..0x1b

////////////////////////////////////////////////////////////////////

[ŰԷºκ]

 ! ܱ  巯 κ..^^;

if(kbhit()) {
    chb=ch;
    ch=getch();
    if(ch==0) {
        ch=getch();
    }
}

̺κ 溸.. 켱.. kbhit()Լ Ű ȴ ˾ƺ.. Ű

 1 ȯմϴ. , Ű  ǽ (1) ǰ, ׾

 Ǵµ, 켱.. chb=ch; ̺κ ࿡ Ű̿ Ű(

ĺ̳ Ű..) ,   Ű Ҷ  ؼ

  Ű chb صδ κԴϴ.

׸ ״.. ch=getch()  Ű ƽŰ ch ϴ κ

ϴ.   ϼ?

״.. ̺κ ϱ  ˾ƵѰ ִµ.. ..  

 ϳ..-_-;;  .. ..  غڽϴ.-_-;;;

츮 Ű忡 Ű .. ..  Ű ĺ̳ ڵ

 (?) Ű.. Ű Ű(F1-F12) Ư(-_-)Ű

˾ƺϴ.  Ű ĺ̳ Ű.. (?)Ű.. Ű

ƽŰ ?Űۿ ϴ. , Ű Ű Ű Ư

 Ű.. 켱 0 Űۿ ..   ٷ  Ű ĵڵ带

Űۿ ϴ. , getch()Լ Ű ƽŰ (?)

  ٷ  ŰԴϴ.

ٽ  ch=getch(); κ..  ư..

࿡ Ű upŰ սô. upŰ ƯŰ(ȮŰ .)̹Ƿ

  Űۿ 0 ϴ. ׸  , upŰ ĵڵ 0x48

 µ.. ׷, Ʊ ch=getch(); κп getch()  Űۿ

 0 ԰? ׷ Ű ȮŰ ˾ƺ Űۿ ĵ

带 о ?

if(ch==0) {
    ch=getch();
}

 ǹ ٷ Ű ȮŰ ˾ƺ ȮŰ Ű ĵ

带 о κԴϴ.

Ʊ getch() Ű۷  0 ? ׸,  0 ch ġȯ?

 ǽĿ ch 0  ˾ƺϴ. Ʊ ch 0 ġȯ 

ǽ  ǰ?

׷ ǹ ch=getch() ˴ϴ. getch() Űۿ upŰ ĵ

ڵ带 оɴϴ. ׸, ch ĵڵ带 ġȯ()մϴ.

~  Ƽ?

ٽ ڸ..

࿡ 츮 upŰ ٰ սô. ׷ ǻʹ 켱 0 Ŀ۷

? ׷ Ű۴   ˴ϴ.


           [Ű..-_-;;]

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----
+--->|0| | | | | | | | | | | | | | | | | | | |
|    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--
|
+----̰ Ű ԱԴϴ.

Ŀ  upŰ ĵڵ带 Ű۷ ϴ.  Ű۸ ?

                [Ű]

+-+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----
|0|0x48| | | | | | | | | | | | | | | | | | |
+-+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--

̷ ǰ? -_-;;

׷    ˴ϴ.

if(kbhit()) {
    chb=ch;
    ch=getch();
    if(ch==0) {
        ch=getch();
    }
}

켱 kbhit()Լ Ű۷ ɴϴ.

kbhitԼ: ! 0ϰ 0x48 ֳ!

kbhit()Լ Ĵٴ ưϴ. ׸ 1 ȯ. ׷ ̷ ǰ?

if(1) {
    chb=ch;
    ch=getch();
    if(ch==0) {
        ch=getch();
    }
}

ǽ (1) ǰ   ˴ϴ. 켱.. ch ִ 

chb ġȯմϴ. , upŰ   rightŰ ٸ.. ch

0x4d ְ? ׷ װ chb ġȯմϴ.

׸ Ŀ getch()Լ Ű۷ ϴ.

                        [Ű]

        +-+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----
getch() |0|0x48| | | | | | | | | | | | | | | | | | |
        +-+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--

getchԼ: .. Ա .. 0 ֱ.. !  ư..

getch()Լ Űۿ 0  Ŀ   ǰ?

                [Ű]

+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----
|0x48| | | | | | | | | | | | | | | | | | | |
+----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--

getch()Լ Űۿ ƿͼ 0 ȯմϴ.

if(1) {
    chb=ch;
    ch=0;
    if(ch==0) {
        ch=getch();
    }
}

Ŀ ǹ ǰ?

if(1) {
    chb=ch;
    ch=0;
    if(0==0) {
        ch=getch();
    }
}

! ǹ  Ʊ! ׷ ׾  ǰ? ǹȿ 

 getch()Լ Ű۷ ϴ. ׸ Űۿ 0x48 ?

if(1) {
    chb=ch;
    ch=0;
    if(0==0) {
        ch=0x48;
    }
}

getch()Լ ȯ 0x48 ch ġȯǰ, ŰԷºκ   

ϴ. .. ׷  κ ?

/*

! ⼭ Űۿ  漳 ְڽϴ.^^

Ű۴ 츮  Ű  صδ ε..

켱 츮 Ű忡 Ű ? ׷.. Ű  Ű

, ̿  ļ Űۿ   Դϴ.

̷ Űۿ ִ Ű  α׷ getch() Լ 

ɴϴ.

̻ 漳 !

*/

////////////////////////////////////////////////////////////////////

[Űóκ]

switch(ch) {
    case (0x48):
        my--;
        break;
    case (0x50):
        my++;
        break;
    case (0x4d):
        mx++;
        break;
    case (0x4b):
        mx--;
        break;
    case (0x1b):
        death(0);
    default:
        ch=chb;
        switch(ch) {
            case (0x48):
                my--;
                break;
            case (0x50):
                my++;
                break;
            case (0x4d):
                mx++;
                break;
            case (0x4b):
                mx--;
                break;
        }
}

..  ?  ŭ  ϴ  .. ׷ ϰڽϴ.

switch(ch) {
    case (0x48): /*upŰ*/
        my--;
        break;
    case (0x50): /*downŰ*/
        my++;
        break;
    case (0x4d): /*rightŰ*/
        mx++;
        break;
    case (0x4b): /*leftŰ*/
        mx--;
        break;
    case (0x1b): /*escŰ*/
        death(0);

켱..  ϰڽϴ.

switch()  ƽð?(Ȥ 𸣽ô  CԹå 缭 ϼ..

    帮  ʹ  ǹǷ ٸ 

ظ..-_-;;) switch Ǹ鼭.. ch   ãµ..

࿡ upŰ ٸ.. ch 0x48 Ǿְ? ׷.. 0x48 



case (0x48): /*upŰ*/
    my--;
    break;

̺κ ˴ϴ. my 1ϰ.. break;  switch Ż

 .. my ̹  ̵Ұ yǥ ϴ ε..

mx my ݺ ó 0 Ź ġȯ˴ϴ.(for(;;)κ..)

mx=0;
my=0;

׷.. my--; ϱ.. my 1 .. my -1 Ǵ±.. mx ״

0 ǰ.. ̰ ߿ 浹óκп x,y ϴ... ࿡..
                   x  y
  ǥ.. 10,20̸..  ̵óκп x+mx,y+my ̷

..xǥ.10, yǥ, 19 ˴ϴ. ? ׷  ġ(10,20)

ٷ  ǥ(10,19) Ǵ±!  Ƽ̳? ߿ ̷  

  ǥ ϴµ..  ׳.. mx, my  Ųٰ

 Ͻø ˴ϴ. ׷  κп  ..

, escŰ .. ch 0x1b ˴ϴ. ׷..

case (0x1b): /*escŰ*/
    death(0);

̺κ ˴ϴ. death()Լ Ǵ±.. death()Լ 

 ԼԴϴ. , escŰ ,   մϴ.

׷..   default Ҵµ.. ࿡.. Ǽ k ٰ

ϸ.. ch k ƽŰ 107 ǰ? ׷..  κп 

͵ ʽϴ. ׷.mx, my  0̰? ׷..  
                                                           x  y
浹óκп x,y ϴ... ࿡,  ǥ.. 30,10̸..

x+mx, y+my.. 30+0, 10+0.. .. ̵Ұ ǥ 30,10 ˴ϴ. ,,

̵  ʰ .. ׷  浹óκп.. ڽ  浹

Ѱɷ νϰ ׳  ϴ.-_-;;;;(    

 û ..TT) ׷ Ű ƴ Ű(ĺ̳..

, Ű..)    Ű ؼ  

 ؾ ϴµ..     ִٰ.. k ٸ..

ٽ   Ű ؼ     ؾ߰? 

   ؾ ϴµ... ٷ default ׷ 

ϴ. Ű esc̿ Ű(Ѹ  Ű)  switch

ִ case Ǵ case ?

׷, default ˴ϴ.

default:
    ch=chb;
    switch(ch) {
        case (0x48):
            my--;
            break;
        case (0x50):
            my++;
            break;
        case (0x4d):
            mx++;
            break;
        case (0x4b):
            mx--;
            break;
    }

켱..

ch=chb;  ġȯ ˴ϴ. Ʊ ŰԷºκп chb=ch;κ ־

? װ   Ű صδ κε.. ( Ű 

)chb Ǿ ִ   Ű ch ϴ κ( 

 Ű ϴ κ) ٷ ̺κԴϴ. ׸ ٽ switch 

 ˴ϴ. ̹ case׸ ? Ʊ Ű escŰ, defa

ult ־µ.. ̹ Űۿ ϴ.

ֳϸ.. , escŰ ȴٸ Ʊ(ù° switch) ..

default   ߸ Ű  ɼ   Դϴ.(

 ùٸ Ű ߱ ..)

 ̽ ϴ  ù° switch   ϰڽϴ.

////////////////////////////////////////////////////////////////////

̹µ ⼭  ΰڽϴ. ̹°  ?

  ҷ ϵ ϰ  ߴµ..-_-;; 

ŭ   ʵǳ׿..   Ƿ   ۿ..^^;

 ǹ ..  ּ ؼ .. е ذ 

Ǵ κ ּ ؼ غ.. ׷ 𸣴 κ 

... ׷ ̸..

////////////////////////////////////////////////////////////////////
