日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

项目: 用c++写一个养成类的游戏【QQ宠物】

發布時間:2025/3/20 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目: 用c++写一个养成类的游戏【QQ宠物】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 前言
  • 效果和代碼

前言

用c++寫了一個類似與QQ寵物的養成類游戲,不過更像精武堂。
它是一個文字類的養成類游戲。

效果和代碼

效果圖如下:

/************************************************ 項目名稱: QQ寵物 項目介紹: 寵物養成類游戲 游戲說明: 你做為一個小企鵝,在爸爸的帶領下 完成歷練提高自己的修為。 ************************************************/ #include<iostream> #include<iomanip> #include<windows.h> #include<ctime> #include <string> #include<vector> #include<algorithm> #include <conio.h> #include<mmsystem.h> #pragma comment(lib,"Winmm.lib") using namespace std; /************************************************/ /************************************************/ int i,j;//循環變量 char choice;//選擇 int money=500;//金錢 int level=0;//等級 string value_father_name;//父親的姓名 string value_daughter_name; //女兒的姓名 int value_birth_month;//女兒生日的月份 int value_birth_date; //女兒生日的日期 string value_daughter_constell;//女兒的星座 int value_daughter_baseinfo[5];//女兒的基本信息,體力,智力,魅力,道德,氣質 string value_array_baseinfo_names[5]={"體力","智力","魅力","道德","氣質"}; string constell_names[12][2]={{"山羊座","水瓶座"},//一月 {"水瓶座","雙魚座"},//二月{"雙魚座","白羊座"},//三月{"白羊座","金牛座"},//四月{"金牛座","雙子座"},//五月{"雙子座","巨蟹座"},//六月{"巨蟹座","獅子座"},//七月 {"獅子座","處女座"},//八月{"處女座","天秤座"},//九月{"天秤座","天蝎座"},//十月{"天蝎座","射手座"},//十一月{"射手座","山羊座"}//十二月 }; int constell_dates[]={20,19,21,20,21,22,23,23,23,24,23,22}; /************************************************/ /************************************************/ void people_menu()//游戲設置 {system("title QQ寵物");system("mode 40,25"); srand(time(NULL));mciSendString("open 背景.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); //循環播放音樂 } void big_menu()//大的游戲菜單 {system("cls");cout<<"\n\n\n\n\n\n";cout<<" 1、查看狀態\n\n";cout<<" 2、安排行程\n\n";cout<<" 3、與父親談話\n\n";cout<<" 4、存檔\n\n";cout<<" 5、讀檔\n\n";cout<<" 6、幫助\n";mciSendString("stop bkmusic", NULL, 0, NULL);mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 背景.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); //循環播放音樂 } void game()//游戲加載界面 {system("cls");int i,j;for(i=1;i<=29;i++){system("cls");cout<<"\n\n\n\n\n\n\n\n\n人物加載中";for(j=1;j<=i;j++){cout<<"-";Sleep(5);}}cout<<"\n\n 人物初始化完成\n";printf("\a");Sleep(350); system("cls"); } void color(WORD c);//控制輸出字體屬性(字體顏色) void kongge(int sum);//循環打印空格 void chars(int sum);//循環打印制定字符(為了效果好一些我用了'#') void print_linux();//打印Linux系統圖標函數void color(WORD c) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);//設置控制臺輸出字體顏色值為c的值 }//循環打印空格函數 void kongge(int sum) {while (sum--)//循環sum次printf(" ");//打印空格 }//循環打印字符 void chars(int sum) {while (sum--)//循環sum次printf("#");//打印#號 }void print_start() {system("time /t");system("date /t");cout<<endl; /*第一行*/kongge(17);chars(6);//打印6個#號printf("\n");//會車/*第二行*/kongge(15);chars(11);printf("\n");/*第三行*/kongge(14);chars(13);printf("\n");/*第四行*/kongge(14);chars(2);color(0x04);//紅chars(3);color(0x07);//黑底白色字體chars(2);color(0x04);//白色chars(3);color(0x07);//黑底白色字體chars(3);printf("\n");/*第五行*/kongge(14);chars(2);color(0x04);//紅色chars(1);color(0x07);//黑底白色字體chars(1);color(0x04);//紅色chars(1);color(0x07);//黑底白色字體chars(2);color(0x04);//紅色chars(1);color(0x07);//黑底白色字體chars(1);color(0x04);//紅色chars(1);color(0x07);//黑底白色字體chars(3);printf("\n");/*第六行*/kongge(14);color(0x07);//黑底白色字體chars(4);color(0x06);//黃色chars(4);color(0x07);//黑底白色字體chars(5);printf("\n");/*第七行*/kongge(14);color(0x07);//黑底白色字體chars(2);color(0x06);//黃色chars(8);color(0x07);//黑底白色字體chars(3);printf("\n");/*第八行*/kongge(13);chars(3);color(0x08);//灰色chars(2);color(0x06);//黃色chars(4);color(0x08);//灰色chars(2);color(0x07);//黑色chars(4);printf("\n");/*第九行*/kongge(12);color(0x07);//黑底白色字體chars(2);color(0x02);//綠色chars(11);color(0x07);//黑底白色字體chars(4);printf("\n");/*第十行*/kongge(11);chars(2);color(0x02);//綠色chars(13);color(0x07);//黑底白色字體chars(4);printf("\n");/*第十一行*/kongge(10);chars(3);color(0x02);//綠色chars(13);color(0x07);//黑底白色字體chars(5);printf("\n");/*第十二行*/kongge(9);chars(3);color(0x02);//綠色chars(15);color(0x07);//黑底白色字體chars(5);printf("\n");/*第十三行*/kongge(8);chars(3);color(0x02);//綠色chars(16);color(0x07);//黑底白色字體chars(5);printf("\n");/*第十四行*/kongge(7);chars(4);color(0x02);//綠色chars(16);color(0x07);//黑底白色字體chars(5);printf("\n");/*第十五行*/kongge(7);chars(1);color(0x06);//黃色chars(2);color(0x07);//黑底白色字體chars(1);color(0x02);//綠色chars(14);color(0x02);//黃色chars(2);color(0x07);//黑底白色字體chars(4);color(0x06);//黃色chars(1);printf("\n");/*第十六行*/kongge(7);color(0x06);//黃色chars(4);color(0x07);//黑底白色字體chars(1);color(0x02);//綠色chars(13);color(0x06);//黃色chars(3);color(0x07);//黑底白色字體chars(2);color(0x06);//黃色chars(2);printf("\n");/*第十七行*/kongge(6);color(0x06);//黃色chars(5);color(0x07);//黑底白色字體chars(2);color(0x02);//綠色chars(10);color(0x07);//黑底白色字體chars(1);color(0x06);//黃色chars(9);printf("\n");/*第十八行*/kongge(2);color(0x06);//黃色chars(9);color(0x7);//黑底白色字體chars(1);color(0x02);//綠色chars(9);color(0x07);//黑底白色字體chars(2);color(0x06);//黃色chars(11);printf("\n");/*第十九行*/kongge(5);color(0x06);//黃色chars(8);color(0x07);//黑底白色字體chars(1);color(0x02);//綠色chars(6);color(0x07);//黑底白色字體chars(3);color(0x06);//黃色chars(10);printf("\n");/*第二十行*/kongge(3);color(0x06);//黃色chars(11);color(0x07);//黑底白色字體chars(9);color(0x06);//黃色chars(6);printf("\n");/*第二十一行*/kongge(9);color(0x06);//黃色chars(4);color(0x07);//黑底白色字體chars(11);color(0x06);//黃色chars(3);printf("\n");color(0x06);//黃色 } void choise_1() {char a;system("cls");cout<<"\n\n你的信息: "<<endl;cout<<"姓名: "<<value_daughter_name<<" 等級 : "<<level<<endl;printf("\n");cout<<"生日: 1988-"<<value_birth_month<<"-"<<value_birth_date<<endl;printf("\n");cout<<"星座: "<<value_daughter_constell<<endl; printf("\n");cout<<left;for(i=0;i<5;i++){cout<<value_array_baseinfo_names[i]<<" : "<<setw(2)<<value_daughter_baseinfo[i];//計算實心方框的數量int solidCount=value_daughter_baseinfo[i]/10;if(value_daughter_baseinfo[i]%10>=5)//四舍五入 {solidCount++;}for(j=0;j<10;j++) {if((j+1)<=solidCount)cout<<"■"; elsecout<<"□"; }cout<<endl<<endl;}cout<<"金錢:"<<money<<endl<<endl; cout<<"按任意鍵回到主菜單"; a=getch();system("cls"); }void choise_2_1() {int i=0;int w,d;char a;system("cls");w=rand()%5+1;d=rand()%2+1;if(money>=60){cout<<"\n\n經過一段時間的練武,你有了很大的進步"<<endl<<endl;cout<<"\n屬性發生了如下變化:"<<endl<<endl;cout<<" 體力 : "<<value_daughter_baseinfo[0]<<"----->"<<value_daughter_baseinfo[0]+w;printf("\n\n");cout<<" 道德 : "<<value_daughter_baseinfo[3]<<"----->"<<value_daughter_baseinfo[3]+d;printf("\n\n");value_daughter_baseinfo[0]+=w;value_daughter_baseinfo[3]+=d;money=money-60;cout<<"學習武術你花費了60金幣"<<endl<<endl;}else{cout<<" \n\n\n你的金錢不足!\n";}cout<<"\n 按任何鍵返回上一菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 1練武.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); } void choise_2_2() {int i=0;int n1,n2,n3,n4,n5;char a;system("cls");n1=rand()%2+1;n2=rand()%4+1;n3=rand()%1+1;n4=rand()%3+1;n5=rand()%2+1;if(money>=200){cout<<"\n\n經過一段時間的學習,你有了很大的進步"<<endl<<endl;cout<<"\n屬性發生了如下變化:"<<endl<<endl;cout<<" 體力 : "<<value_daughter_baseinfo[0]<<"----->"<<value_daughter_baseinfo[0]+n1;printf("\n\n");cout<<" 智力 : "<<value_daughter_baseinfo[1]<<"----->"<<value_daughter_baseinfo[1]+n2;printf("\n\n");cout<<" 魅力 : "<<value_daughter_baseinfo[2]<<"----->"<<value_daughter_baseinfo[2]+n3;printf("\n\n");cout<<" 道德 : "<<value_daughter_baseinfo[3]<<"----->"<<value_daughter_baseinfo[3]+n4;printf("\n\n");cout<<" 氣質 : "<<value_daughter_baseinfo[4]<<"----->"<<value_daughter_baseinfo[4]+n5;printf("\n\n");value_daughter_baseinfo[0]+=n1;value_daughter_baseinfo[1]+=n2;value_daughter_baseinfo[2]+=n3;value_daughter_baseinfo[3]+=n4;value_daughter_baseinfo[4]+=n5;money=money-200;cout<<"上學你花費了200金幣"<<endl<<endl;}else{cout<<" \n\n\n你的金錢不足!\n";}cout<<"\n 按任何鍵返回上一菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 2背書.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); } void choise_2_3() {int i=0;int w,d;char a;system("cls");w=rand()%4+1;d=rand()%3+1;if(money>=100){cout<<"\n\n經過一段時間禮法的學習,你有了很大的進步"<<endl<<endl;cout<<"\n屬性發生了如下變化:"<<endl<<endl;cout<<" 氣質 : "<<value_daughter_baseinfo[4]<<"----->"<<value_daughter_baseinfo[4]+w;printf("\n\n");cout<<" 道德 : "<<value_daughter_baseinfo[3]<<"----->"<<value_daughter_baseinfo[3]+d;printf("\n\n");value_daughter_baseinfo[4]+=w;value_daughter_baseinfo[3]+=d;money=money-100;cout<<"學習禮儀你花費了100金幣"<<endl<<endl;}else{cout<<" \n\n\n你的金錢不足!\n";}cout<<"\n 按任何鍵返回上一菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 3禮儀.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); } void choise_2_4() {int i=0;int w,d;char a;system("cls");w=rand()%2+1;d=rand()%3+1;if(money>=80){cout<<"\n\n出城修煉的一路,你斬妖除魔。"<<endl<<endl;cout<<"\n屬性發生了如下變化:"<<endl<<endl;cout<<" 體力 : "<<value_daughter_baseinfo[0]<<"----->"<<value_daughter_baseinfo[0]+w;printf("\n\n");cout<<" 魅力 : "<<value_daughter_baseinfo[2]<<"----->"<<value_daughter_baseinfo[2]+d;printf("\n\n");value_daughter_baseinfo[0]+=w;value_daughter_baseinfo[2]+=d;money=money-80;cout<<"修行的路上你花費了80金幣"<<endl<<endl;}else{cout<<" \n\n\n你的金錢不足!\n";}cout<<"\n 按任何鍵返回上一菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 4武打.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); } void choise_2_5() {char a;int b;b=rand()%100+20;system("cls");cout<<"\n\n經過一段時間的打工-------"<<endl<<endl;cout<<"你獲得了"<<b<<"金錢"<<endl<<endl; money=money+b;cout<<"\n 按任何鍵返回上一菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 5工作.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); } void choise_2() {char a;system("cls");while(1){ mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL); printf("\n\n\n\n");cout<<" 1.學習武藝"<<endl<<endl<<endl;cout<<" 2.上私塾"<<endl<<endl<<endl;cout<<" 3.學習禮法"<<endl<<endl<<endl;cout<<" 4.出城修煉"<<endl<<endl<<endl;cout<<" 5.打工賺錢"<<endl<<endl<<endl; cout<<"請選擇(按z回到主菜單):";//cin<<choice;//這里需要注意沒錢的情況,強制打工 a=getch();switch(a){case '1':choise_2_1();break;case '2':choise_2_2();break; case '3':choise_2_3();break;case '4':choise_2_4();break; case '5':choise_2_5();break;}if(a=='z')break;system("cls");}system("cls"); }void choise_3(string value_daughter_name) {int a;int i=0; char b;system("cls");a=rand()%100;mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 交談.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); //循環播放音樂 if(a<=30) {cout<<"\n\n\n\n父親 : "<< value_daughter_name<<"你最近干的不錯"<<endl<<endl;cout<<" 謝謝父親大人:你"<<endl<<endl;cout<<"......."<<endl<<endl; cout<<"\n在與父親的談話中你獲得了100零花錢"<<endl;money=money+100; }if(a>30&&a<=80) {cout<<"\n\n\n\n父親 : "<< value_daughter_name<<"你要好好學習"<<endl<<endl;cout<<" 知道了:你"<<endl<<endl;cout<<"父親 : "<< value_daughter_name<<"你的態度要端正"<<endl<<endl;cout<<" 額額:你"<<endl<<endl;cout<<"......."<<endl<<endl; cout<<"\n你與父親談論的不愉快"<<endl<<endl;cout<<"道德-5 氣質-3"<<endl<<endl;if(value_daughter_baseinfo[3]>=5)value_daughter_baseinfo[3]-=5;elsevalue_daughter_baseinfo[3]=0;if(value_daughter_baseinfo[4]>=3)value_daughter_baseinfo[4]-=3;elsevalue_daughter_baseinfo[4]=0;}if(a>80) {cout<<"\n\n\n父親 : "<< value_daughter_name<<"最近看了一首歌挺不錯的。"<<endl<<endl;cout<<"父親 : "<<"23歲的九局下半轉啊轉,"<<endl<<endl;cout<<"父親 : "<<"我把帽子反戴還在期待逆轉"<<endl<<endl;cout<<" 謝謝父親:你"<<endl<<endl;cout<<" 我會努力學習的:你"<<endl<<endl; cout<<"......."<<endl<<endl; cout<<"你與父親談論的很開心愉快,談論中悟出了人生哲理。"<<endl; cout<<"全屬性個加2點"<<endl;for(i=0;i<5;i++){value_array_baseinfo_names[i]+=1;}}cout<<"\n 按任何鍵返回主菜單";a=getch();system("cls"); }void choise_45() {char a;system("cls");cout<<"\n\n\n\n\n\n\n 維修中----------\n\n\n";cout<<" 按任何鍵返回主菜單";mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 維修.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL); //循環播放音樂 a=getch();system("cls"); } void choise_6() {char a;system("cls");cout<<"\n\n\n 游戲說明\n\n";cout<<" 該游戲是一個養成類游戲,游戲的背景是\n\n";cout<<"從1988年6月開始,你要通過操作企鵝來干一\n\n" ;cout<<"些事情來提高企鵝的等級。\n\n\n"; cout<<"按任意鍵回到主菜單"; mciSendString("stop bkmusic", NULL, 0, NULL); mciSendString("close bkmusic", NULL, 0, NULL);mciSendString("open 打字.mp3 alias bkmusic", NULL, 0, NULL);mciSendString("play bkmusic repeat", NULL, 0, NULL);a=getch();system("cls"); }void birthday(int month,int value_birth_month,string value_father_name) {//判斷本月是否是你的生日,觸發彩蛋 int a;char b;a=rand()%300+200; system("cls");cout<<"\n\n 彩蛋情節觸發\n"<<endl; cout<<"本月是你的生日。\n\n你的父親"<<value_daughter_name<<"先生給你送了"<<a<<"金幣。\n"<<endl;//根據用戶的輸入進行判斷 cout<<"按任意鍵回到主菜單"; money=money+a;b=getch();system("cls"); }void level_start()//等級判斷函數 {int i=0;int temp=999999; int a[5];for(i=0;i<5;i++){if(value_daughter_baseinfo[i]>0&&value_daughter_baseinfo[i]<10){a[i]=1;continue;}if(value_daughter_baseinfo[i]>=10&&value_daughter_baseinfo[i]<20){a[i]=2;continue;}if(value_daughter_baseinfo[i]>=20&&value_daughter_baseinfo[i]<32){a[i]=3;continue;}if(value_daughter_baseinfo[i]>=32&&value_daughter_baseinfo[i]<48){a[i]=4;continue;}if(value_daughter_baseinfo[i]>=48&&value_daughter_baseinfo[i]<66){a[i]=5;continue;}if(value_daughter_baseinfo[i]>=66&&value_daughter_baseinfo[i]<96){a[i]=6;continue;}if(value_daughter_baseinfo[i]>=96&&value_daughter_baseinfo[i]<120){a[i]=7;continue;}if(value_daughter_baseinfo[i]>=120){a[i]=8;continue;}}for(i=0;i<5;i++){if(a[i]<temp)temp=a[i];}level=temp; } /************************************************/ int main(void) {char a;people_menu();//設置菜單 print_start();//游戲片頭 cout<<"\n 按任意鍵進入游戲!"; a=getch(); system("cls");system("color 03");system("title 游戲中"); value_daughter_baseinfo[0]=rand()%10+1;//體力value_daughter_baseinfo[1]=rand()%10+3;//智力value_daughter_baseinfo[2]=rand()%10+6;//魅力value_daughter_baseinfo[3]=rand()%10+5;//道德value_daughter_baseinfo[4]=rand()%10+6;//氣質cout<<"\n\n\n\n\n\n";cout<<" 父親的姓名 :";cin>>value_father_name;cout<<endl;cout<<" 你的姓名 :";cin>>value_daughter_name;cout<<endl;cout<<" 你的生日(月) :";cin>>value_birth_month;cout<<endl;cout<<" 你的生日(日) :";cin>>value_birth_date;cout<<endl; value_daughter_constell=constell_names[value_birth_month-1][value_birth_date/constell_dates[value_birth_month-1]];//game();//游戲加載 //游戲從1988年6月開始 for(int year=1988;year<=1988 + 9;year++){for(int month = (year == 1988)? 6:1;month<=12;month++){if(month == value_birth_month){birthday(month,value_birth_month,value_father_name);}big_menu();//顯示游戲主菜單choice=getch();//用戶的選擇 switch(choice){case '1'://查看狀態level_start();choise_1(); break;case '2'://安排行程:一個月最多三次行程 {choise_2();break;} case '3':choise_3(value_daughter_name);break; case '4': //存檔 choise_45();break;case '5': //讀檔 choise_45(); break;case '6': //幫助 choise_6();break;default:system("cls");break;}}}//1.為父女取名字//2.為女兒錄入初始信息//根據女兒的星座,設置游戲的基本參數(體力、智力、魅力、道德、氣質) //3. 開始游戲大循環//4.設置各項參數,判斷游戲結果 return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的项目: 用c++写一个养成类的游戏【QQ宠物】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。