• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            c語(yǔ)言編程(c語(yǔ)言編程入門(mén)自學(xué))

            更新時(shí)間:2023-03-01 12:59:32 閱讀: 評(píng)論:0

            思路分析:

            (1)使用該函數(shù)首先應(yīng)在開(kāi)頭包含頭文件stdlib.h

            #include<stdlib.h>(C++建議使用#include<cstdlib>,下同)

            (2)在標(biāo)準(zhǔn)的C庫(kù)中函數(shù)rand()可以生成0~RAND_MAX之間的一個(gè)隨機(jī)數(shù),其中RAND_MAX是stdlib.h 中定義的一個(gè)整數(shù),它與系統(tǒng)有關(guān)。

            (3)rand()函數(shù)沒(méi)有輸入?yún)?shù),直接通過(guò)表達(dá)式rand()來(lái)引用;例如可以用下面的語(yǔ)句來(lái)打印兩個(gè)隨機(jī)數(shù):

            printf(“Random numbers are: %i %i ”,rand(),rand());

            (4)因?yàn)閞and()函數(shù)是按指定的順序來(lái)產(chǎn)生整數(shù),因此每次執(zhí)行上面的語(yǔ)句都打印相同的兩個(gè)值,所以說(shuō)C語(yǔ)言的隨機(jī)并不是真正意義上的隨機(jī),有時(shí)候也叫偽隨機(jī)數(shù)。

            (5)為了使程序在每次執(zhí)行時(shí)都能生成一個(gè)新序列的隨機(jī)值,我們通常通過(guò)為隨機(jī)數(shù)生成器提供一粒新的隨機(jī)種子。函數(shù)srand()(來(lái)自stdlib.h)可以為隨機(jī)數(shù)生成器播散種子。只要種子不同rand()函數(shù)就會(huì)產(chǎn)生不同的隨機(jī)數(shù)序列。srand()稱(chēng)為隨機(jī)數(shù)生成器的初始化器。

            修改部分及bug:

            1.速度值反show函數(shù)及操作中的bug

            2.源代碼注釋

            3.新增最高紀(jì)錄變量

            源碼展示:(CSDN:Shawn Hou)

            #include <windows.h>#include <stdlib.h>#include <conio.h>#include <time.h>#include <cstring>#include <cstdio>#include <iostream>#define N 25using namespace std;int gameover;//游戲失敗的值int x1, y1; // 隨機(jī)生成食物的坐標(biāo)int x,y;int record=0; //當(dāng)前用戶(hù)最高紀(jì)錄long start;//下面定義貪吃蛇的坐標(biāo)類(lèi)class snake_position{public:int x,y;snake_position(){};void initialize(int &);//坐標(biāo)初始化};snake_position position[(N-2)*(N-2)+1]; //定義貪吃蛇坐標(biāo)類(lèi)數(shù)組,有(N-2)*(N-2)個(gè)坐標(biāo)void snake_position::initialize(int &j){x = 1;y = j;}//下面定義貪吃蛇的棋盤(pán)圖class snake_map{private:char s[N][N];//定義貪吃蛇棋盤(pán),包括墻壁。int grade, length;int gamespeed; //前進(jìn)時(shí)間間隔char direction; // 初始情況下,向右運(yùn)動(dòng)int head,tail;//頭和尾int score;//分?jǐn)?shù)bool gameauto;public:snake_map(int h=4,int t=1,int l=4,char d=77,int s=0):length(l),direction(d),head(h),tail(t),score(s){}void initialize(); //初始化函數(shù)void show_game();int updata_game();void tpoint();void getgrade();void display();};//定義初始化函數(shù),將貪吃蛇的棋盤(pán)圖進(jìn)行初始化void snake_map::initialize(){int i,j;for(i=1;i<=3;i++)s[1][i] = '*';s[1][4] = '#';for(i=1;i<=N-2;i++)for(j=1;j<=N-2;j++)s[i][j]=' '; // 初始化貪吃蛇棋盤(pán)中間空白部分for(i=0;i<=N-1;i++)s[0][i] = s[N-1][i] = '+'; //初始化貪吃蛇棋盤(pán)上下墻壁for(i=1;i<=N-2;i++)s[i][0] = s[i][N-1] = '+'; //初始化貪吃蛇棋盤(pán)左右墻壁}//============================================//輸出貪吃蛇棋盤(pán)信息void snake_map::show_game(){system("cls"); // 清屏int i,j;cout << endl;for(i=0;i<N;i++){cout << ' ';for(j=0;j<N;j++)cout<<s[i][j]<<' '; // 輸出貪吃蛇棋盤(pán)if(i==2) cout << " 等級(jí):" << grade;if(i==6) cout << " 得分:" << score << "分" ;if(i==10) cout<<" 最高紀(jì)錄:"<<record<<"分" ;if(i==14) cout << " 暫停:按一下空格鍵" ;if(i==18) cout << " 繼續(xù):按兩下空格鍵" ;if(i==20) cout<<" 提示:按住方向鍵可以加速,分?jǐn)?shù)計(jì)算公式為個(gè)數(shù)*等級(jí)" ;if(i==24) cout<<" 非空格鍵結(jié)束游戲" ;cout<<endl;}}//輸入選擇等級(jí)void snake_map::getgrade(){cin>>grade;while( grade>7 || grade<1 ){cout << "請(qǐng)輸入數(shù)字1-7選擇等級(jí)" << endl;cin >> grade;}switch(grade){ca 1: gamespeed = 1000;gameauto = 0;break;ca 2: gamespeed = 800;gameauto = 0;break;ca 3: gamespeed = 600;gameauto = 0;break;ca 4: gamespeed = 400;gameauto = 0;break;ca 5: gamespeed = 200;gameauto = 0;break;ca 6: gamespeed = 100;gameauto = 0;break;ca 7: grade = 1;gamespeed = 1000;gameauto = 1;break;}}//輸出等級(jí),得分情況以及稱(chēng)號(hào)void snake_map::display(){cout << " 等級(jí):" << grade;cout << " 得分:" << score << "分" ;cout << " 最高紀(jì)錄:"<<record<<"分" ;cout << " www.omegaxyz.com";}//隨機(jī)產(chǎn)生米void snake_map::tpoint(){srand(time(0));do{x1 = rand() % (N-2) + 1;y1 = rand() % (N-2) + 1;}while(s[x1][y1]!=' ');s[x1][y1]='*';}char key;int snake_map::updata_game(){gameover = 1;key = direction;start = clock();while((gameover=(clock()-start<=gamespeed))&&!kbhit());//如果有鍵按下或時(shí)間超過(guò)自動(dòng)前進(jìn)時(shí)間間隔則終止循環(huán)if(gameover){getch();key = getch();}if(key == ' '){while(getch()!=' '){};//這里實(shí)現(xiàn)的是按空格鍵暫停,按空格鍵繼續(xù)的功能,但不知為何原因,//需要按兩下空格才能繼續(xù)。這是個(gè)bug。}eldirection = key;switch(direction){ca 72: x= position[head].x-1; y= position[head].y;break; // 向上ca 80: x= position[head].x+1; y= position[head].y;break; // 向下ca 75: x= position[head].x; y= position[head].y-1;break; // 向左ca 77: x= position[head].x; y= position[head].y+1; // 向右}if(!(direction==72||direction==80||direction==75 ||direction==77))// 按鍵非方向鍵gameover = 0;el if(x==0 || x==N-1 ||y==0 || y==N-1) // 碰到墻壁gameover = 0;el if(s[x][y]!=' '&&!(x==x1&&y==y1)) // 蛇頭碰到蛇身gameover = 0;el if(x==x1 && y==y1){ // 吃米,長(zhǎng)度加1length ++;if(length>=8 && gameauto){length -= 8;grade ++;if(gamespeed>=200)gamespeed -= 200; // 改變貪吃蛇前進(jìn)速度elgamespeed = 100;}s[x][y]= '#'; //更新蛇頭s[position[head].x][position[head].y] = '*'; //吃米后將原先蛇頭變?yōu)樯呱韍ead = (head+1) % ( (N-2)*(N-2) ); //取蛇頭坐標(biāo)position[head].x = x;position[head].y = y;show_game();gameover = 1;score += grade*1; //加分if(snake_map::score>record)record=score;tpoint(); //產(chǎn)生米}el{ // 不吃米s[position[tail].x][position[tail].y]=' ';//將蛇尾置空tail= (tail+1) % ( (N-2) * (N-2) );//更新蛇尾坐標(biāo)s[position[head].x][position[head].y]='*'; //將蛇頭更為蛇身head= (head+1) % ( (N-2) * (N-2) );position[head].x = x;position[head].y = y;s[position[head].x][position[head].y]='#'; //更新蛇頭gameover = 1;}return gameover;}//====================================//主函數(shù)部分//====================================int main(){char ctn = 'y';int nodead;cout<<" -----------------------------------------------------";cout<<" 貪吃蛇"<<endl;cout<<" 感謝Shawn Hou提供源代碼"<<endl;cout<<" xyjigsaw修改"<<endl;cout<<" 修改內(nèi)容: 1.速度bug 2.隨機(jī)生成選擇的固定性 3.源代碼注釋 4.新增最高紀(jì)錄變量"<<endl;cout<<" 空格暫停問(wèn)題未優(yōu)化,請(qǐng)大家指正"<<endl;cout<<" 按任意鍵開(kāi)始----->>"<<endl;cout<<" www.omegaxyz.com";cout<<" -----------------------------------------------------"<<endl;getch();while( ctn=='y' ){system("cls");snake_map snake;snake.initialize();cout << " 請(qǐng)選擇游戲等級(jí):" << endl;cout << " 1.辣雞:速度 100 2.菜鳥(niǎo):速度 200 3.入門(mén):速度 400 ";cout << " 4.中等:速度 600 5.較快:速度 800 6.飛:速度 1000 7.隨機(jī)" << endl;snake.getgrade();//獲取等級(jí)for(int i=1;i<=4;i++){position[i].initialize(i);//初始化坐標(biāo)}snake.tpoint(); // 產(chǎn)生第一個(gè)食物do{snake.show_game();nodead = snake.updata_game();}while(nodead);system("cls"); //清屏cout<<" -----------------------------------------";cout << " Gameover! "<<endl;snake.display();//輸出等級(jí)/得分情況cout << " 是否繼續(xù)?輸入 y 繼續(xù),n 退出"<<endl;cout<<" -----------------------------------------"<<endl;cin >> ctn;}return 0;}

            效果展示:

            希望對(duì)大家有幫助,有什么C/C++學(xué)習(xí)上的問(wèn)題也可以來(lái)和我交流!

            寫(xiě)在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開(kāi)始!

            編程學(xué)習(xí)書(shū)籍分享:

            編程學(xué)習(xí)視頻分享:

            整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)

            歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

            對(duì)于C/C++感興趣可以關(guān)注小編在后臺(tái)私信我:【編程交流】一起來(lái)學(xué)習(xí)哦!可以領(lǐng)取一些C/C++的項(xiàng)目學(xué)習(xí)視頻資料哦!已經(jīng)設(shè)置好了關(guān)鍵詞自動(dòng)回復(fù),自動(dòng)領(lǐng)取就好了!

            本文發(fā)布于:2023-02-28 19:58:00,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167764677273019.html

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:c語(yǔ)言編程(c語(yǔ)言編程入門(mén)自學(xué)).doc

            本文 PDF 下載地址:c語(yǔ)言編程(c語(yǔ)言編程入門(mén)自學(xué)).pdf

            標(biāo)簽:語(yǔ)言   入門(mén)
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫(xiě)作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類(lèi)寶庫(kù)! 優(yōu)秀范文|法律文書(shū)|專(zhuān)利查詢(xún)|
            主站蜘蛛池模板: 韩国美女福利视频在线观看| 国产综合色产在线视频欧美| 四虎国产精品成人免费久久| 免费无遮挡毛片中文字幕| 国产精品久久久久无码网站| 亚洲成亚洲成网中文字幕| 一 级做人爱全视频在线看| 国产精品久久香蕉免费播放| 久青草视频在线视频在线| 国产日韩精品一区二区在线观看播放 | 日韩精品视频精品视频| 69天堂人成无码免费视频| 国产自偷亚洲精品页65页| 欧美丝袜高跟鞋一区二区| 国色天香成人一区二区| 亚洲va欧美va国产综合| 亚洲熟女精品一区二区| 性夜影院爽黄e爽| 亚洲国产欧美在线看片一国产 | 2020国产成人精品视频| 亚洲高清乱码午夜电影网| 欧美国产综合视频| 国产猛男猛女超爽免费视频| 国产永久免费高清在线观看| 久久亚洲欧美日本精品| 亚洲码和欧洲码一二三四| 在线高清理伦片a| 色综合热无码热国产| 日本不卡的一区二区三区| 亚洲人成网网址在线看| 97亚洲色欲色欲综合网| 国产免费午夜福利在线观看| 免费无码高H视频在线观看| 国产精品久久国产丁香花| 国产亚洲AV电影院之毛片| 亚洲一区二区精品动漫| 91精品国产午夜福利| 中文字幕日韩有码一区| 亚洲一二区在线视频播放| 日本做受高潮好舒服视频 | 少妇和邻居做不戴套视频|