//tchar.h
#ifndef __trect
#define __trect
#include
struct trect
:public rect
;#endif
//twindow.h
#pragma once
#include
#include
#include "trect.h"
#define black false
#define red true
class twindow
twindow::~twindow(void)
lresult callback twindow::wndproc(hwnd hwnd, uint msg, wparam wparam, lparam lparam)
hpen=createpen(ps_solid,2,rgb(255,100,0));
break;
case wm_size:
y+=dwycubicle;}}
break;
case wm_paint:
hdc=beginpaint(hwnd,&ps);
hpen=(hpen)selectobject(hdc,hpen);
for (ulong i=dwycubicle;ifor (int i=0;i<9;i++)
}hpen=(hpen)selectobject(hdc,hpen);
endpaint(hwnd,&ps);
break;
case wm_lbuttondown:
else
goto print_winner;
}int dw=-2;
tchar szwinner[56]=text("");
hdc=getdc(hwnd);
point point;
point.x=loword(lparam);
point.y=hiword(lparam);
for (ulong i=0;i<9;i++)}}
if (m_p->m_nwinner!=-2)
else
dw=m_p->getwinner();
if (dw==-2&&m_p->m_dwcount==9)
if (dw!=-2)
if (black==dw)
goto end;
ulong ul=m_p->getemptyrect();
if (ul==9)
m_p->m_rects[ul].bredorblack=black;
m_p->drawfork(m_p->m_rects[ul],hdc);
print_winner:
if (m_p->m_nwinner!=-2)
else
dw=m_p->getwinner();
if (dw!=-2)
if (black==dw)
}end:
releasedc(hwnd,hdc);
break;
}case wm_rbuttondown:
for (int i=0;i<9;i++)
m_p->m_nwinner=-2;
m_p->m_dwcount=0;
::invalidaterect(hwnd,null,true);
::updatewindow(hwnd);
break;
case wm_destroy:
deleteobject(hpen);
postquitmessage(0);
break;
}return defwindowproc(hwnd,msg,wparam,lparam);
}twindow* twindow::createnewwindow(pctstr pszclassname, pctstr pszwindowname, hinstance hinstance, int ncmdshow)
m_p=new twindow(pszclassname,pszwindowname,hinstance,ncmdshow);
m_p->createwindowclass();
m_p->createmainwindow();
m_p->updatewindow();
m_p->showwindow();
return m_p;
}bool twindow::updatewindow(void)
bool twindow::showwindow(void)
void twindow::drawfork(const trect& rect, hdc hdc)
void twindow::drawround(const trect& rect, hdc hdc)
int twindow::getwinner(void)
}for (ulong i=0;i<3;i++)
}if (m_rects[0].bredorblack==m_rects[4].bredorblack&&
m_rects[4].bredorblack==m_rects[8].bredorblack&&
-1!=m_rects[0].bredorblack)
if (m_rects[2].bredorblack==m_rects[4].bredorblack&&
m_rects[4].bredorblack==m_rects[6].bredorblack&&
-1!=m_rects[2].bredorblack)
return -2;
}ulong twindow::getemptyrect(void)
iretval=i+1;
}if ((m_rects[i].bredorblack==m_rects[i+1].bredorblack||
m_rects[i+1].bredorblack==m_rects[i+2].bredorblack)&&-1!=m_rects[i+1].bredorblack)
if (m_rects[i+2].bredorblack==-1)
}if (m_rects[i].bredorblack==-1)
if (m_rects[i+2].bredorblack==-1)
}for (ulong i=0;i<3;i++)
iretval =i+3;
}if ((m_rects[i].bredorblack==m_rects[i+3].bredorblack||
m_rects[i+3].bredorblack==m_rects[i+6].bredorblack)&&-1!=m_rects[i+3].bredorblack)
if (m_rects[i+6].bredorblack==-1)
}if (m_rects[i].bredorblack==-1)
if (m_rects[i+6].bredorblack==-1)
}if (m_rects[0].bredorblack==m_rects[8].bredorblack&&
-1==m_rects[4].bredorblack&&
-1!=m_rects[0].bredorblack)
iretval=4;
}if ((m_rects[0].bredorblack==m_rects[4].bredorblack||
m_rects[4].bredorblack==m_rects[8].bredorblack)&&-1!=m_rects[4].bredorblack)
if (m_rects[8].bredorblack==-1)
}if (m_rects[0].bredorblack==-1)
if (m_rects[8].bredorblack==-1)
}if (m_rects[2].bredorblack==m_rects[6].bredorblack&&
-1==m_rects[4].bredorblack&&
-1!=m_rects[2].bredorblack)
iretval=4;
}if ((m_rects[2].bredorblack==m_rects[4].bredorblack||
m_rects[4].bredorblack==m_rects[6].bredorblack)&&-1!=m_rects[4].bredorblack)
if (m_rects[6].bredorblack==-1)
}if (m_rects[2].bredorblack==-1)
if (m_rects[6].bredorblack==-1)
}if (iretval!=0xffffffff)
if (m_dwcount==9)
while(true)
}return 0;
}//main.h
#include "twindow.h"
int apientry _twinmain( __in hinstance hinstance, __in_opt hinstance hprevinstance, __in_opt lpwstr lpcmdline, __in int nshowcmd )
delete p;
return 0;
}
純js寫小遊戲
html部分 css部分 大盒子容器 div1 彈動的小球 ball 底部小滑塊 slide 頂部磚塊的父級盒子 brick 頂部磚塊 brick div js部分 window.onload function if ball.offsettop 0 if ball.offsettop 580 小球...
分享乙個自己寫的QT小遊戲 瑪麗奧醫生
看到最近俄羅斯方塊風靡.想到自己前段時間做過的乙個小遊戲,大家不妨換乙個口味,雖然這與俄羅斯方塊非常相識.這是乙個自己在學習qt過程中自己寫的小遊戲.遊戲規則很簡單,類似於俄羅斯方塊一樣的遊戲,只不過是4種相同顏色的處在同一行或列就可以消除同顏色的病毒.將病毒消滅完後便可以通關.上圖 難度不大.由於...
初學Python和pygame寫小遊戲
alien.py 外星人的類,負責外星人的載入 位置 繪製和更新等屬性。alien invasion.py 主函式。bullet.py 對子彈進行管理的類,負責子彈的繪製 更新。button.py 按鈕類,繪製play按鈕。game function.py 包含實現各種操作所需的函式。game da...