no image
[Flower] GUI 화면을 구성하고 있습니다.
오랜만에 Flower 프로젝트를 했습니다. 요즘.. 개을러 지기도 했고, 학교 과제도 많았기 때문에 조금 지체 되었습니다. 아무튼 이번달 구현해야 하는 것은 크게 몇가지가 있습니다. GUI 껍데기(?!)구현하기 기존에 구현된 기능을 GUI와 붙이기 위의 둘을 MVC 패턴을 이용하여 구현하기 순서도 그리는 모듈 미완성부분 완성하기 컴파일러 모듈과 통신을 위한 설계 회의 하기 이번주는 GUI껍데기와 기존의 순서도 모듈을 붙이는 것까지가 목표입니다. 오늘은 Property pallet부분과 debugging panel을 제외한 부분을 모두 완성 시켰습니다. 나름 이쁘게 나온 것 같아서 좋습니다.ㅋ
2009.11.10
[무적의 솔로부대]2차 회의 내용
두 번째 회의에서는 - 1차 회의 내용을 구현의 관점에서 좀더 이야기 - 설계 - resource(사진..) 만들기 - 비행기 게임 source분석 을 하기로 했습니다. 리소스는 제가 카메나 메모리를 날려 버리는 바람에 다름주로 미뤄졌고, 소스코드를 가져 오지 않아서 못했습니다.ㅠㅠ 아무튼 1차 회의 내용을 구현의 관점에서 좀더 이야기 해서 나름 진전이 있었내요.. 회의 내용 - 디자인 컨셉 - 사진을 포토샵의 특수 기능을 이용하여 그림처럼 연출하기로 함 - 전체 적인 분위기 : 배경은 스케치한 듯한 느낌, 캐릭터는 통통튀는 듯한 느낌 - 캐릭터 - 컴공 인물들 ( 남자들만 ) - 무기 - 리소스를 찾는대로 하기로 함 - 사운드 - 배경 이야기 - 녹음하기(롤러 코스터 컨셉으로) - 까꿍이가 녹음 - ..
2009.11.08
[UI디자인을 하고 있습니다.]
Undo Redo기능을 구현하고 painter 클래스의 복잡성이 너무 커지고, 전체적인 구조가 흔들려서 과감히 리팩토링을 하고 있습니다. 일단 MVC모델을 기반으로 하려고 하고 있고(전에도 그랬었지만 view와 controller가 섞여 있었습니다.) 그 첫단계로 UI(view)를 설계하고 있습니다. 함수 기능과, 디버깅 기능을 추가 고려 하여 완벽한 버전의 UI를 만들고 있습니다. 아마 다음주 중간쯤에는 완성될 것 같네요.. 이번주말은 컴파일러 숙제가 있어서 많이 코딩을 하지는 못할 것 같습니다.
2009.11.08
no image
[무적의 솔로부대] 일차 회의내용
여자친구와 함께 프로젝트를 진행하게 되어서 회의가 곧 데이트?이므로 좋습니다. 놀지 말고 열심히 해야 되는데요.... - 회의 및 개발 일정 : 매주 토요일 점심을 먹고 까페에서 저녁 먹을때 까지 회의 및 개발을 한다. - 게임 전체 state diagram - 게임 세부 사항 i) 게임 시작 화면 ii) 투척 기능 - 목표물을 향해 무기를 투척할때 맞으면 - 맞은 목표물의 맞은 그림으로 교체하고 말풍선 안 맞으면 - 말풍선 iiI) 표적 종류 vi) 무기 종류 수박, 바나나, 캔, 축구공, 교수님, 조교, 마우스, 키보드,,,,,, - 다음 주 계획 10/31일 회의 내용을 구현의 관점에서 좀더 이야기 설계 resource 만들기 옥상 사진 비행기 게임 source 분석
2009.11.04
[무적의 솔로부대 ] 게임프로그래밍 프로젝트를 시작합니다.
학교 수업인 게임프로그래밍 수업에서 게임을 만드는 프로젝트를 하게 되었습니다. 제안서를 만들어 일단 제안을 하게 되었습는데 시간이 없어서 잘될지는 모르겠지만 열심히 해야 겠습니다. 아래는 수업때 제안한 제안서입니다. Homework #4 Game Project Proposal 1. Team Name : 삽질은내운명 Ø 2003038101 김성근, 2005038074 이정은 2. Game Title: 무적의 솔로부대 3. Brief Description: Ø Plot n 26년째 솔로부대의 활동으로 심신이 피폐해진 공대생 A형 주인공 AAA. 쉬는시간 9호관 옥상에서 학교를 내려다보는데, 오늘따라 커플들이 심하게 눈에 띄어 달콤한 휴식시간을 방해한다. 신경이 날카로워진 AAA는 심신을 지치게 하는 학교내의..
2009.10.31
no image
UndoRedo 구현을 마무리 지었습니다.
일단 마무리를 지어야 할 것 같습니다. 구현은 다 했지만 테스트를 하기 위한 환경이 갖추어 지지 않았네요.. painter 쪽, 즉, 컨트롤러 쪽이 리팩토링을 해야 할 시기가 온것 같습니다.. 오늘의 코딩 시나리오를 알려 드리죠.ㅋㅋ redo undo가 구현이 완료 되어서 history에 언제 넣는지 결정하고 소스의 해당부분에 코드를 집어 넣으려고 했습니다. painter가 redoUndomanager와 symbolManager를 모두 갖고 있었기 때문에 코드는 redoUndoManager.add(symbolManager.createMemento()); 였습니다. 하지만, 굳이 painter가 redoUndoManager를 가질 필요가 없다고 생각하여 symbolManager가 redoUndoManage..
2009.10.29
UndoRedo를 구현 하고 있습니다.4
createColne 매소드를 모든 심볼에 대해서 구현을 완료 했습니다. concreteSymbol의 clone함수를 구현하려다 보니 부모 클래스의 멤버 변수도 모두 복사해야 다 던데요.. 그부분을 각각의 concreteSymbol에 넣으니까 각 클래스에 중복된 코드가 엄청 많아 졌습니다. 부모클래스에 그 코드를 넣으려고 해도 자식클래스가 어떤 타입인지 모르기 때문에 결국 다시 하위 클래스에서 다시 복사해야 할 것 같아서 일단 모두 concreteSymbol에서 모두 복사하도록 하였습니다. 그렇게 하고 모듈 테스트를 위해 여전히 도형의 생성에 대해서만 redo undo 를 체크 했는데 생각하는 것과 다른 결과가 나왔습니다. undo를 많이 하고 나서 다른 작업을 할때는 redo할것이 없어야 합니다.( 다..
2009.10.28
no image
UndoRedo를 구현 하고 있습니다3.
Deep Copy... 과연 많이 해도 좋을지 모르겠습니다. 오전까지의 구현에서 얕은 복사를 하고 있었기 때문에 Undo, Redo를 해도 제대로 동작 하지 않았습니다. 그래서 UndoRedoManager가 관리 하는 history에 SymbolManager가 만들어 낸 memento를 넣을때 SymbolManager가 갖고 있는 멤버변수를 모두 Deep copy해야 한다는 결론이 나왔습니다. 일단, SymbolManager가 갖고 있는 멤버 변수들은 모두 colloection들로 모두 레퍼런스 변수를 담고 있습니다. 이 레퍼런스 변수는 DSymbol이라는 놈들인데요..(실제로는 DSymbol을 상속받은 것들이겠죠) 그림에 드려질 도형들입니다. 문제는 이 DSymbol안에 있는 것들도 상당한 양의 레퍼런..
2009.10.27
UndoRedo를 구현 하고 있습니다.2
어제 까지 시험이라서 설계만 하고 어제 저녁 부터 구현을 시작했습니다. memento 패턴을 이용하여 설계하였고, 추가로 UndoRedoManager를 두어 여러개의 memento를 관리하도록 했습니다. 구현을 어느정도 마친뒤에 테스트를 해보았습니다. memento를 저장해야 하는 시점을 아직 확정하지 못해서 일단 심볼들이 캔버스에 생성되는 시점만 정하고 제대로 동작하는지 디버깅 출력문을 두었습니다. 몇개의 오류를 잡았지만 생각 못한게 있었네요.. 바로바로바로 memento에 들어가는 것들이 모두 referrence 타입이라는 것입니다.ㅋ 메멘토를 만들때 저장할 것들이 reference 타입이므로 그대로 대입하면 ( var = imRefType; ) memento가 저장되는 것이 아니라 포인터만 늘어가게..
2009.10.27