当前位置: 首页 > news >正文

如何建立自己的超市网站青岛网站建设微动力

如何建立自己的超市网站,青岛网站建设微动力,公司网站备案名称,用phpcms建网站流程2048游戏的开发原理相对简单#xff0c;它基于一个4x4的方格#xff0c;通过控制数字方块的移动来合成相同的数字方块#xff0c;并生成新的数字方块。 具体实现过程如下#xff1a; 确定需求#xff1a;首先需要明确游戏的功能需求#xff0c;如产生随机数字方块、控制…2048游戏的开发原理相对简单它基于一个4x4的方格通过控制数字方块的移动来合成相同的数字方块并生成新的数字方块。 具体实现过程如下 确定需求首先需要明确游戏的功能需求如产生随机数字方块、控制数字方块的移动、检测碰撞等。 界面设计设计游戏的界面包括数字方块、移动方向、分数等元素。 逻辑实现实现游戏的逻辑部分包括数字方块的生成、移动和碰撞检测以及分数的记录和更新等。 这里说下需要手动添加一个“PreTranslateMessage”消息处理函数用于识别键盘按键动作。 在Windows编程中消息处理函数Message Handling Function是用于处理Windows操作系统发送给应用程序的消息的函数。其中PreTranslateMessage是一种消息处理函数它用于在将消息传递给窗口过程之前对消息进行预处理。 要添加一个PreTranslateMessage消息处理函数需要进行以下步骤 打开你的窗口类的定义文件通常是一个名为窗口类名.rc的文件在资源编辑器中打开。 在资源编辑器中找到窗口右键选择“类向导”然后从虚函数中找到“PreTranslateMessage”。 在新的消息处理函数中编写你的代码以处理消息。这个函数的原型如下 BOOL PreTranslateMessage(MSG* pMsg) 其中pMsg是一个指向MSG结构的指针该结构包含了消息的相关信息如消息的类型、参数等。 在PreTranslateMessage函数中你可以根据需要编写代码来处理消息。例如你可以通过检查消息的类型拦截或修改特定的消息。 保存并关闭窗口类的定义文件。 PreTranslateMessage消息处理函数的主要作用是允许你在窗口过程Window Procedure之前对消息进行修改或拦截。通过这个函数你可以对消息进行一些预处理操作例如修改消息的参数或者根据需要将消息传递给其他函数进行处理。 主函数源代码 void CMy2048MFCDlg::Show() {//所有方块的种类封装到一个Node数组中const static Node color[]{0, RGB(204,192,179), RGB(204,192,179),2, RGB(238,230,210), RGB(119,110,100),4, RGB(237,224,200), RGB(119,110,100),8, RGB(242,177,121), RGB(249,242,242),16, RGB(245,148,100), RGB(249,242,242),32, RGB(246,124,95), RGB(249,242,242),64, RGB(246,94,59), RGB(249,242,242),128, RGB(237,207,114), RGB(249,242,242),256, RGB(237,204,97), RGB(249,242,242),512, RGB(237,200,80), RGB(249,242,242),1024, RGB(237,197,63), RGB(249,242,242),2048, RGB(43,132,98), RGB(249,242,242),4096, RGB(250,56,108), RGB(249,242,242),8192, RGB(129,148,200), RGB(249,242,242),16384, RGB(255,0,0), RGB(249,242,242),32768, RGB(0,255,0), RGB(249,242,242),65536, RGB(128,128,0), RGB(249,242,242),};static const int n_block_size 120; //方块大小static const int n_pos_x 14; //显示位置static const int n_pos_y 14;static const int n_gap_size 10; //间隙大小RECT rect;GetClientRect(rect);m_dc.FillSolidRect(rect,RGB(255,255,255)); //把整个客户区填充为白色背景m_dc.SelectObject(m_font);CBrush bkBrush(RGB(187,173,160));m_dc.SelectObject(bkBrush);//qrt:4*4的棋盘背景矩形大小RECT back_square;back_square.top n_pos_x-n_gap_size;back_square.left n_pos_y-n_gap_size;back_square.bottom n_pos_x4*n_gap_size4*n_block_size;back_square.right n_pos_y4*n_gap_size4*n_block_size;//使用当前笔绘制圆角矩形用当前画刷填充 8*8的point是圆角的宽度m_dc.RoundRect(back_square,CPoint(8,8));//重绘整个棋盘中16个块的矩形for(int i0;i4;i){for(int k0;k4;k){//取出棋盘中的数int num m_nChessBoard[i][k];//得到棋盘数字对应的Node位置int n GetNodePos(num);//定义数字所对应的画刷的颜色CBrush brush(color[n].m_BackColor);m_dc.SelectObject(brush);//显示字体m_dc.SetTextColor(color[n].m_FontColor);//每个方块rt的矩形大小RECT rt;rt.left n_pos_xi*(n_block_sizen_gap_size);rt.top n_pos_yk*(n_block_sizen_gap_size);rt.right rt.leftn_block_size;rt.bottom rt.topn_block_size;//放大步骤if(i*4k m_nNewPos){const static int b[]{-24,-20,-16,-12,-8,-4,0,};rt.left - b[m_nCount];rt.right b[m_nCount];rt.top - b[m_nCount];rt.bottom b[m_nCount];m_nCount;if(m_nCount sizeof(b)/sizeof(int)){m_nNewPos-1;}}m_dc.RoundRect(rt,CPoint(16,16));if(num0){//1.将棋盘中的数字转换为字符串//2.存入到str中并画在矩形框rt中CString str;char temp[10] {0};_itoa_s(num,temp,10);str temp;//单行 - 居中显示 - 垂直居中显示m_dc.DrawText(str,rt,DT_SINGLELINE|DT_CENTER|DT_VCENTER);}}}//分数CBrush brush(RGB(187,173,160));m_dc.SelectObject(brush);m_dc.SetTextColor(RGB(238,235,232));RECT rt{580,170,760,300};m_dc.RoundRect(rt.left,rt.top,rt.right,rt.bottom,8,8);CString str;strscore;rt.bottom (rt.bottom - rt.top)/2 rt.top;rt.top 10;rt.bottom 10;//显示“score”m_dc.DrawText(str,rt,DT_SINGLELINE|DT_CENTER|DT_VCENTER);char tempScore[10] {0};_itoa_s(m_nScore,tempScore,10);str tempScore;rt.top 50;rt.bottom 50;//显示分数m_dc.DrawText(str,rt,DT_SINGLELINE|DT_CENTER|DT_VCENTER);//判断游戏是否结束if(m_nOver){CFont Over;//初始化字体字体高度字体宽度夹角夹角字体磅数200斜体下划线突出字体的字符集//输出精度剪贴精度输出质量字体的间距字体类型Over.CreateFont(80,32,0,0,FW_EXTRABOLD,false,false,false,ANSI_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,FF_MODERN,LArial);m_dc.SelectObject(Over);m_dc.SetTextColor(RGB(250,0,0));str游戏结束;m_dc.DrawText(str,back_square,DT_SINGLELINE|DT_CENTER|DT_VCENTER);}CDC *dcGetDC();dc-BitBlt(0,0,rect.right,rect.bottom,m_dc,0,0,SRCCOPY);ReleaseDC(dc); }完整程序代码MFC/C小游戏源代码2048小游戏
http://www.pierceye.com/news/352876/

相关文章:

  • 做足球网站前景一个网站源码值多少钱
  • 成都网站排名优化公司上海创意网站建设
  • 贵阳市住房城乡建设局八大员网站wordpress 输出 文章时间
  • 那个装修公司的网站做的好想创业去哪里找项目
  • 公选课网页制作与网站建设网页游戏平台十大排名
  • 无锡锡牛网站建设网站倒计时
  • 南通做外贸网站网站建设培训四川
  • 微小店适合卖做分类网站吗手机开发者网站
  • 广州建企业网站网页设计是啥意思
  • wap手机网站建设刀模 东莞网站建设
  • 怎样做网站的外链做推广优化的网站有哪些内容
  • 永嘉规划建设局网站备案个人网站做淘宝客
  • 枣庄网站建设电话网站怎么做 凡科
  • 视频网站点击链接怎么做的宁波网站建设接单
  • 网站报价表怎么做wordpress 横向扩展
  • 溧阳网站建设哪家好网站建设的教程
  • 360怎么做网站做pop网站
  • 网站建设方案书2000字中国正国级名单
  • 企业网站的布局类型网站移动页面怎么做的
  • 人是用什么做的视频网站吗wordpress如何设水印图片
  • 蛋糕店的网站建设咋写深圳市宝安区邮政编码
  • 东莞横沥网站建设杭州网站制作排名
  • 百合怎么做网站网站开发语
  • 网站搭建哪里找最好天津市建设工程信息网站
  • 有免费注册网站吗做教育网站还挣钱吗
  • 网站做百度推广需要哪些条件店铺推广软文范例
  • 台州企业网站搭建特点迅美网站建设
  • 做营销网站推广官方网站建设方法
  • 网页设计精选网站网站查询功能怎么做
  • 重庆专业网站推广流程建立平台的步骤