U E D R , A S I H C RSS

[Lovely]boy^_^/Arcanoid

1. Korean

1.1. 일지

1.1.1. Until 10/16

  • 곡 μ›€μ§μž„
  • λΉ„ν–‰κΈ° μ›€μ§μž„
  • 비행기와 곡의 좩돌 체크(μœ„μ—μ„œ λΆ€λ”ͺμΉ˜λ“  μ˜†μ—μ„œ λΆ€λ”ͺμΉ˜λ“ )
  • κ³΅μ΄λž‘ 블둝듀 좩돌 체크(μ•½κ°„ μ‚λ¦¬μ‚λ¦¬ν•˜λ‹€?--; μ΄λ™λŸ‰μ΄ 1이 μ•„λ‹Œ 2κ°€ λ˜μ–΄ λ²„λ €μ„œ κ·Έλ ‡λ‹€.)
  • μž₯λ‚˜λΌ λ°°κ²½ν™”λ©΄μ—μ„œ κ·Έλƒ₯ νŒŒλž€ ν•˜λŠ˜ 배경으둜 λ°”κΏ¨λ‹€. μ’Œν‘œ 계산 μ‚½μ§ˆλ‘œ 인해 μ•Όμžμˆ˜κ°€ 지렀버렸닀.
  • μ˜›λ‚ μ—λŠ” 1msκΉŒμ§€ λ©€ν‹° 타이머가 λ¨Ήν˜”λŠ”λ°, μ§€κΈˆ ν•˜λŠ”κ±΄ 5ms μ΄ν•˜λ‘œ ν•˜λ‹ˆκΉŒ λŠκΈ΄λ‹€. μ™œκ·ΈλŸ΄κΉŒ
  • μŠ€ν…Œμ΄μ§€λŠ” μ—­μ‹œ 파일둜 처리

1.1.2. 10/17

  • 점수, 깨뜨린 블둝, κ±Έλ¦° μ‹œκ°„ λ‚˜μ˜΄
  • μ•½κ°„ μ–΄μ„€ν”„κΈ΄ ν•˜μ§€λ§Œ μ›€μ§μ΄λŠ” 바에 λ§žμ„λ•Œ 각도 바뀐닀. μ†λ„λΌ μ •ν™•νžˆ μœ μ§€ν•˜κΈ΄ νž˜λ“€λ“ ν•˜λ‹€.
  • λ©€ν‹° 타이머 ν•΄κ²°λ΄€λ‹€. 객체가 λ„ˆλ¬΄ 크면 κ·ΈλŸ°κ°€ 보닀. μ „λΆ€ ν¬κΈ°λΌ 1/4둜 μ„μ˜€λ”λ‹ˆ 1msκΉŒμ§€ λ¨ΉνžŒλ‹€.
  • 아무리 생각해도 λ°°μ—΄μ˜ ν–‰κ³Ό 열은 λ„ˆλ¬΄ ν—·κ°ˆλ¦°λ‹€. ν•œλ™μ•ˆ 그림이 90λ„νšŒμ „λ˜μ„œ λ‚˜μ˜€λ”λ‹ˆ, μ €κ±° κ³ μΉ˜λ‹ˆκΉŒ λ˜λŠ”κ΅°.
  • μ†ŒμŠ€μ— 이것저것 막 λ„£λ‹€ λ³΄λ‹ˆ μ§€κΈˆ μ½”λ“œκ°€ μƒλ‹Ήνžˆ μ§€μ €λΆ„ν•΄μ‘Œλ‹€. 쀑볡을 μ΅œλŒ€ν•œ μ—†μ• λŠ” λ°©ν–₯으둜 ν•΄λ†”μ„œ 쀑볡은 별루 μ—†μ§€λ§Œ, ν•œ λ©”μ†Œλ“œκ°€ λ„ˆλ¬΄ κΈΈκ³ , 클래슀 별 μ—­ν•  뢄담이 μ œλŒ€λ‘œ 이λ„지지 μ•Šμ€κ²ƒ κ°™λ‹€. λͺ¨λ“  μΆ©λŒλ£¨ν‹΄μ΄ λ‹€ CArcaBall에 μ§‘μ€‘λ˜μ–΄ μžˆλ‹€.
  • ... μƒκ°ν•΄λ³΄λ‹ˆ 데이터 톡신 κ³΅λΆ€λΌ μ•ˆν•˜κ³  μžˆμ—ˆλ‹€. 제길--; κ³΅λΆ€ν•˜μŸˆ

1.1.3. 10/18

  • μ•„μ΄ν…œ 떨어진닀.
  • μ»¨ν…Œμ΄λ„ˆμ— 포인터 μ•ˆ 넣을라고 볡사 μƒμ„±μž, λŒ€μž… μ—°μ‚°μž μ΄λŸ°κ²ƒλ„ λ§Œλ“€μ–΄μ•Ό ν–ˆλ‹€..--;
  • 전체적인 λ””μžμΈ λ³€ν™” : λ¨Όμ €λ²ˆκ²Œ λΆ„μ‚°μ‹μ΄μ—ˆλ‹€λ©΄, 이번건 μ»€λ‹€λž€ 관리 ν΄λž˜μŠ€μ—μ„œ μ•Œμ•„μ„œ ν•˜λŠ” μ‹μœΌλ‘œ λ°”κΌˆλ‹€. OOPλ‘œλΆ€ν„° 점점 λ©€μ–΄μ§€λŠ”κ±° κ°™κΈ΄ ν•˜μ§€λ§Œ..--;
  • 점점 λ°°λ“œλ³Όν™” λ˜κ°€κ³  μžˆλ‹€.--;

1.1.4. 10/28

  • κ·Έλ™μ•ˆ μ‹œν—˜κΈ°κ°„μ΄λΌ μ€ μ‰¬μ—ˆλ‹€.
  • 좩돌처리 버그 μ œκ±°ν–ˆλ‹€.
  • λΈμ‚¬μΌ λ‚˜κ°€λŠ” κ²ƒλ§Œ λ„£μœΌλ©΄ λœλ‹€.
  • 곡 μ—¬λŸ¬κ°œ λŒμ•„λŒ•κΈ°λŠ”κ²ƒλ„ λ„£μ–΄λ³ΌκΉŒ ν•œλ‹€.

1.1.5. 10/29

  • λΈμ‚¬μΌ λ‚˜κ°€λŠ” 루틴 μ™„μ„±

1.1.6. 10/30

  • 맀번 λŠλΌλŠ” κ±°μ§€λ§Œ C++은 λ¦¬νŒ©ν† λ§ν•˜κΈ°κ°€ 정말 νž˜λ“ κ²ƒ κ°™λ‹€. 이거 고치면, 헀더도 고쳐야 ν•˜κ³  ::μ•žμ—κ²ƒλ„ κ³ μ³μ€˜μ•Ό ν•˜κ³ .. μ•„ μ§œμ¦λ‚˜.--;
  • μ—΄μ‹¬νžˆ λ¦¬νŒ©ν† λ§ 쀑. λ‹€λ₯Έ 객체보닀 곡 객체 λ©μΉ˜κ°€ μ»€μ§€λŠ”κ±΄ μ–΄μ©”μˆ˜ μ—†λŠ”κ±΄κ°€..
  • 이μμ—μ„œ μ†λ–Όμž

1.1.7. 11/12

  • μ œμΆœν›„ λ°œν‘œ 그리고 끝

1.2. 캑쳐 ν™”λ©΄ 10/30(μ™„μ„±λ³Έ)

1.4. Class

~cpp 
CArcaObject - μ•ŒμΉ΄λ…Έμ΄λ“œμ— λ“±μž₯ν•˜λŠ” λͺ¨λ“  μ˜€λΈŒμ νŠΈλ“€μ˜ λΆ€λͺ¨ 클래슀(μœ„μΉ˜, 크기, λΉ„νŠΈλ§΅, getter/setter)
CArcaBall : public CArcaObject - 곡
CArcaBar : public CArcaObject - λ°”
CArcaBlock : public CArcaObject - 블둝
CArcaBackground - λ°°κ²½
CArcaItem : public CArcaObject - μ•„μ΄ν…œ
CArcaMissile : public CArcaObject - λΈμ‚¬μΌ

CArcaDoc : μœ„μ˜ 객체듀을 ν¬ν•¨ν•œλ‹€. 블둝은 λ²‘ν„°λ‘œ μ €μž₯ν•œλ‹€. μ•„μ΄ν…œμ€ λ¨Όμ € λ‚˜μ˜¨κ±Έ λ¨Όμ € 먹게 되λ€λ‘œ 덱으둜 μ €μž₯ν•œλ‹€.
CArcaView : κ·Έλ €μ€λ‹€.

1.5. μ‚¬μš©ν•˜λŠ” 특수 κΈ°λŠ₯

  • MMTimer
  • 더블버퍼링 & λΉ„νŠΈλ§΅ λ§ˆμŠ€ν‚Ή

1.6. κ³ λΌμ€‘

  • μ§€λ‚œλ²ˆμ— ν• λ•ŒλŠ” 무쑰건 45λ„λ‘œ ν•΄μ„œ 별루 μƒκ°μ•ˆν–ˆμ§€λ§Œ..
  • μ΄λ²ˆμ—λŠ” μ›€μ§μ΄λŠ” 바에 맞으면 각도가 κΊΎμ—¬μ•Ό ν•œλ‹¨λ‹€...
  • μ§€λ‚œλ²ˆμ—” x둜 1, y둜 1 μ΄λ ‡κ²Œ μ›€μ§μ˜€μ§€λ§Œ.. μ΄λ²ˆμ— λŒ€κ°μ„  길이 루트2에닀가 cos22.5, sin22.5 이런걸 해버리면.. μΊμŠ€νŒ… λ λ•Œ 1,0 이 λ˜λ©΄μ„œ 수직, λ˜λŠ” μˆ˜ν‰μœΌλ‘œλ§Œ 움직일 μˆ˜κ°€ μžˆλ‹€.
  • 그러자고 μ΄λ™λŸ‰μ„ λŠ˜λ¦¬μžλ‹ˆ, μΆ©λŒμ²˜λ¦¬κ°€ 애맀해지고 λΆ€λ“œλŸ½μ§€λ„ μ•Šκ²Œ λ˜λ”λž€ 말이닀.
  • κΈ°λŠ₯ μΆ”κ°€λΌ ν•΄μ•Ό ν•˜λŠ”λ° 뭘 ν•΄μ•Ό ν• κΉŒ. 걍 κ°€λŸ¬κ·ΈλΌ λ§Œλ“€μ–΄λ²„λ¦΄κΉŒ..--;

1.7. μž‘λ‹΄

1.7.1. MFC에 κ΄€ν•΄?

  • MFC 책에 보면 λΉ„νŠΈλ§΅ λ˜λŠ” GDI μ“Έλ•Œ CPen pen, *pOldPen μ΄λ ‡κ²Œ ν•΄μ„œ λ­”κ°€ μ΄μƒν•œ 짓을 ν•˜λŠ”λ° κ° μ μœΌλ‘œλŠ” μ™œ κ·Έλ ‡κ²Œ ν•˜λŠ”μ§€ μ΄ν•΄λΌ λͺ»ν•˜κ² λ‹€. κ·Έλƒ₯ 멀버에 넣어버리면 pOldPen 이런거 μ•ˆν•΄λ„ 되던데.. μ•„μ‹œλŠ”λΆ„μ€ 갈쳐 μ£Όμ„Έμš”.^^;
    • μ •ν™•νžˆ 무슨 μ΄μƒν•œ μ§“μ΄λΌλŠ” 거지? μ½”λ“œλΌ λ³΄μ—¬μ£ΌλΌ --상λΌ
      • 음. μ˜ˆλΌ λ“€μžλ©΄ λ‹€μŒκ³Ό 같은..

~cpp 
...
CDC *pDC = GetDC();
CPen pen, *pOldPen;
pen.CreatePen(~~);
oldpen = pDC->SelectObject(&pen);
... κ·Έλ €μ€λ‹€ ...
pDC->SelectObject(pOldPen);
pen.DeleteObject();

  • λŒ€μΆ© μ΄λŸ°κ±΄λ°μš”. μ €λŠ” μ™œ μ €λ ‡κ²Œ ν•˜λŠ”μ§€ 잘 λͺ°λΌμ„œ, κ·Έλƒ₯ μ΄λŸ°μ‹μœΌλ‘œ ν•˜κ±°λ“ μš”.

~cpp 
// 헀더
CPen pen;
...

// μ†ŒμŠ€ OnInitialUpdate() λ§žλ‚˜? μ–΄μ¨Œλ“  μ΄ˆκΈ°ν™” ν•˜λŠ”κ±°μ—μ„œ
pen.CreatePen(λ§Œλ“ λ‹€.);
//ν•΄μ£Όκ³ 

//κ·Έλ €μ„λ•ŒλŠ” pDC->SelectObject(&pen);
//μ΄λŸ°μ‹μœΌλ‘œ ν•΄μ„œ 그리닀가

//OnDestroy()μ—μ„œ DeleteObject()ν•˜λŠ” 방식을 μ“°κ±°λ“ μš”.
  • 고둜 μš”μ§€λŠ”.. μ•„--; μ™œ μ΄λ ‡κ²Œ 전달이 μ•ˆλΌμ§€. μ €λ ‡κ²Œ 포인터 λ§Œλ“€μ—ˆλ‹€κ°€ 그리닀가 λ‹€μ‹œ μ„ νƒν•˜λ‹€κ°€ ν•˜λŠ” μ΄μœ λΌ μž˜ λͺ¨λ₯΄κ² λ‹€λŠ”..^^;
  • μ „μžμ˜ μ½”λ“œμ— μ–΅λ§€μ΄λŠ”κ±° 같은데, μ „μžμ˜ μ½”λ“œμ˜ μ „μ œκ°€ μ—¬λŸ¬λͺ…이 λ™μ‹œμ— 그릴렀고 λ‹¬λ €λ“€λ•Œμ˜ μƒν™©μœΌλ‘œ μƒκ°ν•˜μž. gdiμ—μ„œλŠ” event driven 이기 λ•Œλ¬Έμ— λͺ¨λ“  μ±…μ˜ μ˜ˆμ œλ“€μ΄ 항상 그런 κ²½μš°λΌ μƒμ •ν•˜κ³  λ°”λ‘œ μ΄μ „μ˜ 객체둜 그리기 μƒνƒœλ‘œμ˜ λ³΅κ·€λΌ μ „μ œλ‘œ ν•˜μ—¬ μž‘μ„±λ˜μ–΄ μžˆλ‹€. ν•˜μ§€λ§Œ, λ„κ°€ 그리고자 ν•˜λŠ” μ˜μ—­μ΄μ•Ό 계속 ν•˜λ‚˜λ‘œ μ„ νƒλ˜μ–΄ μžˆμ–΄λ„ 아무 상관 μ—†λŠ”κ±Έ. CPen 이 μ–΄λ””λ‘œ λ„λ§κ°€λŠ” 것도 μ•„λ‹ˆκ³  말이지.

    λ‚˜λŠ” μ€λ” μš•μ‹¬μ„ λΆ€λ €μ„œ, pDC κΉŒμ§€ λ³΄κ΄€ν•˜μ—¬ ~cpp GetDC둜 얻지도 μ•Šκ³  그릴렀고 μ‹œλ„ ν–ˆλŠ”λ°, 해봐 κ²°κ³ΌλΌ μ•Œμˆ˜ μžˆμ„κΊΌμ•Ό. pDCλŠ” λŠμž„μ—†μ΄ λ³€ν™”λΌ μ‹œλ„ν•˜λŠ” 녀석이라 μƒνƒœ μœ μ§€κ°€ λ˜μ§€ μ•Šλ”κ΅°. λ°”λ‘œ μ „κΉŒμ§€ 가진 pDCλŠ” μ˜›λ‚  녀석이라 이거지, 결둠으둜 λ„κ°€ μ˜λ„ν•˜λŠ” λŒ€λ‘œ μƒνƒœ μ €μž₯이 κ°€λŠ₯ν•œ GDI ObjectλΌ κ·Έλ ‡κ²Œ μ“°λŠ”κ±° λΆ€λ‹΄μ—†λ‹€. --neocoin

μ—¬λ‹΄μœΌλ‘œ, 전에 MFCStudy 둜 ν• λ•Œ 각도 κ³„μ‚°κΉŒμ§€ λ„£μ—ˆλ‹€λ©΄ 쒋을뻔 ν–ˆμ§€? ^^;; ν•˜μ§€λ§Œ μ•„λ§ˆ κ·Έλ•Œ λ„£μ—ˆμœΌλ©΄ 더 μ‹œκ°„μ΄ 걸렸을꺼 κ°™μ•„μ„œ;; 어이 인수 κ³Όκ±° μ†ŒμŠ€λΌ λ‚˜μ—κ²Œ λ„˜κ²¨ 쿨럭. 농담이고, μ•„ μ§„μž‘ μ†ŒμŠ€ 겉어 λ‘˜κ»„ ^^;; --neocoin

흑 γ… .γ…  μ˜ˆμ „ μ†ŒμŠ€κ°€ μžˆμ—ˆλ‹€λ©΄ μ œκ°€ 이거 λ§Œλ“€κ³  μžˆκ² μ–΄μš”?; 고슀트 μ‚½μ§ˆλ‘œ 싸그리 λ‚ λ Έλ”λ‹ˆλ§Œ, 생각도 λͺ»ν•œ ZP μžλ£Œμ‹€μ— μ‹€ν–‰νŒŒμΌλ§Œ λ©κ·ΈλΌλ‹ˆ λ‚¨μ•„μžˆμ„μ„은..;
μ§„μ§œ μ†ŒμŠ€ κ²‰μ–΄μ„œ 링크 ν•΄λ‘˜κ»„ λ‹€λ“€ μ˜›λ‚  μ†ŒμŠ€ 보면 정말 재λΈμžˆμ„텐데 --neocoin

1.7.2. STL

  • 정말 STL은 λ‚΄ ν‘œν˜„μ˜ 폭을 λ„“ν˜€μ£ΌλŠ” 것 κ°™λ‹€. 정말 μ’‹λ‹€.

1.8. Tutorial

  • μ‹œμž‘ν• λ•ŒλŠ” Space
  • 블둝이 κΉ¨μ‘Œμ„λ•Œ λ‚˜μ˜€λŠ” μ•„μ΄ν…œμ„ 20개 먹으면 λΈμ‚¬μΌμ΄ ν•˜λ‚˜ 생긴닀. Ctrl을 λˆ„λ₯΄λ©΄ λΈμ‚¬μΌ λ°œμ‚¬. μ§€λ‚˜κ°€λŠ” μ½”μŠ€μ— μžˆλŠ” λΈ”λ‘λ“€μ˜ 내ꡬ도 1μ”© κ°μ†Œ.(λΈμ‚¬μΌμ΄ μ΄μƒν•˜κ²Œ 생겼닀. 고쳐야겠닀.)
  • 끝

2. English

2.1. Diary

2.1.1. Until 10/16

  • Ball can move.
  • Plane can move.
  • Game can check a collision shuttle and ball.
  • Game can check a collision ball and blocks, but it has a few bugs. maybe ball's move amount is 2, not 1.
  • I change a background picture from a Jang na ra picture to a blue sky picture. but my calculation of coordinate mistake cuts tree picture.
  • My previous arcanoid could process 1ms of multi media timer, but this version of arcanoid can't process over 5ms of multi media timer. why..
  • I process stage datas as files.

2.1.2. 10/17

  • Game can exhibit score, number of broken blocks, and time.
  • When a ball collides with a moving bar, its angle changes, but it's crude. Maybe it is hard that maintains a speed of a ball.
  • I resolve a problem of multi media timer(10/16). its problem is a size of a object. if its size is bigger than some size, its translation takes long time. So I reduce a size of a object to 1/4, and game can process 1ms of multi media timer.
  • A array's row and column is so confused. A long time, screen picture rotates a 90 angle, but I fixed that as change row and column.
  • Now sources become very dirty, because I add a new game skill. I always try to eliminate a duplication, and my source has few duplication. but method's length is so long, and responsiblity of classes is not divided appropriately. All collision routine is focusing on CArcaBall class.
  • ... I don't have studied a data communication. shit. --; let's study hard.

2.1.3. 10/18

  • Game can generate items.
  • I don't want pointers in container, so I had to make a copy constructor, substitute operator.--;
  • I change a design of a arcanoid. - previous version is distribute, but this version is that god class(CArcanoidDoc)' admins a total routine. in my opinion, it's more far from OOP.--;
  • It becomes like the badball--;



["Lovelyboy^_^"]
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:35
Processing time 0.0450 sec