1. mfc俄羅斯方塊中的記分功能是怎麼實現的
基本上就是學習一下windows是怎麼畫圖的,也就是gdi編程,然後我推薦一本書給你,相信你會很有收獲。《VisualC++經典游戲程序設計》經典的游戲里邊基本都有。
2. c++的mfc俄羅斯方塊教程,誰有幫個忙發下 [email protected] 謝了
C++ QT的要嗎?
3. MFC 怎麼實現 俄羅斯方塊
1、 游戲實現
俄羅斯方塊,或稱積木游戲,它是利用一些形狀各異卻又是用正方形組成的方塊,經過不同位置不同角度的變化之後,堆積在一起的一種智力游戲。而從我們編程的角度講,我們只需要提供各種方塊的圖形,提供幾個鍵盤操作鍵以供方塊的形狀和位置的變化,提供幾個功能函數以供游戲的正常進行。各種方塊圖形:利用數組定形,然後利用隨機函數隨機地不按順序地按游戲的需要而出現。鍵盤操作鍵:就是四個方向鍵。其中左、右、下三個鍵意思一樣,上鍵的功能不是使方塊向上,而是使方塊的下落角度改變。功能函數將在變數函數裡面介紹。
新建單文檔工程4_1。
2、 資源編輯
添加點陣圖: 封面: IDB_BITMAP1背景: IDB_BITMAP2方塊: IDB_BITMAP4
添加菜單: 開始: ID_MENU_START
3、 變數函數
接著就是定義變數了,但是,由於這個游戲要添加的變數和函數太多了,我們要建一個新類。是否應該先添加應該類呢?最好是這樣。因為新類將會涉及到變數。添加普通類Crussia; 由於兩個類一共有很多變數函數,列舉如下:
// 4_1View.h :
//俄羅斯類 CRussia russia; //開始標志bool start; //封面 CBitmap fenmian; //暫停BOOL m_bPause;
//開始菜單 afx_msg void OnMenuStart(); //計時器 afx_msg void OnTimer(UINT nIDEvent); //鍵盤操作 afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
// Russia.h:
//游戲數組int Russia[100][100]; // 當前圖形 int Now[4][4]; //上一圖形 int Will[4][4]; //變換後的圖形 int After[4][4]; //當前圖形的左上角位置 CPoint NowPosition; //當前可能出現的圖形形狀數, int Count; //游戲結束 bool end; //級別 int m_Level; //速度 int m_Speed; //分數 int m_Score; //行列數 int m_RowCount,m_ColCount;//方塊 CBitmap fangkuai;//背景 CBitmap jiemian;
//顯示分數等內容 void DrawScore(CDC*pDC); //消行 void LineDelete(); //方塊移動 void Move(int direction); //方塊變化,即方向鍵上鍵操作 bool Change(int a[][4],CPoint p,int b[][100]); //是否與原來方塊接觸,或與邊界接觸 bool Meet(int a[][4],int direction,CPoint p); //顯示下一個方塊 void DrawWill(); //顯示界面 void DrawJiemian(CDC*pDC); //開始 void Start(); 然後把每個方法按功能補全就可以了 如果要詳細一點的資料你可以參考下這個帖子http://www.vcbook.cn/dispbbs.asp?boardid=16&id=11
4. 用MFC做俄羅斯方塊要用哪些函數(急)
看到樓主對「自由之城」的追問,我還是忍不住想罵你兩句。
開發程序不是會幾個函數就行了,基礎要打牢。這就好比那個經典的預言故事: 空中樓閣 。
沒有第一層,你想想第二層能蓋的住嗎?
學MFC,建議你先啃熟《windows程序設計》吧。
切記,萬萬不可眼高手低。這不是分的問題,這是你將後來人生的問題。
5. MFC C++ 雙人版俄羅斯方塊 思路
1先寫單機版
2圖形界面上增加另一個俄羅斯方塊界面和分數
3兩者互發信息,可以採用writeObject的方式,將對方方塊的位置send對方
6. 求一個MFC,C++基於對話框的俄羅斯方塊教程
我有MFC的俄羅斯方塊程序
7. C++用mfc編寫俄羅斯方塊 本人沒有MFC的基礎,請說明詳細的操作步驟和源代碼
請參考這里
http://bbs.csdn.net/topics/380209124
8. 如何用MFC寫俄羅斯方塊程序
建議你去這里看看,很詳細http://student.csdn.net/space.php?uid=110891&do=blog&id=10323
黏貼代碼如下:
const int BLOCK_LINE = 20;//當前地圖的行數
const int BLOCK_ROW = 10;//當前地圖的列數
class CBlock
{
public:
CBlock(void);
~CBlock(void);
private:
// 當前方塊形狀
int m_BlockShape;
//下一個方塊形狀
int m_nextBlockShape;
//當前方塊狀態
int m_BlockState;
//等級
int m_BlockLevel;
//當前可消行數
int m_BlockCurDelLine;
//游戲是否在執行
bool m_blockRunning;
//當前方塊位置
POINT m_BlockPos[4];
//下個方塊位置
POINT m_nextBlockPos[4];
//當前的屏幕狀態
//BLOCK_LINE是行數,BLOCK_ROW是列數
int m_Blockmap[BLOCK_LINE][BLOCK_ROW];
public:
// 初始化游戲
void BlockInit( void );
private:
// 記錄方塊圖形
CBitmap m_bmpBlock[7];
public:
//創建一個新的方塊出來,這里只給方塊形狀賦值
void CreateNewBlock(void);
private:
//這里給方塊位置賦值,
//shape是形狀, pt[]是用來接收方塊坐標的(方塊形狀的排列坐標)數組
//xPos是偏移量,就是方塊顯示位置和方塊顯示的框的最左邊的差
void MakeNewBlock(int shape, POINT pt[], int xPos);
public:
//將方塊畫在對應的DC上
void DrawBlock(CDC* pDC);
//方塊的下落過程,主要部分
void BlockDropDown(CDC* pDC);
private:
// 隱藏方塊
void HideBlock(CDC* pDC);
// 背景圖片變數
CBitmap m_bmpBKGND;
public:
// 畫下個方塊的框框
void DrawNextBlock( CDC* pDC );
//方塊左移
void BlockLeft(CDC* pDC);
//方塊右移
void BlockRight(CDC* pDC);
//方塊下移
void BlockFastDown(CDC* pDC);
//方塊變形
void ChangeState(CDC* pDC);
// 消除一行
//pDC是傳入的DC
//LineNum是消除的行從第幾行開始(我這里是最上面為0,最下面為19)
//start是 游戲是否是要把消除行以上的都置0,我是用在OnDraw()里,用來重畫屏幕的,
void DeleteLine(CDC* pDC, int LineNum, bool start);
// 游戲是否結束,true=結束了
bool BlockGameOver(void);
// 計分板
//del是決定是否是已消一行的
void BlockScore(int del, CDC* pDC);
//返回是否升級了,true=升級了
bool BlockLevelUp(void);
//返回下落速度
int BlockSpeed(void);
};
csdn可以下載到這個代碼,你要的話可以發郵件給我,我的郵箱[email protected]
9. 用基礎MFC和C++能做出俄羅斯方塊嗎
當然可以,碰撞,旋轉之類的自己處理比較麻煩。但做出來還是沒有問題。
。。。。。。不讓我發啊。。。。。木有辦法了。。。發了N次了。
1.定義小方塊類。需要有大小,中心,顏色等屬性。能夠在自己范圍內繪制,清空。
2.定義方塊類,包含4個小方塊。每個方塊中心根據形狀不一樣。帶旋轉函數。調整小方塊中心。
3.定義方塊鏈表,保存方塊類指針。
4.根據鍵盤輸入消息,調整當前方塊對象中小方塊中心。根據小方塊中心和其他小方塊中心,游戲區域坐標限制關系,判定移動,停止移動。
5.停止移動,隨機生成新的方塊類對象。(其實是小方塊中心賦值不一樣)。檢測所在行是否滿行,滿行則消除。滿行檢測查詢鏈表中所有對象小方塊的位置。
6.滿行消除通過控制對應小方塊清除,移動實現。
7.4個小方塊都不顯示的方塊對象從鏈表中刪除。
10. C編寫俄羅斯方塊要涉及到哪些c語言知識(最起碼需要了解的)
首先看你要用什麼工具了,如果只是單純的學了C,那麼可以嘗試用win-tc去坐下,只需要了解一些畫圖函數就OK了,至於如何進入圖形模式,win-tc提供有模板,我用win-tc寫俄羅斯方塊,核心代碼也就300行左右,如果你想做的更加漂亮的話,可以嘗試MFC,首先你要了解windows編程的基本思想「消息」。其次,需要對C++有一定的了解。。如果是初學,就先考慮下用C在win-tc下畫圖,做游戲吧~~~