资源简介
为了完成课程作业写的程序,就是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图像模糊程序 by浅墨
- Opencv和vc++6.0一些常用图像处理算法程
- c++开发ocx入门实践三--基于opencv的简易
- opencv+c++实现人脸识别
- 基于OPENCV的完整图像处理程序
- MFC下opencv的图像处理源码
- OpenCV C++完整的车牌识别系统.rar
- OpenCV_MFC_版本1.0.1
- OpenCV_MFC_版本1.0
- opencv MFC 摄像头 人脸识别
- 实用的角度识别OPENCV
- opencv结合MFC进行人脸检测
- 基于opencv的傅里叶描述子VC++代码
- 简单的OpenCV实现摄像头实时显示和视
- Mastering Opencv3英文第二版
- Opencv+MFC框架图像处理
- opencv之数字识别
- grabcut的c++源代码
- 遥感图像拉伸代码
- 车牌识别 openCV mfc BP神经网络
- 基于VC++与OpenCV的圆心坐标提取
- vc下的sift程序
- 用openCV实现图像灰度化并保存,MFC实
- OpenCV多通道图像混合程序 by浅墨
- 经典手眼标定算法C++代码
- OpenCV打开图片和网络摄像头(C++)
- python3.x Opencv Toturial
- 利用MFC和OpenCV实现的图片浏览器,支
- SURF特征点检测 程序 by浅墨
- OpenCV图片翻转(重映射)程序 by浅墨
评论
共有 条评论