游戏背景:

在古老的传说中,有一座五层妖塔,塔中住着魔王和他手下的妖精们。

一日,妖塔中的魔术师决定举办一次祭祀活动,以增强魔王的法力。他们抓来了一个可怜的流浪商人,关在第四层的一个房间里,他被魔术师施了魔法(魔化了),准备拿来当作祭品。

国王听说此事后,派出了一位勇士(就是你),来到了妖塔下面,你的任务是干掉魔王,为国家除害。当然,你不是空手去的,你随身携带一本怪物书(monster_book),每次杀掉怪物之后,你都会获取与怪物相关的数据。在妖塔中,有很多妖怪散落的装备或者药水可以供你使用,还有一些商店(奸商)给你提供商品。

...好了,你自己玩吧...

更新背景:

图腾符文的坐标出了点问题,导致游玩过程中可能崩溃,刚修复...

------------------------------------------------丑不拉叽的分割线---------------------------------------------------------

#include<algorithm>
#include<cmath>
#include<stdio.h>
#include<iostream>
#include<string>
#include<cstring>
#include<windows.h>
#include<conio.h>
#include<cstdlib>
#include<ctime>
#include<fstream>
using namespace std;
#define BNUM 17
#define TOWER 5
#define COLS 40
#define LINES 100
#define RUNE 22
struct BLOCKS
{string name;int hp;int attack;int defence;bool go;bool monster;int xp;int number;
};
struct PLAYER
{string name;int hp;int attack;int defence;int tower;int x;int y;int xp;int level;int money;
};
unsigned long long uplevel[]={0,10,25,40,60,80,150,300,400,650,800,950,1100,1200,1500,1800,2000,3100,5000,6500,7900,8900,9700,10000,12000,14000,15860,17738,18939,20039,21950,25910,27830,29382,31829,33849,35939,36788,38193,41829,43829,45888,47361,49382,51853,54830};
BLOCKS map[BNUM][COLS][LINES];
string runec[RUNE]=
{
"魔王在进行一种祭祀仪式(最高机密,不可泄漏),只要集齐了日月的阴阳之力(眼熟吧),就可以召唤^&*!%!%@(字迹不清)",
"吼...",
"妖怪们最喜欢在一层的这个右侧房间玩耍了,因为有卫兵和骑士把守,十分安全...",
"传说中的储物间中,存放着妖精们的武器和神秘药水,不知有何作用...",
"真是个奇怪的骑士,还带着假面,还是不要惹他为好...",
"长满了青苔和杂草的楼梯间,上面还传来了不明的低吼声...",
"魔法师在这里布下重重迷阵,并制造了许多分身,防止有人破坏了祭祀仪式...\n",
"只有通过了迷阵,才能找到下一个楼梯间...\n",
"无数的怪物在里面防守着,可见内部可能藏着什么东西...\n",
"魔王允许一个人类在这里开设商店,并且高价卖破烂,就是为了坑钱...\n",
"迷宫,又是迷宫...\n",
"魔法师:&*#$^!...(消失不见)...\n",
"魔王将魔兽与人类生下的孩子在这里培养,这些孩子长得歪瓜裂枣(很丑),但好像很喜欢打架...\n",
"伪装的魔王在这里等待着客人的来临...\n",
"别想着走捷径,傻瓜...\n",
"传说中的英文字母表(不会的请回幼儿园重读),不过好像并没有那么简单呢...\n",
"一块石碑: 旅行者的血肉,魔术师的魔法,还有被感染的人类,可以召唤        (只有聪明的人才能看见那些东西)...\n",
"只要干掉魔王,就能终止祭祀仪式,        就不会出现...\n",
"阴之月符文: $&^%!!# 聚集月的阴之力...\n",
"阴之日符文:#%^&!$! 聚集日的阴之力...\n",
"阳之日符文:!$!&^%# 聚集日的阳之力...\n",
"阳之月符文:#!!%^&$ 聚集月的阳之力...\n",
};
int rtower[RUNE]={0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,3,4,4,4,4,4,4};
int rposx[RUNE]={2,17,7,4,31,37,1,9,31,1,2,38,2,33,39,2,1,1,16,19,19,22};
int rposy[RUNE]={1,1,3,9,59,97,1,10,1,22,42,97,2,98,92,2,2,3,37,34,40,37};bool DidFile=false;
bool monster_[BNUM]={0};
string sympol=" #shjlmdbzaSftg@";
string Name[BNUM]={"空地","墙","卫兵","骑士","假面骑士","小丑","魔术师","商店","流浪商人_魔化","治疗药水","战斧","盾牌","魔王_假","魔王_真","小鬼","符文"};
int Hp[BNUM]=     {0,0,100,200,800,1500,1800,0,1200,0,0,0,3000,6000,500,0};
int Attack[BNUM]= {0,0, 30, 50,220,200, 570,0,400,0,0,0,600,1000,130,0};
int Defence[BNUM]={0,0, 10, 20, 80,120, 220,0,150,0,0,0,350,500,35,0};
bool Go[BNUM]=    {1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
bool monster[BNUM]={0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,0};
int Xp[BNUM]={2,0,10,30,60,100,150,0,100,0,0,0,5000,20000,300,10};
PLAYER player;
int sudu=5;
unsigned long long Time,now;
char MAP[TOWER][40][102]=
{{"# ##################################################################################################","# ##      s  s     #z    #a    #a       #                                                          #","#@s#  a   #  #  h  #     #     #        #                                                          #","#z ########hh#########s######s#####h#####                           a                              #","#  #     @                              #                                                          #","#  #     ##h##    ########################                  a    S     S   a                       #","#  #    #h# #h#  #zzs                    #                          z                              #","# s@   #       #  ###                    #                  a    S     S   a                       #","#  ####         ##### #       #     #    #                                                         #","#  #ah                 #     #      #    #                          a                              #","#  #hh                  #   #       #    #                                                         #","# ##        l lg         # #        #    #                                                         #","# #         mgm           #         ### ##        #####                            hh              #","# #        g   l          #         #    #        #   #                           hhhh             #","# #                       #         #    #        # # #############################hh###############","# #                       #         #    ########## #               #                              #","# #                       #         #    #########  ##              #                              #","#@#                     ##     ##s#       #     #    #              #                              #","#f##                  ##   #   #jh#   #    #   # #   ##             #                              #","#f  #                #     #   ####  #  #   # #   #   #             #                              #","#    ######ss########     #         # # #   # #    #   #            #                              #","#          hh        ## ##           #  ## #   #     #  #           #                              #","#                                    #  ##      #     # #           #                              #","#                                     #   #      #  # #  #          #                              #","#                                     # ##### ####  #    ##         #                              #","#                                      #   #        #  ##           #                              #","#                                           ####### # #             #                              #","######################################################              #                              #","#                                                                   #                              #","#                                                                   #                              #","#################### ######################################h######################## ###############","#                                                 #        @    j         #                        #","#     #######      #####  #                       #                       #                        #","#          #         #    #                       #                       #                        #","#         #          #    #                       #                       #                        #","#        #           #    #                       #                                                #","#       #        #   #    #                       #                       #                        #","#      #         #   #    #                       #                       #                      @j#","#    ########     ####    #######                 #                       #                      j #","####################################################################################################",},{"# ##################################################################################################","#@#    jSaz#   #  dj  @                   #                                                        #","# #   ######   #      #            #      @                                                        #","#h             #  hs  #            #### ####   ##   #####  #   #### ###### #######                 #","#z#            #####################      # # #  # #   #  # #  #   #   #  ##  #                    #","#a#   z z             #            #      #  #    #   #  ##### ####    #   ######                  #","# #    z       ###hs###     l hh   h      # # #   #  #  #     ##   #   #  ##  #                    #","# #   z z      #  sh  #     l hh   #      #####################################################    #","# #            #      #            #      #           #   #   #    #   #      #  ##             ## #","##########@#########################      #     ###     #   #    #   #   #    ##      #  ###  # #  #","#  ##    # #z         #            #      #   #    ######################## ##       #  #   # #  # #","##    #  #z######### ##            #      # #  #  ##             #  ####      ##  ##  #  # #   #   #","# #####  # #       #  #            l      #  #  #          ##   #  #    #      # #  ##       #  #  #","#z  j #  #z#          #       S    #      #   #  ## #        # #    ####    ##       #         # # #","#  #  z  # # #######  #            #      #  ### # m#      ## #     #            ##         #####  #","# #   #  #z#z      # ##            #      #   #   # ######       ## ###### ##  #   # # # # # #   # #","# #####  # ####### #zz##############      #    #     #    #       #     #    ##  ##  ##   #  # #   #","# z  ##  #z        ## #            #      #     ######   #   # ##m       ####  #   #  ## #  #   #  #","#  z# #z ##########z h#     S      j      j#               # #             f  ## #  #   #  #   #   #","#    z#              ##            #      #                 ##             # #    # # # #     #    #","# # # #################     S      #      #                   # #### ####     #      # #       #   #","#  #   z           #  #            #      #                   #    #    #                      #   #","#########z ############            #      #                   # ####  ###                     #    #","#  z     # #    z     ##############      #                   # #       #                     #    #","#  z    h   h   z     #           jj      j#                  # #### ####                      #   #","#################### ##    a       #      #                   #                               #    #","#   z h  zzzz  h z    #            #      #                   #  #   #####                   #     #","## ####################a   S   a   #      #                #  #  #   #                        #    #","#  zh   aaaaaa  hz    #            #      #               ### #  #   #####                     #   #","#################### ##            #      #                #  #  #       #                    #    #","# hz   SSSSSSSS  zh   # a    a     #      #                   #  #   #####                    f    #","#@####################################  ############## ######################## ####################","#shjjjzsjshjjjjjjhsjsslfjfjjjshljsh      ####          #   #### #### #####       zzzzzzzz          #","#sajjjzazjjzSshsajsssh######## ### ######              #      #    # #   #       zaaaaaaz          #","#hzzsjsjzsjSjsjhjzjjjjshshhhslshhsh   #a#              #   ####  ### #####       zSSSSSSz          #","#sjzsSzSzsSjjhsahhhhSh######## ### ####a#              #   #       # #   #       zzzzzzzz          #","#sjjsssSzajjjsSjjjsshj#sszhzjahhsms   #a#              #   #### #### #####                         #","#hjhzjassssssjssssshjj###########################################################################m##","#jjhsjssjjhsssssjjsssajjjljjjjjjjjj                                                              @ #","####################################################################################################",},{"####################################################################################################","#  #                                                                                               #","##@g        g       g                            g    ggggggggggg                                  #","#gg##g#g#g#g#g#######g##########################g###############g################################  #","#  g        g         g                        g                g                                  #","#gg##g#g#g#g#g#########g######################g#################g################################  #","#  g        g           g                    g                  g                                  #","#gg##g#g#g#g#g###########g##################g###################g################################  #","#  g        g             g                g                    g                                  #","#gg##g#g#g#g#g#############g##############g#####################g################################  #","#  g        g               g            g                      g                                  #","#gg##g#g#g#g#g###############g##########g#######################g################################  #","#  g        g                 g        g                        g                                  #","#gg##g#g#g#g#g#################g######g#########################g##########gggggggggg############  #","#  g        g                   g    g                          g                                  #","#gg##g#g#g#g#g###################g##g###########################g################################  #","#  g        g                     gg                            g                                  #","#gg##g#g#g#g#g####################gg############################g##########gggggggggg############  #","#  g        g                    g  g                           g                                  #","#gg##g#g#g#g#g##################g####g##########################g################################  #","#  g        g                  g      g                         g                                  #","#gg##g#g#g#g#g################g########g########################g################################  #","#  g        g                g          g                       g                                  #","#jj##g#g#g#g#g##############g############g######################g################################  #","#  g        g              g              g                     g                                  #","#jj##g#g#g#g#g############g################g####################g################################  #","#  g        g            g                  g                   g                                  #","#jj##g#g#g#g#g##########g####################g##################g################################  #","#  g        g          g                      g                 g                                  #","#gg##g#g#g#g#g########g########################g################g################################  #","#  g        g        g                          g               g                                  #","#gg##g#g#g#g#g######g############################g##############g################################  #","#  g #     z      aaaaaa    s  a                                                                  @#","## #  # zzzzzzz   a a a      sa                                                                 zzz#","#  # #   z z z   a  aa a     zs                                                                 zzz#","##    ##z zzz z    aaaa     z  s                                                                 #z#","#  #    #  z       aaaaa                                                                         #z#","#   #  ###########################################################################################f#","#    #                                                                                      @mlfff #","####################################################################################################",},{"####################################################################################################","# j    a         #                     #                     #                   #                 #","#j@   a a        #    bggg             #         zzz         #     mmmm          #                 #","#    a   a       #    g   g            #        z   z        #     l   m         #    jjjjjj       #","#   aaaaaaa      g    gggg             g       z             #     l    m        #    j            #","#  a       a     #    g    g           #       z    z        l     l d   m       l    jjjjj        #","# a         a    #    g    g           #        zzzz         #     l     m       #    j            #","#                #    ggggg            #                     #     l    m        #    j            #","#                #                     #                     #     mmmmm         #    jjjjjjj      #","#                #                     #                     #                   #                 #","##########################################################################################l#########","#                #                     #                     #                   #                 #","#                #                     #                     #                   #                 #","#  #             #       jjjjjj        #   #    #            #                   #     ########    #","#  #             #          j          #   #    #            #      gggggg       #     #           #","#  #             #          j          #   #    #            #     g      g      #     #           #","#  #   #         #          j          #   ######      #     #     g             #     #           #","#  #  #                    j               #    #   #  #     j     g gggggg      g     ######      #","#  ###           #     j  j            #   #    #      #     #     g     g       #     #           #","#  # #           #      jj             #   #    #   #        #     g     g       #     #           #","#  #  #          #                     #   #    #   #  #     #     ggggggg       #     #           #","#  #   #         #                     #                     #                   #                 #","#                #                     #                     #                   #                 #","###### #############################################################################################","#                #                     #                     #                   #                 #","#   l            #                     #     #     #         #      jj           #     #####       #","#   l            #                     #     ##    #         #     j  j          #     #    #      #","#   l            #                     #     # #   #         #    j    j         #     #####       #","#   l            #                           #  #  #         #    j    j               #           #","#   l            #                     #     #   # #         #    j   j          #     #           #","#   l      l     #                     #     #    ##         #     jjj           #     #           #","#   llllllll     #                     #     #     #         #                   #                 #","#                #                     #                     #                   #                 #","######## ################# ##################### ##################### ################### #########","#                #                     #       #m##          #      zzzz         #      lll        #","#    g   g       #       #####         #      #    #                z  z         #     l   l       #","#    g   g                 #           #      #              #      zzz          #     l  ll       #","#    g   g       #         #           #       ####          #      z  z         #      llll       #","#     ggg g      #         #           #     #    #          #                   #          l      #","####################################################################################################",},{"####################################################################################################","# @@                                 m                                  #                         ##","###                                 mmm                                # #                         #","#  #                               #   #                              #   #                      # #","#   #                             #     #                            #     #                       #","#    #                           #       #                          #       #                   #  #","#     #                         #         #                        #         #                     #","#      #                       #           #                      #           #                #   #","#       #                     #a           a#                    #             #                   #","#        #                   # aa         aa #                  #               #             #    #","#         #                 #  aaa  aaaa aaa  #                #                 #                 #","#          #               #        aaaa       #              #                   #          #     #","#           #             #         aaaa        #            #                     #               #","#            #           #z         aaaa        z#          #                       #       #      #","#             #         #  z                   z  #        #                         #             #","#              #       #    z                 z    #      #                           #    #       #","#               #     #      z    ###@###    z      #    #                             #           #","#                #   #      zzzz  #     #   zzzzz    #  #                               # #        #","#                 m m       zzzz  # fff #  z zzzz     mm                                 #         #","#                 mmm       zzzzz @ ftf @ z  zzzz     mm                                 mm        #","#                 mmm       zzzz z# fff #z   zzzz     mm                                 mm        #","#                 m m           a #     # a           mm                                 #         #","#                #   #         a  ###@###  a         #  #                               # #        #","#               #     #       a             a       #    #                             #           #","#              #       #     a               a     #      #                           #    #       #","#             #         #   a       zzzz      a   #        #                         #             #","#            #           # aSSS     zzzz    SSSa #          #                       #       #      #","#           #             # SS      zzzz     SS #            #                     #               #","#          #               #S       zzzz      S#              #                   #          #     #","#         #                 #                 #                #                 #                 #","#        #                   #               #                  #               #             #    #","#       #                     #             #                    #             #                   #","#      #                       #           #                      #           #                #   #","#     #                         #         #                        #         #                     #","#    #                           #       #                          #       #                   #  #","#   #                             #     #                            #     #                       #","#  #                               #   #                              #   #                      # #","# #                                 mmm                                # #                         #","##                                   m                                  #                         ##","####################################################################################################",},
};
int tower=0;
void addlevels();
int AttAck(int attack);
void AttackMonster();
void color(int x);
void cls();
void coutwhat(int a,int b,int c,int d,string n);
void Die();
void game();
char getin(char x,char y);
void gotoxy(int y,int x);
void gs();
void hidden();
void init();
void monsterbook();
void PrintfMap(int x);
int random(int n,int m);
void rf();
void Sout(string n);
void wf();
void shop();
void bnm();
void monsterbook()
{cls();int i,j,k;for(i=0;i<BNUM;i++)if (monster[i])if (monster_[i])printf("%c\n%s\nattack:%d\nhp:%d\ndefence:%d\n-------------------------------\n",sympol[i],Name[i].c_str(),Attack[i],Hp[i],Defence[i]);elseprintf("???\n-------------------------------\n");gs();PrintfMap(player.tower);
}
int AttAck(int attack)
{int i=0,j=1;gotoxy(10,0);cout<<"按空格攻击\n";cout<<"Low                         High                         Low\n";cout<<"------------------------------------------------------------\n\n";cout<<"------------------------------------------------------------";float shang[60]={0.1,0.1,0.1,0.2,0.2,0.2,0.2,0.3,0.3,0.3,0.3,0.5,0.5,0.5,0.6,0.6,0.6,0.7,0.7,0.7,0.7,0.7,0.8,0.9,0.9,1.0,1.2,1.5,2.0,1.5,1.2,0.9,0.9,0.8,0.8,0.7,0.7,0.7,0.7,0.6,0.6,0.6,0.5,0.5,0.5,0.4,0.4,0.4,0.3,0.2,0.2,0.2,0.2,0.1,0.1,0.1,0.6,0.4,0.4,0.1};while(1){gotoxy(13,i-j);cout<<"     ";gotoxy(13,i);cout<<"|#|";char m;if (kbhit()){m=getch();if (m==' ')return attack*(shang[i])+attack*0.3;}i+=j;if (i>=60)j=-j;if (i<=0)j=-j;Sleep(1);}
}
void init()
{int i,j,k,I;Time=time_t();printf("初始化请稍等...");for(I=0;I<TOWER;I++)for(i=0;i<40;i++){for(j=0;j<100;j++){k=sympol.find(MAP[I][i][j]);map[I][i][j].name=Name[k];map[I][i][j].attack=Attack[k];map[I][i][j].hp=Hp[k];map[I][i][j].defence=Defence[k];map[I][i][j].go=Go[k];map[I][i][j].monster=monster[k];map[I][i][j].number=k;map[I][i][j].xp=Xp[k];}}player.tower=0;player.hp=150;player.attack=35;player.defence=15;player.xp=1; player.level=1;player.x=1;player.y=1;system("cls");
}
void coutwhat(int a,int b,int c,int d,string n)//输出一些东西,从坐标(a,b)到(c,d)输出n
{int i,j;for(i=a;i<=c;i++){gotoxy(i,b);for(j=b;j<=d;j++){cout<<n;}}
}
void gotoxy(int y,int x) //移动光标
{COORD  coord;     coord.X=x;         coord.Y=y;HANDLE a=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(a,coord);
}
void color(int x)//调颜色
{switch(x){case 0:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);break;case 1:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_GREEN);break;case 2:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE |FOREGROUND_GREEN);break;case 3:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE |FOREGROUND_GREEN);break;case 4:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE);break;case 5:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_BLUE |FOREGROUND_RED);break;case 7:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED);break;case 8:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED|FOREGROUND_GREEN);break;case 9:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED|FOREGROUND_BLUE);break;case 10:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED);break;default:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_BLUE);break;}
}
char getin(char x,char y)
{char l;dol=_getch();while(l<x||l>y);return l;
}
int random(int n,int m)
{int s;s=rand()%(m-n+1);s+=n;return s;
}
void cls()
{system("cls");
}
void shop()
{cls();int much[10]={30,50,120,30,50,150,30,50,120};while(1){printf("欢迎,你想买些什么?");printf("1.锈迹斑斑的铁剑 (attack+3) $30\n");printf("2.崭新的铁剑 (attack+5) $50\n");printf("3.银光闪闪的宝剑 (attack+12) $120\n");printf("4.发霉的药水 (hp+20) $30\n");printf("5.普通的药水 (hp+40) $50\n");printf("6.高级药水 (hp+500 attack+10) $150\n");printf("7.破烂盾牌 (defence+1) $30\n");printf("8.木头盾牌 (defence+2) $50\n");printf("9.坚固的铁盾(defence+4) $120\n");printf("0.离开 $0\n");char n=_getch();if (n=='0')break;printf("确定买%c吗?Y/N",n);char m=_getch();if (m=='N'||m=='n')continue;if (player.money<much[n-'0'])printf("钱不够!");else{printf("购买成功!");player.money-=much[n-'0'];switch(n){case '1':player.attack+=3;break;case '2':player.attack+=5;break;case '3':player.attack+=12;break;case '4':player.hp+=20;break;case '5':player.hp+=40;break;case '6':player.hp+=500,player.attack+=10;break;case '7':player.defence++;break;case '8':player.defence+=2;break;case '9':player.defence+=4;break; } }system("cls");}PrintfMap(player.tower);
}
void Sout(string n)
{for(int i=0;i<n.size();i++){cout<<n[i];Sleep(sudu);if (kbhit())if (getch()==' '){cout<<n.substr(i+1,n.size()-i);return;}}
}
void hidden()
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);
CursorInfo.bVisible = false;
SetConsoleCursorInfo(handle, &CursorInfo);
}
void gs()
{hidden();gotoxy(45,80);cout<<"按下任意键继续_";_getch();system("cls");
}
void PrintfMap(int x)
{cls();gotoxy(0,0);int i,j;for(i=0;i<40;i++){for(j=0;j<100;j++){printf("%c",MAP[x][i][j]);}printf("\n");}for(i=0;i<BNUM;i++)if (monster[i]==false){gotoxy(i+10,105);printf("%c %s\n",sympol[i],Name[i].c_str());}
}
void Die()
{cls();sudu=150;Sout("你\t死\t了");sudu=10;exit(0); gs();rf();
}
void AttackMonster(int x,int y)
{cls();BLOCKS j;char l;int n,m;j=map[player.tower][player.x][player.y];n=player.attack;player.attack*=0.9;//考虑玩家不一定全部能正中 if (j.attack-player.defence>0){m=player.hp/(j.attack-player.defence);if (player.attack-j.defence<=0){printf("你现在可能还打不过他呢,是否继续挑战?Y.yes N.no");l=_getch();player.attack=n;if (l=='n'||l=='N'){PrintfMap(player.tower);player.x=x,player.y=y;return;}}m*=(player.attack-j.defence);if (m<=j.hp){printf("你现在可能还打不过他呢,是否继续挑战?Y.yes N.no");l=_getch();player.attack=n;if (l=='n'||l=='N'){PrintfMap(player.tower);player.x=x,player.y=y;return;}}}player.attack=n;while(j.hp>0&&player.hp>0){cls();printf("敌人:%s\n",j.name.c_str());printf("敌人的血量:%d\n",j.hp);printf("敌人的攻击:%d\n",j.attack);printf("敌人的防御:%d\n",j.defence);printf("你的血量:%d\n",player.hp);printf("你的攻击:%d\n",player.attack);printf("你的防御:%d\n",player.defence); printf("1.attack 2.run away\n");l=_getch();if (l=='2')if (rand()%4==1&&j.name!="魔术师"&&j.name!="魔王_真"){map[player.tower][player.x][player.y].hp=j.hp;return;}elseprintf("逃跑失败!");n=AttAck(player.attack);n-=j.defence;j.hp-=n;if (n<=0)n=1;printf("你发起了攻击,%s受到了%d点伤害!\n",j.name.c_str(),n);n=j.attack*random(9,12)/10.0;n-=player.defence;if (n<=0)n=1;player.hp-=n;printf("%s发起了攻击,你受到了%d点伤害!\n",j.name.c_str(),n);gs();}if (player.hp<=0)Die();if (map[player.tower][player.x][player.y].name=="魔王_真"){system("cls");Sout("你成功打败了魔王,游戏结束,你赢了!");exit(0);}if (map[player.tower][player.x][player.y].name=="流浪商人_魔化")map[player.tower][player.x][player.y].name="流浪商人";map[player.tower][player.x][player.y].hp=0;map[player.tower][player.x][player.y].attack=0;map[player.tower][player.x][player.y].defence=0;map[player.tower][player.x][player.y].go=1;map[player.tower][player.x][player.y].monster=0;monster_[map[player.tower][player.x][player.y].number]=1;player.money+=Xp[map[player.tower][player.x][player.y].number];MAP[player.tower][player.x][player.y]=' ';PrintfMap(player.tower);return;
}
void addlevels()
{while(player.xp>uplevel[player.level])player.level++,player.hp+=80,player.attack+=6,player.defence+=3;
}
void game()
{char l;int i,j,k,n,m;while(player.tower<TOWER){PrintfMap(player.tower);Time=clock();do{l=',';hidden();int sx,sy;sx=player.x,sy=player.y;gotoxy(42,0);printf("LEVEL:%d XP:%d/%lld\n",player.level,player.xp,uplevel[player.level]);gotoxy(43,0);printf("HP:%d ATTACK:%d DEFENCE:%d\n",player.hp,player.attack,player.defence);gotoxy(44,0);printf("MONEY:%d\n",player.money);gotoxy(player.x,player.y);cout<<"O";if (kbhit())l=getch();now=clock();gotoxy(0,105);k=now-Time;printf("%d:%d:%d.%d",k/3600000,k%3600000/60000,k%60000/1000,k%1000);switch(l){case 'w':if (player.x>0&&map[player.tower][player.x-1][player.y].go) player.x--;break;case 's':if (player.x<COLS&&map[player.tower][player.x+1][player.y].go) player.x++;break;case 'a':if (player.y>0&&map[player.tower][player.x][player.y-1].go) player.y--;break;case 'd':if (player.y<LINES&&map[player.tower][player.x][player.y+1].go) player.y++;break;case 'm':monsterbook();break;case '/':cin>>n;if (n<5)player.tower=n;else player.hp+=n,player.attack+=n,player.defence+=n,player.money+=n*100;}if (sx!=player.x||sy!=player.y){gotoxy(sx,sy);cout<<" ";gotoxy(player.x,player.y);cout<<"O";}if (map[player.tower][player.x][player.y].monster) if (MessageBox(NULL,TEXT("是否挑战此怪物?"),TEXT("?"),MB_YESNO)==IDYES)AttackMonster(sx,sy);else{gotoxy(player.x,player.y);printf("%c",MAP[player.tower][player.x][player.y]);player.x=sx,player.y=sy; }gotoxy(45,0);printf("位置:%d,%d,%d",player.x,player.tower+1,player.y);if (map[player.tower][player.x][player.y].hp<=0)player.xp+=map[player.tower][player.x][player.y].xp;addlevels();map[player.tower][player.x][player.y].xp=0;if (map[player.tower][player.x][player.y].number==9)player.hp+=50,MAP[player.tower][player.x][player.y]=' ',map[player.tower][player.x][player.y].number=0;if (map[player.tower][player.x][player.y].number==10)player.attack+=10,MAP[player.tower][player.x][player.y]=' ',map[player.tower][player.x][player.y].number=0;if (MAP[player.tower][player.x][player.y]=='S')player.defence+=4,MAP[player.tower][player.x][player.y]=' ',map[player.tower][player.x][player.y].number=0;if (MAP[player.tower][player.x][player.y]=='d'||map[player.tower][player.x][player.y].name=="流浪商人"){shop(); gotoxy(player.x,player.y);printf("%c",MAP[player.tower][player.x][player.y]);player.x=sx,player.y=sy; }if (MAP[player.tower][player.x][player.y]=='@'){gotoxy(46,0);for(i=0;i<RUNE;i++)if (player.tower==rtower[i]&&player.x==rposx[i]&&player.y==rposy[i])break;printf("石碑内容:%s",runec[i].c_str());} else{gotoxy(46,0);printf("                                                                                                                                                   ");}}while(!((player.x==COLS-2&&player.y==LINES-2)||(player.x==0&&player.y==1&&player.tower>0)));if (player.x==COLS-2&&player.y==LINES-2)player.tower++,player.x=1,player.y=1;else if (player.tower>0)player.tower--,player.x=38,player.y=98;//wf();}
}
int main()
{char l;int i,j,k;hidden();init();game();return 0;
}

勇闯迷塔小游戏(c++) 3.17更新相关推荐

  1. 【项目展示】自己用C语言编写的汉诺塔小游戏

    本文目录 1.前言 2.什么是汉诺塔? 3.项目规格 4.基本思路 5.源代码 6.运行结果 7.感想与心得 8.未来规划 1.前言 昨儿个把自己大一时候写过的五子棋重构了一下,之后就在想着要不把不知 ...

  2. python汉诺塔游戏_Python实战:搭建汉诺塔小游戏,快和小伙伴一起玩玩吧

    汉诺塔游戏:看谁能在短时间内将排好顺序的圈,按同样的顺放在另一根柱子上,每次只能动一个. 今天用python搭建汉诺塔小游戏(简约版) 代码亲测有效!源代码如下: #左中右塔用一个列表存储 left ...

  3. C语言--汉诺塔小游戏

    汉诺塔小游戏的游戏规则:有三个柱子abc,其a柱上面有若干个圆盘,要求借助三个柱子将a柱上面的圆盘按顺序移动到c柱上去,并且c柱上每次只能增加一个圆盘,问需要移动多少次才可以完成此游戏. 一.首先理解 ...

  4. html实现汉诺塔小游戏

    文章目录 1.设计来源 汉诺塔由来 1.1 主界面 1.2 游戏规则 1.3 游戏完成界面 2.效果和源码 2.1 动态效果 2.2 源代码 源码下载 作者:xcLeigh 文章地址:https:// ...

  5. java游戏循环_利用Java循环语句实现攻击防御塔小游戏

    /* * 时间:2018-3-21 * 目的:practice * 内容:利用Java循环语句实现攻击防御塔小游戏 * 使用Java while语句实现一个英雄攻击防御塔的小程序,防御塔血量总计100 ...

  6. Fundebug 微信小游戏异常监控插件更新至 0.5.0,支持监控 HTTP 慢请求

    摘要: 支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG. Fundebug是专业微信小游戏 BUG 监控服务,可以第一时间捕获线上环境中小游戏的异常.错误或者 BUG, ...

  7. 汉诺塔小游戏 c语言

    相信大家在学习C语言嵌套的时候已经学习过经典问题汉诺塔了,我学习时就想能不能搞个汉诺塔的游戏出来,结果睡了一觉就给忘了.今天突然想起,搞出来与大家分享,水平一般,但符合汉诺塔规则.最终代码我放在文章最 ...

  8. java登塔小游戏,是男人就上一百层

    学习java很久了,很少完完全全的自己编写一个有难度点的程序.又正好赶上一门课程任务,所以前段时间自己决定用java写一个小游戏,既可以当设计作品又可以练习巩固所学. 这个游戏具体规则如下: 1. 在 ...

  9. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~17开始游戏-移动方向处理

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>流程控制分析3: 男主角移动及方向处理: Sub 男主角移动及方向处理()If Running <> 1 Then E ...

  10. C++急速赛车小游戏(注释几天后更新)

    文章目录 成品展示 项目链接(带配图) 源代码 tools.h racingGame.cpp 成品展示 项目链接(带配图) https://download.csdn.net/download/wei ...

最新文章

  1. html5摒弃的标记,5 HTML5的列表标记
  2. 95行代码实现最大熵模型训练
  3. GOCN每日新闻(2017-08-12)
  4. MySQL Server 5.0安装教程
  5. OO真经——关于面向对象的哲学体系及科学体系的探讨(下)
  6. Laravel 队列:如何查看队列报错信息
  7. ajax url参数中文乱码解决
  8. android 资源文件获取啥退,重拾Android之路之获得各种资源文件的方法
  9. 系统分析——以事件开始构建系统模型
  10. 学计算机信息管理专业的感谢,计算机信息管理专业工作求职信
  11. docker 容器连接宿主机mysql问题
  12. java 并发编程实战代码_「Java并发编程实战」对象的组合
  13. html阿里矢量图标库,分析Iconfont-阿里巴巴矢量常用图标库
  14. 【自然语言处理】论述自然语言处理的技术范畴
  15. 信号的同调性(Coherence)分析及MATLAB实例
  16. android 接入百度地图sdk
  17. tk教主:个人成长_网络成长时:浏览器的故事
  18. 如何在Mac和Windows PC之间无线共享文件
  19. Android中View绘制各种状态的背景图片原理深入分析以及StateListDrawable使用
  20. 《数据分析实战:基于EXCEL和SPSS系列工具的实践》一导读

热门文章

  1. 利用XML生成Word
  2. python文本字词分割及词库云
  3. 雪碧图 Sprite图
  4. 易捷行云新一代私有云全场景智能统一运维|轻运维之场景化运维
  5. 文科生的悲哀-斐波拉契数列
  6. 微信企业号开发(第一篇)
  7. 设置vs2107背景图片
  8. java生成短网址_最新url.cn短网址缩短生成接口(API)获取方法
  9. 【观察】星环科技“七剑下天山”,做数据世界超高速引擎
  10. 1072:鸡尾酒疗法