#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 遊戲的規則如下 騎士從左上角出發,每次只能向右或向下走,最後到達右下角見到公主。地圖中每個位置的值代表騎士要遭遇的事情。如果是負數,說明此處有怪獸,要讓騎士損失血量。如果是非負數,代表此處有血瓶,能...