blackpen.CreatePen(PS_SOLID,4,RGB(0,0,0));
backpen.CreatePen(PS_SOLID,4,RGB(240,240,240));
brush_think.CreateSolidBrush(RGB(255,0,0));
brush_eat.CreateSolidBrush(RGB(0,255,0));
brush_wait.CreateSolidBrush(RGB(0,0,255));
CRect rect;
//思考阶段
temp.Format("开始思考!");
//text.Format(textbuff);
//text=text+"\r\n"+temp;
::SetWindowText(imageinfo->edit,(LPCTSTR)temp);
oldbrush=(CBrush*)pDC->SelectObject(&brush_think);
rect.left=imageinfo->pt_chair.x-imageinfo->radius_chair;
rect.right=imageinfo->pt_chair.x+imageinfo->radius_chair;
rect.top=imageinfo->pt_chair.y-imageinfo->radius_chair;
rect.bottom=imageinfo->pt_chair.y+imageinfo->radius_chair;
pDC->Ellipse(rect);
//num.Format("%d",imageinfo->index+1);
//pDC->DrawText(num,rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
pDC->SelectObject(oldbrush);
g_cls.Lock(); //g_cls为临界区变量,此处进入临界区
if (chopsticks[imageinfo->index]==1&&chopsticks[(imageinfo->index+5)%6]==1)
{
chopsticks[imageinfo->index]=0;
chopsticks[(imageinfo->index+5)%6]=0;
caneat=TRUE;
}
g_cls.Unlock(); //退出临界区
Sleep(2000);
if (FALSE==caneat)
{
temp.Format("没有拿到两个叉子,无法吃饭!");
::SetWindowText(imageinfo->edit,(LPCTSTR)temp);
Sleep(1000);
temp.Format("开始等待...");
::SetWindowText(imageinfo->edit,(LPCTSTR)temp);
oldbrush=(CBrush*)pDC->SelectObject(&brush_wait);
pDC->Ellipse(rect);
pDC->SelectObject(oldbrush);
//pDC->DrawText(num,rect,DT_CENTER|DT_SINGLELINE|DT_VCENTER);
Sleep(2000);
}
if (TRUE==caneat)
{
temp.Format("成功拿到两个叉子,开始吃饭!");
::SetWindowText(imageinfo->edit,(LPCTSTR)temp);
Sleep(1000);
temp.Format("吃饭...",imageinfo->index);
//::GetWindowText(imageinfo->edit,textbuff,1024);
//text.Format(textbuff);
//text=text+"\r\n"+temp;
::SetWindowText(imageinfo->edit,(LPCTSTR)temp);
//吃饭的状态,拿起筷子
oldpen=(CPen*)pDC->SelectObject(&blackpen);
pDC->MoveTo(imageinfo->pt_chair);
pDC->LineTo(imageinfo->pt_chopstick_middle[0]);
pDC->MoveTo(imageinfo->pt_chair);
pDC->LineTo(imageinfo->pt_chopstick_middle[1]);
pDC->SelectObject(oldpen);
oldpen=(CPen*)pDC->SelectObject(&whitepen);
pDC->MoveTo(imageinfo->pt_chopstick_middle[0]);
pDC->LineTo(imageinfo->pt_chopstick_end[0]);
pDC->MoveTo(imageinfo->pt_chopstick_middle[1]);
pDC->LineTo(imageinfo->pt_chopstick_end[1]);
pDC->SelectObject(oldpen);
oldbrush=(CBrush*)pDC->SelectObject(&brush_eat);
pDC->Ellipse(rect);
pDC->SelectObject(oldbrush);
//pDC->DrawText(num,rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
Sleep((imageinfo->index+1)*1000);
//吃完饭,放下筷子
oldpen=(CPen*)pDC->SelectObject(&blackpen);
pDC->MoveTo(imageinfo->pt_chopstick_mi