[0322] 패턴중심적사고와프로그래밍
Drawing XOR mode
하나의 픽셀이 4바이트를 쓰면 40여개정도의 색깔을 구현할 수 있다. 픽셀 하나가 0으로 구성되어있다고 하면 그림이 그려지면1 그림이 안그려지면 0이다. 0이면 그림이 안 그려진거고 1이면 그림이 그려진 것이다. 0이면 그려야하고 그린게 있으면 지워야 한다. xor모드라는 것은 0하고 0을 or을 시키면 0이 된다.. 원래 or은 1과1에는 0이 된다. 논리 연산에서 and or
xor은 둘다 1이면 0이 된다. 차이가 뭐냐면 32비트를 홀라당 갖다놓고 만든 것이다. 그림이 있는데에다 그대로 그리면 지워진다.
Animation
- Draw
- (Erase (transformShape) Draw)*
- shape1 -- shape1
- shape2 -- shape2
원점은 점이라 그릴 것이 없다. 이걸 그리고 지우고 좌표 옮겨서 그리고 ~ 이를 반복한다. 그리고 이 사이에는 move가 있다. 마우스 무브를 하면 점이 찍힌다.
Draw
width와 height를 계산한다. 네모를 그리려면 원점과 width, height를 알아야 한다. 원점을 기억하게 만들어야 한다.
Event의 제약 조건 - 정확하게 하나의 의미를 만들려면 이벤트와 상태와 제약조건 세가지가 있어야 한다.
상태라는 개념. 상태는 처음에 문제가 되는 것이 뭐냐면 프로그램 실행시 drawing상태일 때 그려져야하는데 그려지지가 않는다. pressed라는 이벤트가 일어나야한다. 얘가 무슨 상태인지를 지정하며 이런 것들을 지정하는 상태 valuable를 만들어야 한다. 얘가 어떤 상태인지를 만들어야 한다. Event pressed가 입력을 받아야 한다. 얘가 만약에 마우스를 막 움직이는 상황에서 pressed하면 작동이 안 된다. 옆으로 새어나갈길을 없애야 한다. 모호성을 없앤다.
Product Backlogs
- ToolBar 연동
- Shape를 정의
- Shape를 메모리에 저장
- 저장/열기
Sprint backlogs
shape 를 메모리 지정
- shape를 정의
- Toolbar 연동
Rectangle, Oval, Line
과제!
- Product Backlogs 작성
- 점수쓰기 (총 몇점인지 계산)
resize rotate move text 폰트바꾸기 도형 서식 채우기 선