資源簡介
為了完成課程作業寫的程序,就是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?height;?++i)
{
for?(int?j?=?0;?j?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個文件信息
評論
共有 條評論