地下城與勇士

2021-10-19 12:00:37 字數 4350 閱讀 4982

#include

#include

#include

#include

#include

using

namespace std;

char a[14]

[100]=

;char b[14]

[100]=

;int c;

int shang_hai=5;

int sheng_ming=5;

int sheng_ming_zhi=5;

int jb=0;

string xing_ming;

int l,j;

void

game_2()

;void

player_zi_liao()

;void

player()

;void

shop()

;void

zi_mu_1()

;voidq(

);void

game_1()

;void

s_1();

void

shi_bai()

;void

da_guai()

;void

xiao_guai()

;void

xiao_ziyuan()

;void

da_ziyuan()

;void

hui_xue()

;void

sheng_li()

;//s小怪 m大怪 o入口 0你的位置 r小資源 h大資源 @傳送門 -道路 |道路 x回血

void

sheng_li()

void

hui_xue()

else

sleep

(1000);

q();

}void

xiao_ziyuan()

void

da_ziyuan()

void

da_guai()

if(bguai_xue<=0)

cout<<

"\n1.攻擊 2.防禦(暫時獲得1血)\n"

; cout<<

"請輸入:"

; cin>>c;

if(c==1)

if(c==2)

cout<<

"\n你的生命:"

"\n怪物的生命:"

xiao_guai()

if(sguai_xue<=0)

cout<<

"\n1.攻擊 2.防禦(暫時獲得1血)\n"

; cout<<

"請輸入:"

; cin>>c;

if(c==1)

if(c==2)

cout<<

"\n你的生命:"

"\n怪物的生命:"

s_1(

)void

player_zi_liao()

void

player()

voidq(

)void

zi_mu_1()

void

game_1()

if(l==3)

if(l==1)

if(l==4)

}void

shi_bai()

void

game_2()

int x=

6,y=5;

for(i=

0; i<=

12; i++

) cout<

while(1

) ch=

getch()

;if(ch==

'w')

//s小怪 m大怪 o入口 0你的位置 r小資源 h大資源 @傳送門 -道路 |道路 x回血

if(a[x-1]

[y]==

'r')

if(a[x-1]

[y]==

's')

if(a[x-1]

[y]==

'm')

if(a[x-1]

[y]==

'x')

if(a[x+1]

[y]!=

' '||a[x-1]

[y]!=

' ')

else

x--; a[x]

[y]=

'0';q(

);for(i=

0; i<=

12; i++

) cout<

's')

//s小怪 m大怪 o入口 0你的位置 r小資源 h大資源 @傳送門 -道路 |道路 x回血

if(a[x+1]

[y]==

'r')

if(a[x+1]

[y]==

's')

if(a[x+1]

[y]==

'm')

if(a[x+1]

[y]==

'x')

if(a[x+1]

[y]!=

' '||a[x-1]

[y]!=

' ')

else

x++; a[x]

[y]=

'0';q(

);for(i=

0; i<=

12; i++

) cout<

'a')

//s小怪 m大怪 o入口 0你的位置 r小資源 h大資源 @傳送門 -道路 |道路 x回血

if(a[x]

[y-1]==

'r')

if(a[x]

[y-1]==

's')

if(a[x]

[y-1]==

'm')

if(a[x]

[y-1]==

'x')

if(a[x]

[y+1]!=

' '||a[x]

[y-1]!=

' ')

else

y--; a[x]

[y]=

'0';q(

);for(i=

0; i<=

12; i++

) cout<

'd')

//s小怪 m大怪 o入口 0你的位置 r小資源 h大資源 @傳送門 -道路 |道路 x回血

if(a[x]

[y+1]==

'@')

if(a[x]

[y+1]==

'r')

if(a[x]

[y+1]==

's')

if(a[x]

[y+1]==

'm')

if(a[x]

[y+1]==

'x')

if(a[x]

[y+1]!=

' '||a[x]

[y+1]!=

' ')

else

y++; a[x]

[y]=

'0';q(

);for(i=

0; i<=

12; i++

) cout<<}}

void

shop()

game_1()

;}else

cout<<

"金幣不夠,繼續加油"

;game_1()

;}if(j==

2||j==7)

game_1()

;}else

cout<<

"金幣不夠,繼續加油"

;game_1()

;}if(j==

3||j==8)

game_1()

;}else

cout<<

"金幣不夠,繼續加油"

;game_1()

;}if(j==

4||j==9)

game_1()

;}else

cout<<

"金幣不夠,繼續加油"

;game_1()

;}if(j==

5||j==10)

game_1()

;}else

cout<<

"金幣不夠,繼續加油"

;game_1()

;}if(j==11)

}int

main()

地下城遊戲(dp)

題目 題意 給定乙個矩陣,從 0,0 走到 n 1,m 1 每次只能向下和向右走,要求在過程中血量必須保持正值。求最低初始血量。題解 這是最小值最大化問題。正向不好遞推,考慮逆向。令dp i j dp i j dp i j 表示走到該點時需要的最小血量。如果其相鄰點都為負數,代表往後走需要額外消耗,...

龍與地下城遊戲問題

題目 給定乙個二維陣列,含義是一張地圖,例如,如下矩陣 int data 遊戲規則如下 1.騎士從左上角出發,每次只能向下或向右走,最後達到右下角見到公主。2.地圖中每個位置代表騎士血量的變化,若為負數,則表示有怪獸掉血 若為整數,則表示有血包,增加了血量 3.騎士走到任何乙個位置,血量都不能少於1...

龍與地下城遊戲問題

題目 給定乙個二維陣列map,含義是一張地圖,例如,如下矩陣 2 3 3 5 10 1 0 30 5 遊戲的規則如下 騎士從左上角出發,每次只能向右或向下走,最後到達右下角見到公主。地圖中每個位置的值代表騎士要遭遇的事情。如果是負數,說明此處有怪獸,要讓騎士損失血量。如果是非負數,代表此處有血瓶,能...