用C++語言寫遊戲——打怪小遊戲
想玩遊戲嗎?
就到某位神犇這來吧!
這會告訴你很多遊戲寫法!
今天,神犇就開始書寫第二期——打怪小遊戲!!!
很容易,只需要用腦袋想想即可,READY——GO!
我也希望大家多多捧場哦~~~
有一點點BUG,敬請諒解!
容易吧!只需用c++執行即可,這樣,你就可以盡情裝B了!!!#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++語言寫遊戲——打怪小遊戲
想玩遊戲嗎? 就到某位神犇這來吧! 這會告訴你很多遊戲寫法! 今天,神犇就開始書寫第二期——打怪小遊戲!!! 很容易,只需要用腦袋想想即可,READY——GO! 我也希望大家多多捧場哦~~~ 有一點點BUG,敬請諒解! #include <iostre
用C語言寫一個簡單的掃雷小遊戲
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> #include <time.h> /* 用 C 語言寫一個簡單的掃雷遊戲 */ // 1.寫一個遊戲選單 M
用C++語言寫遊戲——打飛機
想玩遊戲嗎? 就到某位神犇這來吧! 這會告訴你很多遊戲寫法! 今天,神犇就開始書寫第三期——打飛機!!! 很容易,只需要用腦袋想想即可,READY——GO! 我也希望大家多多捧場哦~~~ #include<iostream> #include<
用c語言寫一個猜數字遊戲
#include <time.h> #include <stdlib.h> void menu() { printf("******歡迎進入猜數字遊戲*****\n"); printf("****** 1. 開始遊戲 *****\n")
用C語言寫一個好玩的寶石一樣的圖像
循環圖像圖形#include<stdio.h>main(){int n;scanf("%d",&n); for(int i=0;i<n;i++) { for(int j=0;j<n-i-1;j++) { printf(" ")
怎麽用C語言寫一個飛機程序
sge 怎麽 das mob gpl hdd ref dhx cte 5zeffurgal誥退俁稼犢爍厝擋傅鼓《http://weibo.com/p/230927987816857564094464》 wv8kbiqhdd壁溉斡吠戎琴痛鋼匙谷《http://weibo.c
自己用C語言寫RL78 serial bootloader
瞭解更多關於bootloader 的C語言實現,請加我QQ: 1273623966 (驗證資訊請填 bootloader),歡迎諮詢或定製bootloader(線上升級程式)。 之前用C實現過多款PIC微控制器的bootloader, 包括8-bit的PIC16,PIC18;16-bit的P
懶癌晚期學圖論的時候自己用C語言寫了個求可達性矩陣的演算法~
可達性矩陣演算法~ 直接上程式碼 #include <iostream> #include <cstring> using namespace std; #define n 5 void print(int a[n][n]); void print1(int a[n][n]); v
C語言完成成語接龍小遊戲
用C語言實現成語接龍小遊戲(新手上路,大神勿噴) 1、首先需要找到一個成語庫(從網上下載即可,儲存為.txt檔案) 2、整體思路如下 由於要用的成語儲存在檔案裡,一邊用一邊讀取會降低程式碼的效率,所以我們首先建立一個二維動態陣列,將檔案裡的成語讀取到二維數組裡。首先讓使用者輸入第一個成
用C語言寫一個簡單的三子棋,實現玩家與電腦的對戰
原始碼: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> #include <time.h> /* 用 C 寫一個三子棋 */ //邏輯: //1. 畫
用C語言寫PL0編譯器
#include<stdio.h> /*#include"pl0.h"*/ #include"string.h" #include <windows.h> /*PL/0編譯系統C版本標頭檔案pl0.h*/ /*typedef enum{false,t
C語言實現井字棋小遊戲
#include <stdio.h> #include <stdlib.h> int store[]={'_','_','_','_','_','_','_','_','_'}, shunt=1, count, i; void pr
用C語言寫的一個順序表實現圖書館書籍管理
Function: 增add_book() 刪delete_book() 改modify_book() 查check_book() 實現吧! **************************/ #include<stdio.h>//裡
用C語言寫一個掃雷程式
執行環境:win10 vs2013 本程式所有設計思路均已註釋行為標記在程式中,為了方便起見,將不在部落格中進行書寫,想要學的朋友複製下面的原始碼可進行學習,也可將程式進行修改獲取不同的遊戲體驗 程式原始截圖 執行結果:
C語言_簡易三子棋小遊戲
三子棋和五子棋的玩法相同,率先三子連成直線的玩家即可獲勝。 下面簡單介紹用C語言編寫的三子棋小遊戲。 思路如下: 1.定義一個二維陣列做為棋盤,定義陣列的行和列。 2.將棋盤初始化,填充為空格。 3.列印棋盤函式,每次下子後都列印一次棋盤。 4.玩家下子函式。
用C語言寫一個數組,實現類似JAVA語言中ArrayList的功能
此程式是在看過郝斌老師的資料結構與演算法的視訊後,自己用C語言實現的。整個程式比較簡單,適合入門資料結構時練手。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #
Java打怪小遊戲
Java文字小遊戲 怪物分為四個型別: 超級喪屍/變異喪屍/普通喪屍/吸血鬼. 不同類別的怪物具有不同的攻擊力,防禦力,躲避以及特殊屬性等等. 人類殺死殭屍後會獲得經驗升級,升級會回覆血量,提高攻擊力. 下面是執行截圖 下面是程式碼 gam
用C++語言寫bmp檔案的程式完整版
#include <stdio.h> #include <stdlib.h> /* 定義WORD為兩個位元組的型別 */ typedef unsigned short WORD; /* 定義DWORD為四個位元組的型別 */ typedef uns
C語言做的接雞蛋小遊戲(附原始碼註釋)【原創】
//以下是接雞蛋小遊戲原始碼 。建議在VS中執行除錯! /* 標頭檔案 */ # include <windows.h> # include <stdlib.h> # include <stdio.h> # include
C函式指標妙用,用c語言寫一個簡易類
其實在C++中的物件也並不是實現起來也並不是多麼的什麼神祕,只是編譯器幫我們做了許多工作,所以我們總覺得C++要比c語言難一些,C++編譯器其實對於類中的非Virtual 函式的的呼叫規則與對C編譯器對函式的呼叫時一樣的,那就是通過call 函式地址的方法。等有