#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <easyx.h>
#include <graphics.h>
#include <time.h>
#include <tchar.h>
int map[];//数组保存的是黑块
int n = ; //
void init()//初始化黑方块区域
{
for (int i = ; i < ; i++)
{ map[i] = rand() % ; //取随机值0 - 3;
} }
void draw()//贴背景图片
{
BeginBatchDraw();
cleardevice();//把之前的画板清楚
setlinecolor(RED);//设置颜色
setfillcolor(WHITE);
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//绘制白色矩形
fillrectangle(j * , i * , (j + ) * , (i + ) * );
}
}
//
setfillcolor(BLACK);
for (int i = ; i < ; i++) //每一行需要填充的方块
{
fillrectangle(map[i] * , i * , (map[i] + ) * , (i + ) * ); //填充矩形 定位要填充的矩形的的左上角坐标和右下角坐标 } EndBatchDraw(); //结束批量绘图,把中间的内容统一绘制到界面
}
int i; //x轴坐标
int j; //y轴坐标
int play()// 开始玩耍 用鼠标点击方块
{
MOUSEMSG msg = GetMouseMsg();//鼠标消息初始化
switch (msg.uMsg)
{
case WM_LBUTTONDOWN: //如果鼠标消息按下左键 进入循环
i = msg.y / ; //判断鼠标的位置相对于游戏区的位置
j = msg.x / ; //判断鼠标的位置相对于游戏区的位置
if (map[] == j && i == ) //判断鼠标点击的位置是不是黑色方块 i==3 判断鼠标点击的位置是不是最下面一行,最下面一行为3
{
for (int a = ; a > ; a--)//使用循环改变方块的值
{
map[a] = map[a - ]; }
map[] = rand() % ;//最上面一排的方块重新赋值 n++;
}
else
return ;
break;
}
return ;
}
int main()
{ initgraph( * , * );//初始化界面
srand((unsigned)time(NULL)); //随机数
init();
while ()
{
draw();
if (play() == )
{
TCHAR str[]; //
wsprintf(str, _T("总共消除了%d个方块"), n);
if (MessageBox(GetHWnd(), str, _T("游戏结束,是否在来一次"), MB_YESNO) == IDYES) //判断判断游戏是否需要继续
{ init(); //重新初始化方块随机位置
draw(); //重新初始化画板
n = ;
continue;
}
else
break; } }
closegraph();//关闭绘图界面
return ;
}

C++ 别踩白块小游戏练习的更多相关文章

  1. JS实现别踩白块小游戏

    最近有朋友找我用JS帮忙仿做一个别踩白块的小游戏程序,但他给的源代码较麻烦,而且没有注释,理解起来很无力,我就以自己的想法自己做了这个小游戏,主要是应用JS对DOM和数组的操作. 程序思路:如图:将游 ...

  2. jquery 简单的别踩白块小游戏

    写写简单的东西,效果如图: 1.html代码 <div class="warp"> <div class="title"> <h3 ...

  3. 用javascript做别踩白块游戏1

    初学Javascript做的一个别踩白块小游戏,代码简陋,如下: <!DOCTYPE html> <html> <head> <!-- 禁用缩放功能 --&g ...

  4. jquery之别踩白块游戏的实现

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5687112.html 前端学习要告一段落了,也没机会写什么像样的东西,然后无意中想起某人以前给我玩了一下别踩白块的游 ...

  5. ios-高仿别踩白块游戏的实现

    先看下效果图片 前几天看到一个游戏叫别踩白块,下载量还挺大几百万了都,下载下来玩了玩看了看,这个游戏还挺简单的.俗话说想一千遍,一万遍不如动手做一遍来的实在.昨晚以及今天白天闲的没事就开搞了,下午六点 ...

  6. cocos2dx游戏开发——别踩白块学习笔记(二)——经典模式的实现

    一.创建GameScene以及GameLayer 就是简单创建一个Scene而已,在此就不多说啦~,可以参照我的打飞机的学习笔记(2). 二.添加一个开始栏 很简单,就是调用Block中的create ...

  7. 用javascript做别踩白块游戏2

    这一次做一个好一点的,要求黑块自动下落,且速度逐渐加快 <!DOCTYPE html> <html> <head> <!-- 禁用缩放功能 --> &l ...

  8. C++用EGE简单实现别踩白块游戏

    本项目已开源:https://github.com/wmpscc/AvoidBlank 关于EGE 介绍:EGE(Easy Graphics Engine),是windows下的简易绘图库,是一个类似 ...

  9. Cocos2d-x 3.2 之 别踩白块(第三篇)

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

随机推荐

  1. [LC] 252. Meeting Rooms

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  2. markdown常见用法

      命令  生成目录  [TOC]  插入标题  # 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六季标题  插入shell 开头:```shell 结尾 ...

  3. MatterTrack Route Of Network Traffic :: Matter

    Python 1.1 基础 while语句 字符串边缘填充 列出文件夹中的指定文件类型 All Combinations For A List Of Objects Apply Operations ...

  4. git push的完整形式

    现在的情况是,本地有两个分支:master.div, 远程仓库有一个分支:master,本地master分支和远程master分支建立有跟踪联系,这样本地master分支提交时直接git push(只 ...

  5. Java8-19-lambda 重构代码

    通过本书的前七章,我们了解了Lambda和Stream API的强大威力. 你可能主要在新项目的代码中使用这些特性.如果你创建的是全新的Java项目,这是极好的时机,你可以轻装上阵,迅速地将新特性应用 ...

  6. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

  7. C++走向远洋——65(十五周、项目一)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  8. Vue.js——学习笔记(一)

    Vue-自学笔记 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅 ...

  9. bootstrap-select and selectpicker 修改下拉框的宽度或者下方留白

    bootstrap-select and selectpicker 修改下拉框的宽度或者下方留白 $("#sel_userName").selectpicker({ "w ...

  10. 统计 Django 项目的测试覆盖率

    作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们完成了对 blog 应用和 comment 应用这两个核心 app 的测试.现在 ...