메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

MFC테트리스 만들기
조회 수 32,161 추천 수 0 댓글 36
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 첨부 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 첨부 목록
?
  • 게임 2007.10.15 15:44
    저도 게임을 만들고 싶은데요.. *^^*
    맨 위에 있는 프로그램은 어디서 구하나요?
  • WhiteAT 2007.10.17 18:18 글쓴이

    게임 님에게 달린 댓글

    Visual C++ 이라는 프로그램입니다. 돈주고 구입해야 하지만 ㅡㅡ;
    너무 비싸서.........구입하기가 만만치 않을겁니다.
    쪽지나 메일 주십시오..
  • 학생 2008.12.13 01:54
    1학기 C수업때 이거 참고하면서 테트리스도 만들어 제출하고 (참고에요. 고대로 내지는 않았답니다;;)
    2학기때는 다른 과목 프로젝트하면서 또 이거 참고하면서 도트매트릭스 에디터를 만드네요
    정말 감사합니다.
  • WhiteAT 2008.12.13 10:48 글쓴이

    학생 님에게 달린 댓글

    조금이라도 도움이 되었다고 하시니 기분이 좋습니다.^^.
    테트리스를 배열형식으로 구성해서, 테트리스 정도를 만들줄 알면,
    나머지는 별로 어렵지 않을겁니다.~~

    새벽까지 열심히 공부하고 계시네요^^
  • 해띠 2009.01.20 20:07
    안녕하세여~!!!
    시간이 좀지났네여~근데 윗분이 1년이나 지나서 댓글을 쓰셨는데...도 답변해주시고...
    저도 부탁드려요~!

    전 여차해서 C++를 구했는데요 위에 버전이랑 좀다른가바요ㅠㅠ 2008년꺼입니다...
    근데 그 위에 설명점 해주세요ㅠㅠ 부탁드려요

    새해복많이받으세요~!
  • WhiteAT 2009.01.21 10:13 글쓴이

    해띠 님에게 달린 댓글

    방문해 주셔서 감사합니다.~~

    이 내용은 설명할께 없구요 ㅡㅡ;
    그냥 Visual Studio 의 사용방법입니다. 즉, 그냥 따라하시면 됩니다.^^.

     처음에 TV나 전자렌지 샀을 때 사용법을 배워야 하잖아요?
    그렇게 생각하시면 됩니다.~~.

    지금 쪽지 보내드릴텐데, 확인해 보세요.^^.
  • MFCgo 2009.06.11 21:58

    보고 따라하면서 배우려고 하였는데.. 6.0으로 하셨나봐요 ㅠㅠ

    2008버젼으로 공부하고 있는데 달라보여서 따라하기가 너무 힘이드네요

    클래스로 만들고 싶은데 휴..

    어떻게 공부를 해야하나요 ㅠ

  • WhiteAT 2009.06.12 10:08 글쓴이

    MFCgo 님에게 달린 댓글

    Express 2008 인가요? Net.2008 인가요?


    Express 2008은 사용해 봤는데, 기본적으로 MFC 를 사용할수 없었습니다. 즉, MFC가 포함되지 않은 거죠..

    자료를 찾아보니, MFC를 사용하려면 기존(VC6.0)의 MFC 폴더를 복사해넣고, include 해넣고, 쓰라고 하더군요 ㅡㅡ;

    그래서 아직까지 MFC 를 할때는 6.0을 쓰고 있습니다. ^^

    VC6.0 자료도 많으니, Ggo 님도 처음에는 6.0으로 배우시는게 어떨까요?^^


  • MFCgo 2009.06.12 21:42

    Microsoft visual Studio 2008 입니다.

    학교에서 그것으로 수업을 진행하네요..

    C언어를 알긴하고 C#을 조금 공부해나가아고 있는데 MFC를 동반해서 배우려고 하니

    비슷한 부분들이 있지만 아무래도 문법적으로 좀 다르다보니..

    너무 어색하게 느껴지고 AT님께서 올려놓은 따라하기를 2008에선 따라하기가 좀 벅차네요 ㅠ

    휴.. ㅠ

  • WhiteAT 2009.06.13 17:28 글쓴이

    MFCgo 님에게 달린 댓글

    제가 Microsoft visual Studio 2008 를 사용해 보지 않아서 말씀하신문제를 해결해 드릴수 없겠습니다. ㅠㅠ

    학교 수업 열심히 들으시고^^, 책 하나 사서 보시는게 좋을거 같네요.~~.

    저도 빨리 2005, 2008을 사용해봐야 겠네요.^^

  • MFC 2010.02.05 18:10

    C++좀 메일로 보내주세요.

    zwhs5252@naver.com

     

  • 콩팟 2010.06.24 19:43

    이거 Microsoft Visual Studio 6.0 아닌가요??

     

    위에 대로 했더니..

    #include "l.kor\\afxres.rc"   // Standard components

    여기서 에러가 떠요...ㅡㅡ;;

     

    제 프로그램이 이상한건가요?

     

  • WhiteAT 2010.06.24 20:43 글쓴이

    콩팟 님에게 달린 댓글

    Microsoft Visual Studio 6.0 에 들어 있는 Visual C++ 입니다.^^

     

    아직까지 MFC 에서 afxres.rc 같은거를 못 본거 같은데요 ㅡㅡ;

    (그런 에러도 처음보고요^^)

     

    혹시 처음에 프로젝트 생성할때 프로젝트 형태를 다른 것으로 하지 않았나요?

    처음부터 다시 해 보시고 그래도 에러가 발생하면 폴더 전체를 압축해서 메일로 보내줘보세요.

    제가 확인하고 뭐가 잘못되었는지 알려 드릴께요~~

     

    그럼 수고하세요/~~

     

  • 콩팟 2010.06.25 10:53

    흐미..제 프로그램이 이상한거 같아요...

     

    다른곳에서는 되는데..ㅜㅜ

     

    죄송하지만 Microsoft Visual Studio 6.0 좀 보내주시면 안될까요..ㅜㅜ;;

     
  • WhiteAT 2010.06.25 15:05 글쓴이

    콩팟 님에게 달린 댓글

    여기 등록 하신 메일로 보내드렸는데.....

    확인해보세요. ~~

     

    보관 기간이 7일 이라고 하네요 ㅎㅎ

     

  • 심플e 2010.10.09 13:04

    선생님~ 궁금한점이 있는데요 ~ Cformview 를  왜사용했는지 궁금해서요,,

    폼뷰에 대해서 검색을 해보니깐 아래와 같이 나왔습니다.

     

    /////////

     

    MFC 에서 컨트롤의 사용은 다이알로그 위에서만 사용이 가능하다. 물론 직접 코드상에서 생성하여 사

    용도 가능 하지만 이는 MFC 의 기능이 아닌 API 프로그래밍 이라 볼 수 있다.

     

    ////////

     

    제가 클래스 첫번째까지 따라해보니깐 직접 코딩만 하신거 같아서요~

    그럼 API 프로그래밍이라고 봐야하는것인가요??

     

    좋은 주말 보내시구요~ 답변 기다리겠습니다 ^^

  • WhiteAT 2010.10.09 16:31 글쓴이

    심플e 님에게 달린 댓글

    FormView 를 사용한 것에는 특별한 이유는 없습니다 ;;

     

    "MFC테트리스 만들기"는 게임 만들기 위한 내용이 아니고,

    MFC를 알기위한 내용입니다.

    만약 게임을 위한 내용이었다면 DirectX 같은게 사용되었을 겁니다.

     

    MFC에서 가장 많이 사용되는 것이 FormView 나 DialogBox 형태입니다.

    그 중에서 FormView를 선택하게 된 것입니다.~~

     

    FormView 를 사용하면

    OnPaint 로 화면을 제어할수 있고, PreTranseMessage(?) 메세지도 다루고,

    기타 MFC의 기본적인 내용을 많이 다룰수 있습니다.

     

    실제로 버튼이나 에디트박스 같은 Conbrol 을 사용하지 않았으니,

    API 처럼 보일수도 있습니다.;;

     

    이미 만들어진 클래스를 최대한 많이 활용하는게 좋고, 

    어떤 코딩작업을 하던지 이 정도는 직접 다 코딩해야 한다는 말씀을 드리고 싶습니다.^^

  • 심플e 2010.10.10 00:50

    WhiteAT 님에게 달린 댓글

    친절한 답변 너무나 감사합니다! 너무 친절한 답변에 죄송한 마음이 ㅠ

    항상 좋은일 가득하시구요!!^^ 저는 그럼 또다시 MFC의 세계로~~^^

  • 평화주의자 2011.05.09 18:53

    잘 보고 갈께요~!!

  • 리아 2011.08.21 10:50

    안녕하세요! 프로그램에 관심이 많아 이곳에 방문하게 되었는데, 초보자라서 잘 모르겠지만 보고 갑니다. 좋은 설명 감사드려요!

  • WhiteAT 2011.08.21 15:22 글쓴이

    리아 님에게 달린 댓글

    공부하시다가 모르는거 있으시면 언제라도 글 남겨 주세요.~~

     

    댓글 남겨 주셔서 감사합니다.~~

  • 프밍플 2011.08.23 15:57

    좋은자료 감사합니다. 따라하고는 있는데 뭔가 불안불안해서;;ㅠ 6.0좀 보내주세요-!

    anhs0902@naver.com

  • WhiteAT 2011.08.24 06:59 글쓴이

    프밍플 님에게 달린 댓글

    어떤게 불안불안하신지요^^?

    이 정도는 그냥 '들판을 걷는다'고 생각하셔도 됩니다..~~

  • 소마 2011.11.02 04:59

    음 선생님 이렇게 소스를 보고 댓글을 보니까.. 선생님이 왜 FormView 를 사용하신지에 대해서

    알겠어요... mfc책을 보니깐 각 클래스에 특징들이 있는데요 만약 FormView가 아니더라도

    이런 테트리스를 구성할수 있는건가요////

  • WhiteAT 2011.11.02 11:45 글쓴이

    소마 님에게 달린 댓글

    네 당연합니다.^^

     

    정말 화려한 그래픽에 멋진 사운드가 있는 테트리스를 만드려면 DirectX 나 OPenGL 등등 여러가지 방법이 있습니다.~

    오리지날 C 로 작성도 가능하구요.^^

     

    앞에서도 댓글에 있지만 다시 한번 말씀드리면,

     

    가장 많이 사용되는 MFC 의 FormView 스터디를 위해 FormView 을 사용했을 뿐입니다.~~

  • 소마 2011.11.02 05:02

    그리고 비쥬얼 2010을 사용하다보니깐 처음 문서를 작성할 때 6.0을 이용하는 것보다 이상한 설정들이 더 많이 나오던데.... 2010을 이용해서 새로운 테트리스 강좌를 열어주실수있으세요////

  • WhiteAT 2011.11.02 11:50 글쓴이

    소마 님에게 달린 댓글

    지금은 주로 비쥬얼 2008 을 사용하고 있는데, 6.0 에서 많이 달라졌죠^^..

     

    지금 class 를 사용한 객체지향 개념으로 테트리스 강좌를 다시 올리고 있는데,

    아직 마무리가 안된 상태입니다.;;

     

    시난이 되면 Visual C++ 2008 또는 2010 의 간단한 사용법만 올릴 예정입니다.

    (내용이 거의 비슷한데 툴이 조금 변경되었다고, 다시 작업하는 것도 좀 그렇고,

     이 강좌에 대한 반응이 별로 없어서요.^^)

     

    만약 이런 강좌를 다시 올리게 된다면 C# 으로 작업하거나,

    테트리스가 아닌 다른 것을 올릴 예정입니다.~~

  • 소마 2011.11.03 03:08

    선생님 방법1을 다보고 나니 방법2가 눈에 들어오네요..

    위에 댓글들도 읽어보니깐 방법1같은 경우는 (mfc가 아닌 api프로그래밍이다.) 라고 쓰신분이 계셔서..

    api가 무엇인지 찾아보니 간단하게 말해 함수들의 집합이라고 찾았습니다.(죄송합니다.. 괜찮으시면 api에 대한 설명도해주실수 있나요....)mfc는 api를 Class화 시킨것(그러니 함수들을 각 공통성에 맞게 나눴다 라고 생각하면 되는가요///)

    음 근데 방법 1은 제가 보기엔 mfc와 api 복합적인 프로그래밍이 라고 생각되서요..

    방법 1은 FormView내에서 함수들의 조합으로 테트리스를 구현한거지요////

    아 너무 두서 없이 말해서 그러니깐 제가 궁금한것은 1.제가 찾은 api를 저 정도로 정의하면 되는지요//

    2.제가 생각하는 mfc에 대한 정의가 맞는지요////3.방법1은 mfc와 api의 복합적인 프로그래밍이라 생각하면 되는지요///

    4.그럼 방법2가 class의 연계를 이용한 mfc프로그래밍인가요//

  • WhiteAT 2011.11.03 06:59 글쓴이

    소마 님에게 달린 댓글

    방법1,2 모두 MFC 입니다.^^

    방법1에서는 테트리스 게임을 클래스로 묶은게 아니라서 게임을 확장하기 어렵습니다.

    2인용 테트리스를 만드려면 똑같은 변수와 함수를 여러개 더 만들어야 합니다.

     

    방법2에서는 테트리스를 클래스로 묶어서 2인용을 만드려면

    CTETRIS player1;

    CTETRIS player2;   로 2인용이 되는 것입니다.~~

     

    방법1과 방법2의 차이는 테트리스 함수를 클래스로 묶었는지 아닌지입니다.

    그렇다고 방법1에서 클래스를 사용하지 않았다는 뜻은 아닙니다.^^

  • 소마 2011.11.03 03:41

    아 선생님 제가 방금 책을 찾아보다가 Class라는게 꼭 ClassView에 보이는것만이 아니라...

    Onpaint함수에 사용했던

    CClientDC pDC(this);
     CPen penLine;
     CPen *OldPen;
     penLine.CreatePen(0,3,RGB(0,0,0));
     OldPen=pDC.SelectObject((&penLine));

    이런것들이 모두다 클래스죠//

    전 ClassView에 보이는 것만 Class라고 생각했어요..ㅋㅋ

    이런 종류의 Class들은 처음 문서설정을 마치고 난뒤에 ClassView에 들어있는

    것들을 살펴보면 저런 정보들을 찾을수있나요//

    아니면 mfc자체 내에서 제공하고 있는 클래스들인가요///

    제 생각엔 후자쪽인거 같아요!!!!

     

  • WhiteAT 2011.11.03 07:03 글쓴이

    소마 님에게 달린 댓글

    "객체 지향"에 대한 개념부터 잡으시는게 좋을 듯합니다.~~

    검색해보면 설명 무지 많으니, 몇 개만 보시면 이해 되실겁니다.

     

    ClassView 에서 자세히 들어가면 멤버 함수와 변수 보일 겁니다.

     

    그리고 MFC 에서 사용하는 클래스는 대부분 MFC 에서 제공하는 클래스입니다.

    테트리스 게임에서는 테트리스 클래스만 직접 만든 것이고,

    나머지는 모두 MFC 에서 제공하는 클래스 입니다.

    (이것이 MFC 를 이용하는 이유이기도 하고요^^)

     

  • 소마 2011.11.07 22:14

    선생님 음 오늘 친구 mfc 프로그래밍책을 잠깐 들여다 봤는데 이 책에는 win32 app를 이용해서 프로그래밍을 하더라구요...

    선생님이 쓰신 mfc application과의 차이가 뭐가있죠////



  • WhiteAT 2011.11.08 09:37 글쓴이

    소마 님에게 달린 댓글

    MFC  는  The Microsoft Foundation Class Library 의 약자로

    Win api 를 작업하는 데 쉽게 할 수 있도록 도와주는 라이브러리 입니다.

     

    win32 api 에서 텍스트 박스나 버튼을 추가하려면

    Create..... 등의 함수로 위치를 숫자로 지정해서 일일히 추가해야 해야 하는데

    MFC 는 그림(GUI)로 간편하게 텍스트박스를 추가할 수 있습니다.~

  • 소마 2011.11.08 02:10

    제가 생각하는 차이점은 win32app는 아예 백지에서 작성하는 것 같고 mfc app는 아예 mfc 프로그래밍을 손쉽게 하라고

    basic구조가 갖춰져 있는것 같은데...

  • WhiteAT 2011.11.08 09:38 글쓴이

    소마 님에게 달린 댓글

    위에 설명드렸는데. 맞습니다.~

  • 지안다안 2012.10.11 17:46

    강좌 쓰신지 많은 시간이 지났군요^^;;

    그래도

    열심히 한번 공부해보려 합니다