资源简介
为了完成课程作业写的程序,就是chrome断网后的小恐龙的游戏,做了一个简单的山寨版,刚开始学习c++,写得非常粗糙,上传记录一下,可能以后会重写?

代码片段和文件信息
#include “Cactus.h“
#include
#include
using namespace std;
CCactus::CCactus()
{
}
CCactus::~CCactus()
{
}
/**
* @brief 仙人掌的初始化
* 加载仙人掌图片,初始化仙人掌出现的位置和随机仙人掌的图片
*/
void CCactus::Initialize()
{
static int i_num = 0;
char a_num[2] = { 0 };
/*拼接图片名称字符串*/
_itoa(i_num a_num 10);
char pic_name[15] = { 0 };
strcpy(pic_name “cactus“);
strcat(pic_name a_num);
strcat(pic_name “.png“);
//pic_name[strlen(pic_name)] = 0;
m_cactus = cvLoadImage(pic_name);
++i_num;
i_num %= 6;
m_posx = (rand() % 5) * 200 + 1000;
m_posy = 216 - m_cactus->height;
}
/**
* @brief 释放图片资源
*/
void CCactus::Release()
{
cvReleaseImage(&m_cactus);
}
/**
* @brief 绘制仙人掌
* @param 图片指针copybk白天背景,图片指针copybbk黑夜背景, 整型变量确定白天还是黑夜
*/
void CCactus::DrawToBk(IplImage * copybk IplImage *copybbk int daytime)
{
if (copybk != 0 && copybbk != 0 && m_cactus != 0)
{
for (int i = 0; i < m_cactus->height; ++i)
{
for (int j = 0; j < m_cactus->width; ++j)
{
if (j + m_posx < 0 || j + m_posx >= copybk->width)
continue;
int B = CV_IMAGE_ELEM(m_cactus uchar i j * 3 + 0);
int G = CV_IMAGE_ELEM(m_cactus uchar i j * 3 + 1);
int R = CV_IMAGE_ELEM(m_cactus uchar i j * 3 + 2);
///如果像素点的RGB值在这个范围内,则不画这个像素点
if (R >= 240 && G >= 240 && B >= 240)
continue;
if (daytime == 1)
{
CV_IMAGE_ELEM(copybk uchar i + m_posy (j + m_posx) * 3 + 0) = B;
CV_IMAGE_ELEM(copybk uchar i + m_posy (j + m_posx) * 3 + 1) = G;
CV_IMAGE_ELEM(copybk uchar i + m_posy (j + m_posx) * 3 + 2) = R;
}
else
{
CV_IMAGE_ELEM(copybbk uchar i + m_posy (j + m_posx) * 3 + 0) = 255 - B;
CV_IMAGE_ELEM(copybbk uchar i + m_posy (j + m_posx) * 3 + 1) = 255 - G;
CV_IMAGE_ELEM(copybbk uchar i + m_posy (j + m_posx) * 3 + 2) = 255 - R;
}
}
}
}
}
/**
* @brief 仙人掌的移动,按一定速度向左移动
* @param 传入一个速度
*/
void CCactus::Move(int speed)
{
m_posx -= speed;
}
/**
* @brief 仙人掌是否过图
*/
bool CCactus::isPass()
{
if (m_posx + m_cactus->width < 0)
{
m_posx = 1000 - m_cactus->width;
return true;
}
else
return false;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 451 2018-03-14 17:48 DinoRun\DinoRun\0.png
文件 332 2018-03-14 17:52 DinoRun\DinoRun\1.png
文件 524 2018-03-14 17:54 DinoRun\DinoRun\2.png
文件 495 2018-03-14 17:53 DinoRun\DinoRun\3.png
文件 471 2018-03-14 17:52 DinoRun\DinoRun\4.png
文件 454 2018-03-14 17:51 DinoRun\DinoRun\5.png
文件 479 2018-03-14 17:55 DinoRun\DinoRun\6.png
文件 430 2018-03-14 17:54 DinoRun\DinoRun\7.png
文件 521 2018-03-14 17:56 DinoRun\DinoRun\8.png
文件 502 2018-03-14 17:56 DinoRun\DinoRun\9.png
文件 1669 2018-03-13 21:18 DinoRun\DinoRun\background.png
文件 856 2018-03-13 22:41 DinoRun\DinoRun\bbackground.png
文件 2340 2018-07-16 00:04 DinoRun\DinoRun\Cactus.cpp
文件 305 2018-07-16 00:04 DinoRun\DinoRun\Cactus.h
文件 735 2018-03-11 21:02 DinoRun\DinoRun\cactus0.png
文件 1285 2018-03-12 00:26 DinoRun\DinoRun\cactus1.png
文件 606 2018-03-12 00:27 DinoRun\DinoRun\cactus2.png
文件 2615 2018-03-13 04:39 DinoRun\DinoRun\cactus3.png
文件 924 2018-03-12 00:27 DinoRun\DinoRun\cactus4.png
文件 1245 2018-03-12 00:02 DinoRun\DinoRun\cactus5.png
文件 6337 2018-07-15 00:52 DinoRun\DinoRun\DinoRun.vcxproj
文件 1690 2018-03-13 23:34 DinoRun\DinoRun\DinoRun.vcxproj.filters
文件 165 2018-03-11 20:21 DinoRun\DinoRun\DinoRun.vcxproj.user
文件 3134 2018-07-16 00:04 DinoRun\DinoRun\Dinosaur.cpp
文件 465 2018-07-16 00:04 DinoRun\DinoRun\Dinosaur.h
文件 6934 2018-03-12 00:23 DinoRun\DinoRun\dinosaur.png
文件 1161 2018-03-14 00:39 DinoRun\DinoRun\dinosaur_died.png
文件 1511 2018-03-12 00:24 DinoRun\DinoRun\dinosaur_run1.png
文件 1597 2018-03-12 00:26 DinoRun\DinoRun\dinosaur_run2.png
文件 7216 2018-07-16 00:22 DinoRun\DinoRun\Game.cpp
............此处省略16个文件信息
相关资源
- 人脸识别(opencv_facedetect_v4l2)
- 基于opencv的模板匹配代码
- opencv图片扫描以及校正
- opencv手部轮廓识别以及轨迹识别
- opencv2 3D标定.cpp
- 基于opencv漫水填充算法综合
- opencv激光中心线的提取
- OpenCV Computer Vision Application Programming
- 基于图割的图像分割OpenCV+MFC实现
- 识别魔方颜色
- opencv版俄罗斯方块源码
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- 粒子滤波器+目标跟踪的C++实现,VS2
- 张平OpenCV算法精讲基于python和C++教材
- 虹膜识别开源代码OSIRIS4.1基于opencv
- Sift特征点提取与匹配opencv库
- YCbCr、混合高斯以及YCbCg肤色检测模型
- 光流法代码
- OpenCV打开摄像机显示在MFC窗口工程源
- 使用c++读取图像到二维矩阵
- 三维点云的圆柱面拟合
- MFC+OPENCV摄像机标定程序
- 基于特征脸的人脸识别MFC+OpenCV
- opencv图像处理MFC
- OPENCV人脸检测加角点检测并输出坐标
- FillHole.rar
- 道路提取算法 c++ opencv
- PCA代码实现详解
- opencv卡尔曼滤波
- SeamCarving opencv c++
评论
共有 条评论