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

  • 大小: 10KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: C/C++
  • 標簽: c++??貪吃蛇??

資源簡介

代碼可完美運行,界面美觀顏色多樣,有文件記錄最高分及排行榜

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#define?N?21??//?21*21的方格?(注意這里N是方格盤的最大范圍?)?

//欣雨看這=?=,這個他下邊使用的時char類型存放的分數和蛇身,使用的ascii碼的數,然后讀取輸出文件也是用的ascii碼,
//所以打開文件(最高分)會出現一個奇怪的符號或者數字,但是程序可以自己讀,這個沒啥問題,只不過應該最高只能存放255分
//程序寫的不夠友好,這個你先看著?


int?apple[3];//apple[0]是apple的y坐標apple[1]是apple的x坐標的1/2apple[2]是apple的個數,即標記?
char?score[3];//score[0]是當前得分score[1]是最高記錄score[2]控制極限速度?
char?tail[3];?//用于存放蛇尾?

void?gotoxy(int?x?int?y)????//輸出坐標?gotoxy功能是將光標移動到指定位置頭文件是
{
????????COORD?pos;//coord表示一個字符在控制臺屏幕上的坐標?
????????pos.X?=?x;?
????????pos.Y?=?y;
????????SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE)?pos);
???????????????????//SetConsoleCursorPosition是一個計算機函數,如果用戶定義了COORD?pos,
???????????????????//那么pos其實是一個結構體變量,其中X和Y是它的成員,通過修改pos.X和pos.Y的值就可以實現光標的位置控制。
???????????????????????????//GetStdHandle(STD_OUTPUT_HANDLE)獲取標準輸出的句柄會把字符輸出到屏幕上(把你按得wasd輸出到屏幕)?
}

void?color(int?b)?????????//顏色函數?(用來輸出前景的和背景色只不過顏色用b的值傳進來)?
//b的值代表顏色值放在window.h頭文件中?具體顏色值下面有?
{
????HANDLE?hConsole?=?GetStdHandle((STD_OUTPUT_HANDLE))?;?
????SetConsoleTextAttribute(hConsoleb)?;
}?/*void?color(int?b)
{
?//HANDLE?是windows里的句柄類型,它相當于是某個設備在系統里的唯一標識,通過它就可以修改
?//這些設備的屬性
?//GetStdHandle函數用來獲取標準輸入、輸出或者標準錯誤的句柄,它的參數可以是如下三個:
?//STD_INPUT_HANDLE?標準輸入
?//STD_OUTPUT_HANDLE?標準輸出
?//STD_ERROR_HANDLE?標準錯誤
?//這里是STD_OUTPUT_HANDLE,所以會得到標準輸出的句柄,也就是屏幕輸出
?HANDLE?hConsole=GetStdHandle((STD_OUTPUT_HANDLE))?;
?//調用SetConsoleTextAttribute函數來修改句柄所指向設備的屬性,屬性值為b
?//b可以為單獨的前景色,或者背景色,如果同時修改前景色和背景色,則通過|(或)運算符來
?//設定,這種方式在編程中非常常見
?//比如我上面的例子中FOREGROUND_RED|BACKGROUND_BLUE,就會把前景色設置成紅色,背景色設置成藍色
?SetConsoleTextAttribute(hConsoleb);
}*/

int?Block(char?head[2])???//判斷出界?
{
if?((head[0]??N)?||?(head[1]??N))//head[0]蛇頭橫坐標head[1]蛇頭縱坐標?
????return?1;//出界時if語句的返回值?
return?0;//block函數的返回值代表返回整型?
}

int?Eat(char?snake[2])???//吃了蘋果?
{
????if?((snake[0]?==?apple[0])?&&?(snake[1]?==?apple[1]))???//蛇身的橫坐標等于蘋果的橫坐標縱坐標等于蘋果的縱坐標(判斷吃到了蘋果)?
????{
????????apple[0]?=?apple[1]?=?apple[2]?=?0;//將原來蘋果的值進行初始化當appple[2]為0時程序會重新分配蘋果位置?
????????gotoxy(N+4410);
????????color(13);//淡洋紅?只用于字符
????????printf(“%d“score[0]*10);//每吃一個蘋果就加3*10=30分?
???????color(11);//淡青?只用于字符
????????return?1;
}
????return?0;
}

void?Draw(char?**snake?int?len)????//蛇移動?
{
????if?(apple[2])? //如果蘋果數量不為0,則繪制蘋果?
{
????????gotoxy(apple[1]?*?2?apple[0]);?//繪制蘋果的位置(橫坐標縱坐標)?
????????color(12);//淡紅?只用于字符?(蘋果顏色)?
????????printf(“●“);//蘋果用●表示?
????????color(11);//淡青?只用于字符
????}
????gotoxy(tail[1]?*?2?tail[0]);//繪制蛇尾的位置(橫坐標縱坐標)?
????if?(tail[2])?//如果蛇尾數量不為0吃掉蘋果后蛇尾后的格子加入蛇身?
????{??
color(14);?//黃?只用于字符(蛇身顏色)?
????????printf(“★“);//蛇身用?★表示?
????????color(11);//淡青?只用于字符
????}
????else?//若上述if條件不符合?
????????printf(“■“);
????gotoxy(snake[0][1]?*?2?snake[0][0]);
????color(14);//黃?只用于字符
????printf(“★“);
????color(11);//淡青?只用于字符

評論

共有 條評論