91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 40KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-26
  • 語言: C/C++
  • 標簽: 小游戲??

資源簡介

C++命令行小游戲:節奏大師(別踩白塊)。 可以選歌,目前支持的有:1.兩只老虎,2.兩只老虎無盡版。 開始游戲后*號會從右邊不斷出現并往左邊移動,在到達最左端時變為#號,這個時候需要對應地按下數字1,2,3,4鍵來命中它們。 如果成功命中,就會播放一聲《兩只老虎》里的旋律,游戲繼續。 如果按了錯誤的鍵或者沒有按鍵,游戲就會結束。 游戲有計分功能,擊中一個音樂塊算一分,還有記錄最高分的功能,而且可以通關(除了無盡模式)。 詳細介紹的博客地址 https://blog.csdn.net/m0_37809890/article/details/84602634

資源截圖

代碼片段和文件信息

/*?LittleFall?:?Hello!?*/
#include?
#include?
#include?
using?Song?=?std::vector>;

/***?數據結構部分?*/

/**?預設常數:行列延時單位最大游戲時間?*/
const?int?R=4?C=20?LAG=1000000?T=1000;

/**?運行數據?*/
char?gameMap[R+1][C+1];?/*?游戲地圖?*/
int?gameRunTime?=?0;? /*?游戲運行時間?*/
int?score?=?0;? /*?游戲分數?*/
int?maxScore=0; /*?歷史最高分?*/
int?gameClass=0; /*?游戲選項?*/

/**?使用隊列記錄音樂塊?*/
int?block[R+1][T]?lim[R+1];
void?push(int?r)
{
block[r][lim[r]++]?=?gameRunTime;
}

/**?音樂播放模塊兩只老虎?*/
const?int?mnote[]={300440495550587660733825325};
const?Song?TwinTiger?=
{
????{14}{24}{34}{14}
????{14}{24}{34}{14}
????{34}{44}{54}{04}
????{34}{44}{54}{04}
????{53}{61}{53}{41}{34}{14}
????{53}{61}{53}{41}{34}{14}
????{34}{84}{14}{04}
????{34}{84}{14}{04}
};
int?getRythm(int?id)?/*?由預設音樂得到音樂塊位置可設為隨機數?*/
{
return?(TwinTiger[id%TwinTiger.size()].first)%R+1;
}
void?playNote(int?id)?/*?播放音符?*/
{
int?val?=?id?%?TwinTiger.size();
Beep(mnote[TwinTiger[val].first]TwinTiger[val].second*100);
}

/***?流程算法部分?*/

/**?初始化游戲?*/
void?init()
{
gameRunTime?=?0;
score?=?0;
memset(lim0sizeof(lim));
memset(gameMap‘?‘sizeof(gameMap));
memset(block0sizeof(block));
}

/*?按鍵檢測?*/
int?checkFail()
{
while(_kbhit())
{
int?row?=?_getch()-‘0‘;

if(gameMap[row][1]?!=?‘?‘)
{
playNote(score++);
gameMap[row][1]?=?‘?‘;
}
else
{
return?1;
}
}
for(int?r=1;r<=R;++r)
{
if(gameMap[r][1]!=‘?‘)
{
return?1;
}
}
return?0;
}

/**?界面顯示?*/
void?delay(int?t)?/*?延時函數?*/
{
while(t--)?for(int?i=0;i}
void?showText()?/*?展示界面?*/
{
system(“cls“);
for(int?r=1;r<=R;++r)
{
for(int?c=1;c<=C;++c)
putchar(gameMap[r][c]);
putchar(‘\n‘);
}
}
void?printc(int?rint?cchar?ch)?/*?在界面上打印字符?*/
{
gameMap[r][c]?=?ch;
showText();
}
void?prints(int?r?int?c?const?char?*str?int?lag=0)?/*在界面上打印字符串*/
{
if(lag==0)
{
for(int?i=0;str[i];++i)
gameMap[r][c+i]=str[i];
showText();
}
else?for(int?i=0;str[i];++i)
{
printc(rc+istr[i]);
delay(lag);
}
}
void?showMap()?/*?計算每個音樂塊的位置并展示?*/
{
memset(gameMap‘?‘sizeof(gameMap));
for(int?r=1;r<=R;++r)
{
for(int?i=lim[r]-1;?i>=0?&&?block[r][i]-gameRunTime+C>=1;?--i)
{
gameMap[r][block[r][i]-gameRunTime+C]?=?‘*‘;
if(gameMap[r][1]!=‘?‘)
gameMap[r][1]=‘#‘;
}
}
showText();
printf(“%d\n“score);
}


/**?選歌功能
?*/
void?chooseSongs(int?now)
{
gameClass?=?now;

memset(gameMap0sizeof(gameMap));
prints(23“Choose?Songs:“);
if(now==0)
prints(41“←??Twin?Tigers??→“);
else
prints(41“←TwinTigerEndless→“);

while(_kbhit())?_getch();
if(_getch()==13)
return;
else?
return?chooseSongs(now^1);
}

int?main(void)
{
while(1)
{
init();
prints(23“RythmMaster?1.0“10);
prints(41“Press?Enter?To?Start“10

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3922??2018-11-29?05:29??RythmMaster.cpp
?????文件???????96880??2018-11-29?05:31??RythmMaster.exe
?????文件??????????45??2018-11-29?05:32??注意事項.txt

評論

共有 條評論