色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【地平線旭日X3派試用體驗】保姆級配置git與使用+C語言編寫貪吃蛇

地瓜機(jī)器人 ? 2022-08-09 16:27 ? 次閱讀

安裝配置git

一、更新軟件源

  • sudo apt update

二、安裝git

  • sudo apt install git -y
pYYBAGLyE4uAQSB6AAArFHt6CzA433.png

  • 成功安裝git如圖:
pYYBAGLyE4uAPS_WAAEbNiRmpBg353.png

三、配置git

1、設(shè)置賬號

  • git config --global user.name "name" (github官網(wǎng)注冊的用戶名)

2、設(shè)置郵箱

  • git config --global user.email "email" (gitub官網(wǎng)注冊綁定的郵箱)

3、查看配置

  • git config --list

4、生成SSH秘鑰

  • ssh-keygen -t rsa -C "注冊綁定的郵箱"

(輸入兩次密碼后,提示的地方直接按Enter,成功生成如下圖所示)

poYBAGLyE4uAb4oeAACfB5RXrQE463.png

5、查看生成的秘鑰

  • cd
  • cat id_rsa.pub (秘鑰命名可能有不同,但一定要是pub文件)

poYBAGLyE4yAbP0CAAB6RCbihMg334.png

6、github配置SSH公鑰

  • 登錄github官網(wǎng),網(wǎng)址:https://github.com/
  • 右上角登陸后點擊settings->SSH and GPS keys->New SSH key
poYBAGLyE4uAfp1-AAD1BzlKZXM334.png
  • 將id_rsa.pub文件中的生成的內(nèi)容全部復(fù)制到key中,輸入title,點擊Add SSH key即可
poYBAGLyE4uAbCGXAADdSupH6qI408.png

下載代碼

  • git clone “倉庫地址"
pYYBAGLyE4yAUA0OAABP_Lze-0s821.png

本地文件推送到遠(yuǎn)程倉庫

1、查詢狀態(tài)

  • git status

2、添加文件到緩存區(qū)

  • git add *

3、再次查詢狀態(tài)(文件由紅變成綠色,說明已轉(zhuǎn)移至緩存區(qū))

  • git status
pYYBAGLyE4yABU5BAABktsc4qQ0337.png

4、提交到本地倉庫

  • git commit -m "source"(”source“是注釋)

5、添加本地倉庫推送至遠(yuǎn)程倉庫的地址

  • git remote add origin +倉庫地址

6、核實遠(yuǎn)程倉庫地址

  • git remote -v

7、推送至遠(yuǎn)程倉庫

  • git push -u origin master
poYBAGLyE4yAFq5DAADxZmxabe8055.jpg

pYYBAGLyE42AC6EOAABnD1-0qlk178.png

注:上文提到的倉庫地址需要自行創(chuàng)建獲取。

pYYBAGLyE42ARh-4AABSAPrMgUY926.png

C語言編寫貪吃蛇程序

1、編寫代碼

  • vim tanchishe.c (使用vim工具編輯,進(jìn)入后按esc按鍵后再按i或者l切換編輯模式)
  • 編輯完成后,按下esc按鍵,再依次輸入:wq保存并推出
#include #include #include #include #include #include #include #include #include #define MOVEUP(x) printf("\033[%dA", (x)) static struct termios ori_attr,cur_attr;static inline int tty_reset();static inline int kbhit();static inline int tty_set();#define ROW_MAX 20#define COL_MAX 50#define SPEED_MAX 500#define SPEED_MIN 125#define SNAKELEN 3#define SNAKE_HEAD '@'#define SNAKE_BODY '#'#define FOOD '$'#define LEFT 'a'#define RIGHT 'd'#define UP 'w'#define DOWN 's'#define EAT_SPACE 1#define EAT_FOOD 2#define EAT_BODY 0char dc = '0';char bodyDc = '0'; float speed = SPEED_MAX ;//ms int snake_length = 0; int grade  = 1;  struct Location {     int row;     int col; };  typedef struct ske {     struct Location place;     struct ske *next; }Snake;  struct Location food; Snake *head = NULL;  char str[ROW_MAX][COL_MAX]; void Init_str();void Display();void Init_food();void Init_snake();void Wait_game();int Snake_move();void moveToUp();void moveToDown();void moveToLeft();void moveToRight();void snakeShow();void foodShow();void reDisplay();void GameOver();void addBody(int,int);void moveBody(int,int);void Delay();int isUpgrade();int Upgrade();void releaseSnake();void PrintRule(); int main() {     int again = 0;         do     {//printf("\033[2J");         int flag = 0;again = 0;         Init_str();         Init_snake();         Init_food();         Display();         Wait_game();         while(1)         {             flag = Snake_move() ;     if(flag == EAT_BODY)     {GameOver();     }             reDisplay();             Delay();                          if(isUpgrade())             {again = Upgrade();                      break;             }         }     }while( again == 1); }void PrintRule(){    printf("**************************************************\n");    printf("* 游戲規(guī)則:【@】表示蛇頭,【$】表示食物,【#】  *\n");    printf("* 表示蛇的身體。每吃到一個食物蛇的身體加長一個, *\n");    printf("* 吃到蛇身或撞到墻,則游戲結(jié)束                   *\n");    printf("* 按wsad可以控制蛇移動方向,分別表示上下左右方向 *\n");    printf("* 請按wsad鍵開始游戲                             *\n");    printf("**************************************************\n");}void GameOver(){    printf("Game Over!!!\n");    printf("you play %d grade,and score is :%d\n",grade,(grade-1)*2000+(snake_length-1)*100);    exit(1);}int Upgrade(){    if( speed <= SPEED_MIN)    {printf("Congratulations!!! you win.\n");exit(1);    }    else    { printf("Play next grade ? < y / n >\n");printf("Else press  to exit.\n ");grade ++ ;char ch ;do{    ch = getch();    ch = tolower(ch);    if(ch == 'y' )    {releaseSnake();snake_length = 0;speed /= 2;      return 1;    }    else if(ch == 'n')    {printf("Play this grade.\n");return 1;    }    else if(ch == 27)exit(1);}while(ch != 'y' || ch != 'n');    }}void releaseSnake(){    Snake *p = head;    while(head != NULL)     {p = head;head = head->next;free(p);    }}int isUpgrade(){    return snake_length == SNAKELEN ? 1:0;}void Delay(){    unsigned long int tick1 = clock();    char ch;    while(1000*(clock() - tick1 )/CLOCKS_PER_SEC <= speed)    {ch = control();ch = tolower(ch);if(ch == UP){    if(dc != DOWN)    {    dc = ch;        break;    }}else if(ch == DOWN){    if(dc != UP)    { dc = ch ;break;    }}else if( ch == LEFT){    if(dc != RIGHT)    {dc = ch;break;    }}else if(ch == RIGHT){    if(dc != LEFT)    { dc = ch;break;    }}    }}void addBody(int x, int y){    Snake *p = (Snake *)malloc(sizeof(Snake));    if(p == NULL)    {printf("Error!!!Apply Snake *p failed\n");exit(1);    }    p->place.row = x;    p->place.col = y;    p->next = head->next;    head->next = p;    snake_length ++;   }void foodShow(){    str[food.row][food.col] = FOOD;}void snakeShow(){    Snake *p = head;    while(p != NULL)    {if(p == head)    str[p->place.row][p->place.col] = SNAKE_HEAD ; else    str[p->place.row][p->place.col] = SNAKE_BODY ; p = p->next;     }}void reDisplay(){    Init_str();    foodShow();    snakeShow();     Display(); }int Snake_move(){    int x = head->place.row;    int y = head->place.col;    switch(dc)    {case UP :    if(dc != DOWN )moveToUp();    break;case DOWN :    if(dc != UP )moveToDown();    break;case LEFT :    if(dc != RIGHT )moveToLeft();    break;case RIGHT :    if(dc != LEFT)moveToRight();    break;    }    bodyDc = dc;    int i = head->place.row;    int j = head->place.col;    if(str[i][j] == SNAKE_BODY )    {return EAT_BODY;    }    else if(str[i][j] == FOOD )    {addBody(x,y);Init_food();return EAT_FOOD;    }    else if(str[i][j] == ' ')    {moveBody(x,y);return EAT_SPACE;    }}void moveBody(int x,int y){    Snake *p = head ,*pre = NULL;    if(head->next != NULL)    {while(p->next != NULL){       pre = p;    p = p->next; }if(pre != head){    p->place.row = x;    p->place.col = y;    p->next = head->next;    head->next = p;    pre->next  = NULL ;    }else{    p->place.row = x;    p->place.col = y;}    }}void moveToRight(){    int i = head->place.row;    int j = head->place.col;    dc = RIGHT ;    if(str[i][j+1] != '|')    {j++ ;    }    else      {GameOver();    }    head->place.row = i;    head->place.col = j;}void moveToLeft(){    int i = head->place.row;    int j = head->place.col;    dc = LEFT ;    if(str[i][j-1] != '|')    {j-- ;    }    else      {GameOver();    }    head->place.row = i;    head->place.col = j;}void moveToUp(){    int i = head->place.row;    int j = head->place.col;    dc = UP ;    if(str[i-1][j] != '-')    {i-- ;    }    else      {GameOver();    }    head->place.row = i;    head->place.col = j;}void moveToDown(){    int i = head->place.row;    int j = head->place.col;    dc = DOWN ;    if(str[i+1][j] != '-')    {i++ ;    }    else      {GameOver();    }    head->place.row = i;    head->place.col = j;}/*void moveToRight(){    int i = head->place.row;    int j = head->place.col;    dc = RIGHT ;    if(str[i][j+1] != '|')    {j++ ;    }*void moveToRight(){    int i = head->place.row;    int j = head->place.col;    dc = RIGHT ;    if(str[i][j+1] != '|')    {j++ ;    }*void moveToRight(){    int i = head->place.row;    int j = head->place.col;    dc = RIGHT ;    if(str[i][j+1] != '|')    {j++ ;    }    else      {j = 1;    }    head->place.row = i;    head->place.col = j;}void moveToLeft(){    int i = head->place.row;    int j = head->place.col;    if(str[i][j-1] !=  '|')    {dc = LEFT ;j--;    }    else    {dc = LEFT ;j = COL_MAX - 2;    }    head->place.row = i;    head->place.col = j;}void moveToDown(){    int i = head->place.row;    int j = head->place.col;    if(str[i+1][j] != '-')    {dc = DOWN ;i++;    }    else     {dc = DOWN ;i = 1;    }    head->place.row = i;    head->place.col = j;    }void moveToUp(){    int i = head->place.row;    int j = head->place.col;    if(str[i-1][j] != '-')    {dc = UP;i--;    }    else    {dc = UP ;i = ROW_MAX -2;    }    head->place.row = i;    head->place.col = j;}*/void Wait_game() {     char ch ;     do     {         ch = getch();         ch = tolower(ch);     }while(ch != UP && ch != DOWN && ch != LEFT && ch != RIGHT );     dc = ch;     bodyDc = dc; } void Init_food() {     unsigned long int seed = time(NULL);     srand(seed+1);     while(1)     {food.row = rand() % ( ROW_MAX - 2) + 1;food.col = rand() % ( COL_MAX - 2) + 1;Snake *p = head;int flag = 1;while(p != NULL){    if(food.row == p->place.row && food.col == p->place.col)    {flag = 0;break;    }    p = p->next;}if(flag == 1)     break;     }     str[food.row][food.col] = FOOD; } void Init_str() {     int i,j;     for(i=0;iplace.row = rand() % ( ROW_MAX - 2) + 1;head->place.col = rand() % ( COL_MAX - 2) + 1;head->next = NULL;str[head->place.row][head->place.col] = SNAKE_HEAD ;snake_length ++ ;     } } /***********   about string handle function  ***********/int control(){int flag = tty_set();int key = 0;if(kbhit())key = getchar();if(flag == 0)tty_reset();return key;}static inline int tty_reset(){if(tcsetattr(STDIN_FILENO,TCSANOW,&ori_attr) != 0)return -1;return 0;}static inline int tty_set(){if(tcgetattr(STDIN_FILENO,&ori_attr))return -1;memcpy(&cur_attr,&ori_attr,sizeof(cur_attr));cur_attr.c_lflag &= ~ICANON;cur_attr.c_lflag &= ~ECHO;cur_attr.c_cc[VMIN] = 1;cur_attr.c_cc[VTIME] = 0;if(tcsetattr(STDIN_FILENO,TCSANOW,&cur_attr) != 0)return -1;return 0;}static inline int kbhit(){fd_set rfds;struct timeval tv;int retval;FD_ZERO(&rfds);FD_SET(0,&rfds);tv.tv_sec = 0;tv.tv_usec = 0;retval = select(1,&rfds,NULL,NULL,&tv);if(retval == -1){perror("select()");return 0;}else if(retval)return 1;elsereturn 0;}int getch(void) {        int c=0;        struct termios org_opts, new_opts;        int res=0;        //-----  store old settings -----------        res=tcgetattr(STDIN_FILENO, &org_opts);        //---- set new terminal parms --------        memcpy(&new_opts, &org_opts, sizeof(new_opts));        new_opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOKE | ICRNL);        tcsetattr(STDIN_FILENO, TCSANOW, &new_opts);        c=getchar();            //------  restore old settings ---------        res=tcsetattr(STDIN_FILENO, TCSANOW, &org_opts);        return c;}

2、編譯代碼

  • gcc tanchishe.c
poYBAGLyE4yAGTQOAADgSFw9c5U314.png

3、運行代碼

  • ./a.out
poYBAGLyE42AYr-gAACauv24qZ0059.png

小結(jié):

經(jīng)過了幾周的試用,剛開始的時候固件可能還未完善,個別功能無法開啟或例程無法使用,折騰了我好幾天,這在后面的維護(hù)更新后都得到了解決。這里給地平線的工作人員點個贊,遇到問題他們會熱心的解答,出現(xiàn)異常時也有及時處理。總體來說,旭日X3派是一塊面向入門嵌入式非常不錯的開發(fā)板,X3派具有不錯的處理與易于擴(kuò)展的能力,可以滿足嵌入式的低功耗、無線連接和安全等特性。

本文轉(zhuǎn)自地平線開發(fā)者社區(qū)

原作者:Zeee

原鏈接:https://developer.horizon.ai/forumDetail/98129540173361632

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30758

    瀏覽量

    268903
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47206

    瀏覽量

    238278
  • 地平線
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    14943
收藏 人收藏

    評論

    相關(guān)推薦

    地平線榮獲比亞迪“最佳合作伙伴獎”

    近日,比亞迪舉辦2024年比亞迪新能源汽車核心供應(yīng)商大會。在此次大會上,地平線榮獲“最佳合作伙伴獎”,成為唯一獲得該殊榮的智駕方案供應(yīng)商。該獎項高度肯定了地平線在智駕技術(shù)和量產(chǎn)能力方面的突出貢獻(xiàn)。地平線創(chuàng)始人兼CEO余凱受邀出席
    的頭像 發(fā)表于 11-06 14:15 ?373次閱讀

    智駕科技企業(yè)地平線登陸港交所

    近日,智駕科技企業(yè)地平線地平線機(jī)器人-W,股票代碼:9660.HK)在香港交易所主板成功掛牌上市,募資總額高達(dá)54.07億港元,成為港股今年最大的科技IPO。
    的頭像 發(fā)表于 10-28 16:37 ?269次閱讀

    ETAS支持地平線征程6 AUTOSAR版本發(fā)布

    地平線于2024年北京車展期間推出了覆蓋自動駕駛?cè)珗鼍暗恼鞒?產(chǎn)品。征程6是地平線新一代家族系列產(chǎn)品,能夠覆蓋從主動安全ADAS到城區(qū)全場景NOA的智能駕駛需求。
    的頭像 發(fā)表于 10-15 17:34 ?695次閱讀

    智駕科技企業(yè)地平線通過港交所聆訊 IPO進(jìn)入倒計時

    10月8日,中國智能駕駛軟硬一體化方案地平線迎來IPO的最新進(jìn)展:港交所網(wǎng)站掛出地平線PHIP版招股書,這意味著智駕科技企業(yè)地平線(Horizon Robotics)正式通過港交所聆訊,即將踏入港股市場。根據(jù)網(wǎng)站掛出的信息顯示,
    的頭像 發(fā)表于 10-09 10:05 ?4152次閱讀
    智駕科技企業(yè)<b class='flag-5'>地平線</b>通過港交所聆訊 IPO進(jìn)入倒計時

    地平線Journey 3的電源設(shè)計

    電子發(fā)燒友網(wǎng)站提供《地平線Journey 3的電源設(shè)計.pdf》資料免費下載
    發(fā)表于 09-04 10:48 ?0次下載
    <b class='flag-5'>地平線</b>Journey <b class='flag-5'>3</b>的電源設(shè)計

    地平線技術(shù)開放日:余凱勾勒智能駕駛新藍(lán)圖

    在8月28日的地平線技術(shù)開放日上,公司創(chuàng)始人兼CEO余凱以高調(diào)的姿態(tài),詳細(xì)闡述了地平線在智能駕駛領(lǐng)域的雄心壯志與商業(yè)邏輯。他不僅重申了地平線的定位,還明確了SuperDrive智能駕駛解決方案的標(biāo)桿地位,并強(qiáng)調(diào)了軟件在芯片公司生
    的頭像 發(fā)表于 08-30 14:33 ?1144次閱讀

    地平線港股IPO獲證監(jiān)會備案

    自動駕駛領(lǐng)域的明星企業(yè)——地平線機(jī)器人(Horizon Robotics),近期獲得了中國證監(jiān)會的批準(zhǔn),將在香港聯(lián)合交易所進(jìn)行首次公開募股(IPO)。此次IPO的順利推進(jìn),標(biāo)志著地平線向資本市場邁出了重要一步。
    的頭像 發(fā)表于 08-13 15:37 ?688次閱讀

    智能駕駛頭部企業(yè)地平線赴港IPO

    地平線向港交所遞交了上市申請,正式啟動港股IPO進(jìn)程,這一行動引起了市場的廣泛關(guān)注。在此次上市過程中,高盛、摩根士丹利以及中信建投共同擔(dān)任聯(lián)席保薦人,為地平線的上市之路提供了強(qiáng)大的支持。
    的頭像 發(fā)表于 03-28 16:45 ?854次閱讀

    地平線提交香港IPO申請

    智能駕駛計算方案提供商“地平線”正式遞交港股上市申請。據(jù)其公開文件,地平線在2023年實現(xiàn)了15.5億元的營收,同比顯著增長71.3%,毛利達(dá)到10.94億元,毛利率高達(dá)70.5%。
    的頭像 發(fā)表于 03-27 16:11 ?720次閱讀

    地平線向港交所遞交招股書

    智能駕駛計算方案領(lǐng)軍者地平線,近日正式向港交所遞交了招股書,高盛、摩根士丹利及中信建投為其聯(lián)席保薦人。這并非地平線首次試水資本市場,早在2021年,地平線就計劃科創(chuàng)板上市,并一度傳出赴美IPO的消息,但受資本市場環(huán)境影響,其上市
    的頭像 發(fā)表于 03-27 16:02 ?560次閱讀

    地平線正式開源Sparse4D算法

    地平線將業(yè)內(nèi)領(lǐng)先的純視覺自動駕駛算法——Sparse4D系列算法開源,推動行業(yè)更多開發(fā)者共同參與到端到端自動駕駛、稀疏感知等前沿技術(shù)方向的探索中。目前,Sparse4D算法已在GitHub平臺上線,開發(fā)者可關(guān)注地平線GitHub官方賬號“Horizon Robotics”
    的頭像 發(fā)表于 01-23 10:18 ?767次閱讀

    基于51單片機(jī)的貪吃蛇游戲設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的貪吃蛇游戲設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 10:00 ?0次下載

    基于51單片機(jī)的貪吃蛇設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的貪吃蛇設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 09:53 ?14次下載

    基于51單片機(jī)的貪吃蛇設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的貪吃蛇設(shè)計.rar》資料免費下載
    發(fā)表于 01-03 10:26 ?0次下載

    基于51單片機(jī)的貪吃蛇游戲設(shè)計

    基于51單片機(jī)的貪吃蛇游戲設(shè)計(仿真+實物)
    發(fā)表于 01-02 09:38 ?4次下載
    主站蜘蛛池模板: 色久久一个亚洲综合网| 诱咪视频免费| 超碰在线视频| 久久这里有精品| 小SAO货边洗澡边CAO你动漫| DASD-700美谷朱里| 久久精品一本到东京热| 小草高清视频免费直播| 成人免费在线| 嫩草影院未满十八岁禁止入内| 亚洲人成电影网站色2017| 东日韩二三区| 欧美成人一区二免费视频 | 亚洲aaaa级特黄毛片| xiao77唯美清纯| 噜妇插内射精品| 幺妹视频福利视频| 国产在线亚洲精品观看不卡| 睡觉被偷偷进入magnet| YELLOW日本动漫免费动漫| 免费毛片在线视频| 在线观看视频中文字幕| 九九九色成人网| 亚洲精品国产一区二区贰佰信息网| 闺蜜撬开我的腿用黄瓜折磨我| 欧美另类jizzhd| 99国产精品人妻无码免费| 久久毛片网站| 一个人免费观看在线视频播放 | 青娱乐极品视觉盛宴av| 0855福利| 老司机午夜影院试看区| 真人裸交有声性动态图| 久久久精品久久久久特色影视| 亚洲精品久久久午夜福利电影网| 国产精品亚洲第一区二区三区| 三级中国免费的| 俄罗斯XBXBXB兽交| 色悠久久久久综合网小说| 豆奶视频在线高清观看| 日日操日日射|