用C++語言寫遊戲——打怪小遊戲
想玩遊戲嗎?
就到某位神犇這來吧!
這會告訴你很多遊戲寫法!
今天,神犇就開始書寫第二期——打怪小遊戲!!!
很容易,只需要用腦袋想想即可,READY——GO!
我也希望大家多多捧場哦~~~
有一點點BUG,敬請諒解!
#include <iostream>
using namespace std;
double shengmingli=2000;//定義主角初始生命力
int gongjili=150;//定義主角初始攻擊力
int fangyuli=200;//定義主角初始防禦力
int money=20;//定義主角初始金錢數量
bool guoguan;//定義是否通關判定
void wuqidian();//定義武器店函式
void yaodian();//定義藥店函式
void guaiwu1();//定義小怪物函式
void guaiwu2();//定義大怪物函式
int main()
{
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
int xiaozhen;//定義選擇專案
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
cin>>xiaozhen;
while(xiaozhen!=5)//輸入5時退出遊戲
{
if(shengmingli<=0)//主角生命力小於等於0時遊戲結束
{
cout<<"你死啦!"<<endl;
break;
}
if(guoguan)
{
cout<<"恭喜通關!"<<endl;
break;
}
if(xiaozhen==6)//輸入6可檢測自己的狀態
{
cout<<"你的生命力:"<<shengmingli<<endl;
cout<<"你的攻擊力:"<<gongjili<<endl;
cout<<"你的防禦力:"<<fangyuli<<endl;
cout<<"你擁有的錢:"<<money<<endl;
}
else
switch(xiaozhen)
{
case 1 : wuqidian();break;
case 2 : yaodian();break;
case 3 : guaiwu1();break;
case 4 : guaiwu2();break;
default : cout<<"請不要亂選!"<<endl;break;
}
cin>>xiaozhen;
}
if(xiaozhen==5)
{
cout<<"正在退出遊戲……"<<endl;
}
cin.get();
cin.get();
return 0;
}
void wuqidian()
{
cout<<"歡迎來到武器店!"<<endl;
cout<<"1、買小刀(1M加2攻擊力)"<<endl;
cout<<"2、買短劍(2M加20攻擊力)"<<endl;
cout<<"3、買大砍刀(5M加40攻擊力)"<<endl;
cout<<"4、買雙節棍(7M加60攻擊力)"<<endl;
cout<<"5、買盾牌(2M加30防禦力)"<<endl;
cout<<"6、買鎧甲(5M加60防禦力)"<<endl;
cout<<"7、離開武器店"<<endl;
int wuqidian;
cin>>wuqidian;
while(wuqidian!=7)//輸入7時結束函式
{
switch(wuqidian)
{
case 1 : if(money<10)
cout<<"你的錢不夠"<<endl;//錢不夠時返回Flase
else
cout<<"購買成功!"<<endl;//錢足夠時返回True
gongjili+=2;
money-=1;
break;
case 2 : if(money<80)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
gongjili+=20;
money-=80;
break;
case 3 : if(money<140)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
gongjili+=40;
money-=140;
break;
case 4 : if(money<200)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
gongjili+=60;
money-=200;
break;
case 5 : if(money<60)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
fangyuli+=30;
money-=60;
break;
fangyuli+=60;
money-=100;
break;
default : cout<<"無"<<endl;
break;
}
cin>>wuqidian;
}
if(wuqidian==7)
{ //返回main()主函式
cout<<"歡迎下次再來!"<<endl;
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
}
/*
yaodian()的設定與wuqidian()相同,可參照閱讀.
*/
void yaodian()
{
cout<<"歡迎來到藥品店!"<<endl;
cout<<"1、買1號補血藥(10M加200生命)"<<endl;
cout<<"2、買2號補血藥(50M加1000生命力)"<<endl;
cout<<"3、買3號補血藥(100M加2200生命力)"<<endl;
cout<<"4、離開武器店"<<endl;
int yaodian;
cin>>yaodian;
while(yaodian!=4)
{
switch(yaodian)
{
case 1 : if(money<10)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
shengmingli+=200;
money-=10;
break;
case 2 : if(money<50)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
shengmingli+=1000;
money-=50;
break;
case 3 : if(money<100)
cout<<"你的錢不夠"<<endl;
else
cout<<"購買成功!"<<endl;
shengmingli+=2200;
money-=100;
break;
default : cout<<"無"<<endl;
break;
}
cin>>yaodian;
}
if(yaodian==4)
{
cout<<"歡迎下次再來!"<<endl;
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
}
/*這裡是兩個戰鬥函式,使用指標來處理.避免造成記憶體崩潰.*/
void guaiwu1()
{
cout<<"開始與小怪物戰鬥!!!"<<endl;
double* g_shengmingli=new double;//定義怪物生命
int* g_gongjili=new int;//定義怪物攻擊力
int* g_fangyuli=new int;//定義怪物防禦力
int* g_money=new int;//定義怪物金錢
*g_shengmingli=100;
*g_gongjili=5;
*g_fangyuli=3;
*g_money=5;
double* tongji1=new double;//用來計算主角對怪物的殺傷
double* tongji2=new double;//用來計算怪物對主角的殺傷
*tongji1=0;
*tongji2=0;
int* huihe=new int;//定義回合數
*huihe=1;
cout<<"你開始對小怪物進行攻擊!"<<endl;
int* xuanze=new int;
/*
攻擊計算公式
殺傷=攻擊力*2-防禦力
玩家每回合可以選擇攻擊與逃跑
*/
while((*g_shengmingli)>0 && shengmingli>0 && (*xuanze)!=2)
{
cout<<"現在是"<<"第"<<*huihe<<"回合!"<<endl;
cout<<"請選擇你的動作:\n";
cout<<"1、攻擊\n2、逃跑\n";
cin>>*xuanze;
switch((*xuanze))
{
case 1 : cout<<"你對小怪物發動了攻擊!"<<endl;
*g_shengmingli-=gongjili*2-(*g_fangyuli);
*tongji1=gongjili*2-(*g_fangyuli);
cout<<"你打掉了小怪物"<<*tongji1<<"的生命!"<<endl;
cout<<"小怪物還剩"<<(*g_shengmingli)-(*tongji1)<<"點生命"<<endl;
shengmingli-=(*g_gongjili)*2-fangyuli;
*tongji2=(*g_gongjili)*2-fangyuli;
cout<<"小怪物對你發動了攻擊!"<<endl;
cout<<"小怪物打掉了你"<<*tongji2<<"的生命!"<<endl;
cout<<"你還剩"<<shengmingli-(*tongji2)<<"點生命"<<endl;break;
case 2 : cout<<"你決定逃跑!"<<endl;
cout<<"逃跑成功!"<<endl;continue;
default : cout<<"請不要亂選!"<<endl;
}
(*huihe)++;
}
if((*g_shengmingli)<=0)
{//殺死怪物後的返回
cout<<"小怪物被你殺死了!你真厲害!!!"<<endl;
money+=(*g_money);
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
else
if(shengmingli<=0)
{//被怪物殺死後的返回
cout<<"你被小怪物殺死了!遊戲結束!!!"<<endl;
}
else
if((*xuanze)==2)
{//逃跑的返回
cout<<"你逃回了小鎮!"<<endl;
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
delete g_shengmingli;
delete g_gongjili;
delete g_fangyuli;
delete g_money;
delete tongji1;
delete tongji2;
}
/*
設定均與void函式guaiwu1()相同,可參照上例閱讀.
*/
void guaiwu2()
{
cout<<"開始與大怪物戰鬥!!!"<<endl;
double* g_shengmingli=new double;
int* g_gongjili=new int;
int* g_fangyuli=new int;
*g_shengmingli=3600;
*g_gongjili=500;
*g_fangyuli=500;
double* tongji1=new double;
double* tongji2=new double;
*tongji1=0;
*tongji2=0;
int* huihe=new int;
*huihe=1;
cout<<"你開始對大怪物進行攻擊!"<<endl;
int* xuanze=new int;
while((*g_shengmingli)>0 && shengmingli>0 && (*xuanze)!=2)
{
cout<<"現在是"<<"第"<<*huihe<<"回合!"<<endl;
cout<<"請選擇你的動作:\n";
cout<<"1、攻擊\n2、逃跑\n";
cin>>*xuanze;
switch((*xuanze))
{
case 1 : cout<<"你對大怪物發動了攻擊!"<<endl;
*g_shengmingli-=gongjili*2-(*g_fangyuli);
*tongji1=gongjili*2-(*g_fangyuli);
cout<<"你打掉了大怪物"<<*tongji1<<"的生命!"<<endl;
cout<<"大怪物還剩"<<(*g_shengmingli)-(*tongji1)<<"點生命"<<endl;
shengmingli-=(*g_gongjili)*2-fangyuli;
*tongji2=(*g_gongjili)*2-fangyuli;
cout<<"大怪物對你發動了攻擊!"<<endl;
cout<<"大怪物打掉了你"<<*tongji2<<"的生命!"<<endl;
cout<<"你還剩"<<shengmingli-(*tongji2)<<"點生命"<<endl;break;
case 2 : cout<<"你決定逃跑!"<<endl;
cout<<"逃跑成功!"<<endl;continue;
default : cout<<"請不要亂選!"<<endl;
}
(*huihe)++;
}
if((*g_shengmingli)<=0)
{
cout<<"大怪物被你殺死了!你真厲害!!!"<<endl;
guoguan=true;
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
else
if(shengmingli<=0)
{
cout<<"你被大怪物殺死了!遊戲結束!!!"<<endl;
}
else
if((*xuanze)==2)
{
cout<<"你逃回了小鎮!"<<endl;
cout<<"歡迎你開始玩打怪物小遊戲!\n";
cout<<"小鎮\n";
cout<<"一個1000年的小鎮。周圍有一條河,有一片樹林,很多房子和很多人。\n有一家藥店"<<endl;
cout<<"和一家武器店。\n";
cout<<"1.去武器店"<<endl;
cout<<"2.去藥品店"<<endl;
cout<<"3.去打小怪物"<<endl;
cout<<"4.去打大怪物"<<endl;
cout<<"5.退出遊戲"<<endl;
cout<<"6.顯示你的狀態"<<endl;
}
delete g_shengmingli;
delete g_gongjili;
delete g_fangyuli;
delete tongji1;
delete tongji2;
}
容易吧!只需用c++執行即可,這樣,你就可以盡情裝B了!!!
希望你可以一直追蹤哦~~~
相關文章
- 用C語言編寫小遊戲——“井字棋”C語言遊戲
- 期末前端web大作業——用前端語言寫一個小遊戲前端Web遊戲
- 人人都可以用C語言寫推箱子小遊戲C語言遊戲
- C語言小遊戲------貪吃蛇----小白專用C語言遊戲
- C語言C++學到什麼程度可以寫遊戲輔助?C語言C++遊戲
- 我用 GitHub 9.8k 的 Go 語言 2D 遊戲引擎寫了個遊戲GithubGo遊戲引擎
- 用GDX寫個安卓小遊戲安卓遊戲
- 用jQuery手寫一個小遊戲jQuery遊戲
- 用 JavaScript 寫一個卡片小遊戲JavaScript遊戲
- C語言魔塔遊戲C語言遊戲
- c++簡易小遊戲C++遊戲
- C語言五子棋小遊戲C語言遊戲
- 如何編寫 C++ 遊戲引擎C++遊戲引擎
- C語言實現小遊戲:五子棋C語言遊戲
- C++實用程式設計——坦克大戰小遊戲C++程式設計遊戲
- canvas手寫辨色力小遊戲Canvas遊戲
- 幽默:程式語言與遊戲比較遊戲
- 如何用python編寫猜拳小遊戲?Python遊戲
- C語言陣列應用例項2: 掃雷遊戲C語言陣列遊戲
- 如何只靠語言描述整個遊戲?遊戲
- Java小遊戲Java遊戲
- 桌球小遊戲遊戲
- 無聊的週末用Java寫個掃雷小遊戲Java遊戲
- Python寫個“點球大戰”小遊戲Python遊戲
- 寫一個狼吃羊的小遊戲遊戲
- Android-貪吃蛇小遊戲-分析與實現-Kotlin語言描述Android遊戲Kotlin
- C語言實現的一個簡單的猜數小遊戲C語言遊戲
- 讓玩家全程掌控遊戲:自然語言指令驅動的遊戲引擎到來了遊戲引擎
- 一個有趣的外掛,讓寫程式碼變成打怪升級的遊戲遊戲
- OpenAI Codex完全通過自然語言構建遊戲應用 – AndrewMayneOpenAI遊戲
- 用Swoole來寫個聯機對戰遊戲呀!(三)完善遊戲功能遊戲
- 悠遊世界合成遊戲系統技術開發解析/合成遊戲/小遊戲遊戲
- 探秘掃雷遊戲的C語言實現遊戲C語言
- 遊戲開發中的多語言處理遊戲開發
- A股遊戲公司四成虧損 遊戲製作人轉行寫網路小說遊戲
- 從0開始用python寫一個命令列小遊戲(二)Python命令列遊戲
- 從0開始用python寫一個命令列小遊戲(十)Python命令列遊戲
- 從0開始用python寫一個命令列小遊戲(六)Python命令列遊戲
- 成語猜謎語/天天樂消除遊戲系統開發/小程式遊戲/技術詳情遊戲