이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°˜μ‘ν˜•
λ¬Έμ„œ μš”μ•½μ •λ³΄

ꡬ맀자 평가


λ¬Έμ„œ 상세정보

미리보기

μ†Œκ°œκΈ€ 2007λ…„ 11μ›” ν›„λ°˜μ―€μ— ν•™μ›μ—μ„œ μˆ™μ œλ‘œ μ œμΆœν•œ νƒ€μžμ—°μŠ΅κ²Œμž„μž…λ‹ˆλ‹€.
λΉ„ 처럼 μœ„μ—μ„œ μ•„λž˜λ‘œ 단어듀이 λ–¨μ–΄μ§€λ©΄μ„œ μ΅œν•˜λ‹¨μ— λ‹ΏκΈ° 전에 재빨리 μ³μ„œ μ—†μ• λ©΄ 점수λ₯Ό μ–»κ³  일정 점수λ₯Ό μ–»μœΌλ©΄ μŠ€ν…Œμ΄μ§€κ°€ λ³€ν•˜λŠ” 그런 κ²Œμž„μž…λ‹ˆλ‹€.
μ•„μ΄ν…œλ„ 2κ°œμ •λ„ μžˆκ΅¬μš” ^^

순수 Win32 API둜만 μ§°μŠ΅λ‹ˆλ‹€.
κ°œλ°œνˆ΄μ€ Visual C++ 6.0을 μΌκ΅¬μš”~


μ•„λž˜λŠ” λ©”μΈμ½”λ“œ 쀑 μΌλΆ€μž…λ‹ˆλ‹€.

(μ•ž μƒλž΅)

//━━━━단어듀 좜λ ₯

for( i = 0 ; i < WORDMAX; i++)
{

g_Word[i].MoveDown(g_Player); //단어 μ‹œκ°„κ²½κ³Όμ— 따라 λ°‘μœΌλ‘œ 이동(일정화면 λ„˜μ–΄κ°€λ©΄ μ΄ˆκΈ°ν™”)

//ν•΄λ‹Ή 단어 찍어주기

if(g_Word[i].GetItem() == 0)
{
SetTextColor(g_Image[IMG_BACK].MemDC,RGB(0,0,0));
TextOut(g_Image[IMG_BACK].MemDC,
g_Word[i].GetRect().left,
g_Word[i].GetRect().top,
g_Word[i].GetWord(),
strlen(g_Word[i].GetWord()));
SetTextColor(g_Image[IMG_BACK].MemDC,RGB(0,0,0));
}
else if(g_Word[i].GetItem() == 1)
{

MyFont=CreateFont(50,0,0,0,0,0,0,0,HANGEUL_CHARSET,0,0,0,0,"κΆμ„œ");
OldFont=(HFONT)SelectObject(g_Image[IMG_BACK].MemDC,MyFont);

SetTextColor(g_Image[IMG_BACK].MemDC,RGB(255,0,0));
TextOut(g_Image[IMG_BACK].MemDC,
g_Word[i].GetRect().left,
g_Word[i].GetRect().top,
g_Word[i].GetWord(),
strlen(g_Word[i].GetWord()));
SetTextColor(g_Image[IMG_BACK].MemDC,RGB(0,0,0));


SelectObject(g_Image[IMG_BACK].MemDC,OldFont);
DeleteObject(SelectObject(g_Image[IMG_BACK].MemDC,OldFont));


}
....
....(ν›„λž΅)

컴파일
μ‹€ν–‰ν™˜κ²½
Visual C++ 6.0

참고자료 μœˆλ„μš°μ¦ˆ API 완전정볡 1,2ꢌ (ν•œλΉ›λ―Έλ””μ–΄ - κΉ€μƒν˜• μ§€μŒ)
http://cafe.naver.com/gamedidim κ²Œμž„ν”„λ‘œκ·Έλž˜λ° 까페

학ꡐ정보 2μ£Όκ°„ λ‹€μš΄λ°›μ€ ν•™μƒμ˜ 학ꡐ정보λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.(5P μ†Œμš”)

μ €μž‘κΆŒ 정보 μœ„ 정보 및 κ²Œμ‹œλ¬Ό λ‚΄μš©μ˜ 진싀성에 λŒ€ν•˜μ—¬ ν•΄ν”ΌμΊ νΌμŠ€λŠ” λ³΄μ¦ν•˜μ§€ μ•„λ‹ˆν•˜λ©°, ν•΄λ‹Ή 정보 및 κ²Œμ‹œλ¬Ό μ €μž‘κΆŒκ³Ό 기타 법적 μ±…μž„μ€ 자료 λ“±λ‘μžμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€.
μœ„ 정보 및 κ²Œμ‹œλ¬Ό λ‚΄μš©μ˜ λΆˆλ²•μ  이용, 무단 μ „μž¬Β·λ°°ν¬λŠ” κΈˆμ§€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.μ €μž‘κΆŒμΉ¨ν•΄, λͺ…μ˜ˆν›Όμ† λ“± λΆ„μŸμš”μ†Œ λ°œκ²¬μ‹œ κ³ κ°μ„Όν„°μ˜ μ €μž‘κΆŒμΉ¨ν•΄ μ‹ κ³ μ„Όν„°λ₯Ό μ΄μš©ν•΄ μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€.
λ°˜μ‘ν˜•

이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°˜μ‘ν˜•
//β”•β”•β”•β”•β”• λ””μ ΈμŠ€νŒŒμΌ ν•˜λ‚˜ν•˜λ‚˜λ²—κΈ΄λ‹€μŒ λ””μ½”λ”©μ‹œν‚¨λ‹€μŒ ν‘œλ©΄μœΌλ‘œ λ³΅μ‚¬μ‹œν‚€κΈ°β”•β”•β”•β”•
//━━ λ””μ ΈμŠ€ μ½μ–΄μ„œ 이미지 클래슀 동적할당 ━━//
//━━ 이것은 32λΉ„νŠΈμž„μ„ λ„ˆλ„ μ•Œκ³  μžˆμ§€ μ•ŠλŠλƒ?
////━━ 16λΉ„νŠΈλ‘œ λ§Œλ“œλŠ”κ²Œ μˆ™μ œμ΄λ―€λ‘œ λ§Œλ“€λ„λ‘ ν•˜μ—¬λΌ.
  m_Image = new CImages[IMG_END];

  HANDLE    hFile;
  BYTE    byNameSize;
  char    szAlxName[128];
  DWORD    dwFileSize;
  DWORD    dwRead;
  BYTE*    pData;
  int      i;
  //μ’† νŒŒμΌμ„ 읽기λͺ¨λ“œλ‘œ ν•Έλ“€μž‘μŒ
  hFile = CreateFile("jot.dgs", GENERIC_READ, 0, NULL,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);


  //pData νŒŒμΌν•˜λ‚˜μ”©ν•˜λ‚˜μ”© κΉŒμ„œ ν‘œλ©΄μœΌλ‘œ λ³΅μ‚¬μ‹œμΌœμ£ΌλŠ” Loadν•¨μˆ˜μ— νƒ‘μž¬μ‹œμΌœλ²„λ¦°λ‹€.
  for(i = 0; i < IMG_END; i++)
  {
    //이름이 ν•„μš”ν•˜μ§€λŠ” μ•Šμ§€λ§Œ μžˆκΈ°λ•Œλ¬Έμ— ν˜•μ‹μ μœΌλ‘œ 읽어쀀닀
    //μ•Œλ ‰μŠ€ : κ±΄λ„ˆλ›°κ³  μ½μ–΄μ€˜λ„ λ˜κ² μ§€λ§Œ κ·Έλƒ₯ 읽으면 포인터가 μ΄λ™ν•˜λ‹ˆκΉ
    //         이게 νŽΈν•΄μ„œ μ΄λ ‡κ²Œ ν•˜λŠ” 거겠지 ????
    ReadFile(hFile, &byNameSize, 1, &dwRead, NULL);
    memset(szAlxName, 0, 128);
    ReadFile(hFile, szAlxName, byNameSize, &dwRead, NULL);


//β”β”νŒŒμΌ ν•˜λ‚˜~~ν•˜λ‚˜~~~λ₯Ό ν‘œλ©΄ ν•˜λ‚˜~~ν•˜λ‚˜μ—λ‹€κ°€ λ³΅μ‚¬μ‹œν‚€κΈ°
    //νŒŒμΌμ‚¬μ΄μ¦ˆμ™€ 데이타λ₯Ό μ½λŠ”λ‹€
    //ALEX   : 이뢀뢄이 μ€‘μš”ν•˜λ‹€. μ‹€μ œλ‘œ Data λ₯Ό μ½μ–΄λ“œλ¦°λ‹€μŒ
    //         ν‘œλ©΄μ—λ‹€κ°€ λ³΅μ‚¬μ‹œν‚€κΈ° μœ„ν•΄ Loadν•¨μˆ˜λ₯Ό λΆˆλŸ¬λ“œλ¦°λ‹€.
    ReadFile(hFile, &dwFileSize, 4, &dwRead, NULL);
    pData = new BYTE[dwFileSize];
    ReadFile(hFile, pData, dwFileSize, &dwRead, NULL);
    //μ•”ν˜ΈνšŒλ˜μ–΄μžˆμœΌλ‹ˆ λ””μ½”λ”©ν•˜κ³ 
    Decode(pData, dwFileSize);

    //λ³΅μ‚¬λ•Œλ¦¬μž!!!μΊ¬μΊ¬
    if(m_Image[i].Load(m_lpDD, pData, nBit, nMemOff) == false) return false;

    delete [] pData ;
  }


  CloseHandle(hFile);

  
//━━ μΉ΄μš΄ν„° 클래슀 동적할당 ━━//
  m_Count = new CCount;
  m_Count->SetUp();

  if(SetClip() == false) return false;


  return true;
}


//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// β˜†β”β”€ 08-02-15, λ³΅ν˜Έν™” ν•œλ‹€ seth. β”€β”β˜†
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
void CMainGame::Decode(BYTE* pAlxData, int dwFileSize)
{
  BYTE*    pData;
  BYTE    byPassWord[3];
  int      i;

  pData = new BYTE[dwFileSize - 3];
  memset(pData, 0, dwFileSize - 3);

  byPassWord[0] = pAlxData[1];
  byPassWord[1] = pAlxData[3];
  byPassWord[2] = pAlxData[6];

  for(i = 0; i < dwFileSize; i++)
  {
    pAlxData[i] = pAlxData[i] ^  byPassWord[0];
    pAlxData[i] = pAlxData[i] ^  byPassWord[1];
    pAlxData[i] = pAlxData[i] ^  byPassWord[2];
  }

  //μ•Œλ ‰μŠ€ 헀더카피
  pData[0] = pAlxData[0];
  pData[1] = pAlxData[2];
  pData[2] = pAlxData[4];
  pData[3] = pAlxData[5];
  memcpy(&pData[4], &pAlxData[7], 4);

  memcpy(&pData[sizeof(tagAlex)], &pAlxData[sizeof(tagAlex) + 3], dwFileSize - sizeof(tagAlex) - 3);
  memset(pAlxData, 0, dwFileSize);
  memcpy(pAlxData, pData, dwFileSize - 3);


  delete [] pData;
}

λ°˜μ‘ν˜•

이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°˜μ‘ν˜•


 




DirectDrawλ₯Ό μ¨μ„œ λ§Œλ“  팑!! μΆ˜λ¦¬λ²„μ „~


μ£Όμš” 처리 λΆ€λΆ„ : 곡의 쀑λ ₯μš΄λ™ 및 곡이 μ΄μ•Œμ„ λ§žμ•˜μ„ λ•Œ ν¬κΈ°λŠ” 1/2 κ°―μˆ˜λŠ” 2배둜 λŠ˜μ–΄λ‚˜λŠ” λΆ€λΆ„
κ²Œμž„μ†ŒμŠ€λ₯Ό μ›ν•˜μ‹œλŠ” λΆ„ μ†ŒμŠ€μ‚¬μš© μš©λ„μ™€ κ°„λ‹¨ν•œ μ†Œκ°œλ₯Ό λŒ“κΈ€ ν˜Ήμ€ λ°©λͺ…둝에  λ‚¨κ²¨μ£Όμ„Έμš”.

μΆ˜λ¦¬κ°€ 죽으면 λ‚˜μ˜€λŠ” 이미지가 μ„ μ •μ μ΄λ―€λ‘œ 19μ„Έλ―Έλ§Œμ€ λ³΄μ§€λ§ˆμ„Έμš” ^^;;;;

λ°˜μ‘ν˜•

이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°˜μ‘ν˜•



라이덴을 κ°„λ‹¨νžˆ κ΅¬ν˜„ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

라이덴이미지라이덴~~~




μžλ£ŒλŠ” μ•„λž˜μ—μ„œ λ‹€μš΄λ‘œλ“œ!

goo.gl/ooIn4b

λ°˜μ‘ν˜•

+ Recent posts