C++ 别踩白块小游戏练习
#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++ 别踩白块小游戏练习的更多相关文章
- JS实现别踩白块小游戏
最近有朋友找我用JS帮忙仿做一个别踩白块的小游戏程序,但他给的源代码较麻烦,而且没有注释,理解起来很无力,我就以自己的想法自己做了这个小游戏,主要是应用JS对DOM和数组的操作. 程序思路:如图:将游 ...
- jquery 简单的别踩白块小游戏
写写简单的东西,效果如图: 1.html代码 <div class="warp"> <div class="title"> <h3 ...
- 用javascript做别踩白块游戏1
初学Javascript做的一个别踩白块小游戏,代码简陋,如下: <!DOCTYPE html> <html> <head> <!-- 禁用缩放功能 --&g ...
- jquery之别踩白块游戏的实现
转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5687112.html 前端学习要告一段落了,也没机会写什么像样的东西,然后无意中想起某人以前给我玩了一下别踩白块的游 ...
- ios-高仿别踩白块游戏的实现
先看下效果图片 前几天看到一个游戏叫别踩白块,下载量还挺大几百万了都,下载下来玩了玩看了看,这个游戏还挺简单的.俗话说想一千遍,一万遍不如动手做一遍来的实在.昨晚以及今天白天闲的没事就开搞了,下午六点 ...
- cocos2dx游戏开发——别踩白块学习笔记(二)——经典模式的实现
一.创建GameScene以及GameLayer 就是简单创建一个Scene而已,在此就不多说啦~,可以参照我的打飞机的学习笔记(2). 二.添加一个开始栏 很简单,就是调用Block中的create ...
- 用javascript做别踩白块游戏2
这一次做一个好一点的,要求黑块自动下落,且速度逐渐加快 <!DOCTYPE html> <html> <head> <!-- 禁用缩放功能 --> &l ...
- C++用EGE简单实现别踩白块游戏
本项目已开源:https://github.com/wmpscc/AvoidBlank 关于EGE 介绍:EGE(Easy Graphics Engine),是windows下的简易绘图库,是一个类似 ...
- Cocos2d-x 3.2 之 别踩白块(第三篇)
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
随机推荐
- C语言数据转换
1.在我们编码的时候可能一个表达式中的数字类型是不同的,所以我们的首要的工作就是要把它们转换成相同的类型,然后在进行计算.这个转换的过程就就做隐式类型转换,完全由计算机完成. 2.隐式类型转换有一定的 ...
- Jsp入门EL表达式_学习笔记
1.EL表达式 [1] 简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. > ...
- HttpClient GET和POST请求
package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOException; import java.io ...
- haproxy笔记之五:一个配置示例
#--------------------------------------------------------------------- # Global settings #---------- ...
- Python-删除多级目录
def rmdirs(top): for root, dirs, files in os.walk(top, topdown=False): # 先删除文件 for name in files: os ...
- JVM之工具分析
JVM分析工具有很多; jdk自带工具:jconsole.jvisualvm 其他工具:jprofile ,yourkit等 不要在线上用,影响性能,在测试环境中使用. 一.jconsole ——jd ...
- <JZOJ5938>分离计划
emm骚操作 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm ...
- mac上svn: This client is too old to work with working copy 问题的解决
安装svn时,提示This client is too old to work with working copy........原因:svn的版本过旧,安装1.8的svn即可.下面简要说明一些步骤: ...
- 默认的Settings.xml文件(无修改过)-Maven
Tip: 当什么都不作修改时,默认是从Maven中央仓库进行下载,https://repo.maven.apache.org/maven2. 打开maven源码下的lib文件夹,找到maven-mod ...
- JAVA 获取网页源代码保存到本地文件
package httpget; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExce ...