// File: /workspace/github_cpp_makefile_star2_O3/giovifazi[P]knossos-bloodbath/Hud.cpp
// Function: hud_action(int)
void hud_action(int n){

   // Stampo righe vuote per separare schermate
   for(int j=0; j < 6; j++)
      std::cout << "\n"; 

   switch(n){
      case 1: case 2: case 3: case 4: case 5:
         std::cout 

         <<"Hai deciso di interrompere la tua fuga per entrare in una stanza malamente illuminata. \n"
         <<"Speri di trovare un baule, del cibo o dell'acqua. Ti accontenteresti di poco... ma non trovi nulla...\n"
         <<"\n";			
      break;

      case 6:
         std::cout 
         <<"In un baule trovi uno scudo. Su di esso vi è raffigurato lo scontro tra Ercole e Cicno. Ti senti più forte...\n\n"
         <<"Hai trovato uno scudo d'oro!\nUtile nei combattimenti.\n"
         <<"\n"
          <<"|`-._/\\_.-`|\n"
          <<"|    ||    |\n"
          <<"|___o()o___|\n"
          <<"|__((<>))__|\n"
          <<"\\   o\\/o   /\n"
          <<" \\   ||   /\n"
          <<"  \\  ||  /\n"
          <<"   '.||.'\n"
          <<"     ``\n";
			
      break;

      case 71:
         std::cout 
         <<"Trovi una stanza. Pare fosse una sorta di cucina. Bicchieri e cianfrusaglie su di un lungo tavolo.\n"
         <<"C'è un anche un'anfora ben chiusa. La apri... nasconde del vino conservato meravigliosamente. Lo bevi e ti senti rinvigorito...\n\n"
         <<"+8 Hp.\n"
         <<"\n"
            
    <<"    ___\n"
    <<"   (___)\n"
    <<"   <   >\n"
    <<"    ) (\n"
    <<"   /`-.\\\n"
    <<"  /     \\\n"
    <<" / _    _\\\n"
    <<":,' `-.' `:\n"
    <<"|         |\n"
    <<":         ;\n"
    <<" \\       /\n"
    <<"  `.___.' \n\n";		
      break;

      case 72:
          std::cout 
         <<"Sei assetato e quell'ampolla contiene, pare, ottimo vino. In realtà è sangue infetto. Riesci a vomitarlo, ma sei avvelenato...\n\n"
         << "Hai bevuto del sangue infetto... \n-8 Hp.\n"
         <<"\n"
            
    <<"    ___\n"
    <<"   (___)\n"
    <<"   <   >\n"
    <<"    ) (\n"
    <<"   /`-.\\\n"
    <<"  /     \\\n"
    <<" / _    _\\\n"
    <<":,' `-.' `:\n"
    <<"|         |\n"
    <<":         ;\n"
    <<" \\       /\n"
    <<"  `.___.' \n\n";
      break;

      case 91:
         std::cout 
         <<"In un baule trovi uno scudo. Su di esso vi è raffigurato lo scontro tra Ercole e Cicno. Ti senti più forte.\n\n"
         <<"Hai trovato uno scudo di bronzo!\nUtile nei combattimenti.\n"
         <<"\n"
          <<"|`-._/\\_.-`|\n"
          <<"|    ||    |\n"
          <<"|___o()o___|\n"
          <<"|__((<>))__|\n"
          <<"\\   o\\/o   /\n"
          <<" \\   ||   /\n"
          <<"  \\  ||  /\n"
          <<"   '.||.'\n"
          <<"     ``\n";
			
      break;

      case 92:
         std::cout 
<<"Esistono verso il nord Europa, barbari esperti nell'uso di piccole spade chiamate daghe. \n"
<<"Non sai come sia possibile, ma ne hai trovata una nel labirinto. Simboli celtici adornano una lama consumata...\n\n"

         << "Trovata una daga!\n+1 in attacco.\n"
         <<"\n"		


               
<<"              (@|\n"
<<" ,,           ,)|____________________________________\n"
<<"//\\8@8@8@8@8@8 / _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \\\n"
<<"\\//8@8@8@8@8@8 \\_____________________________________/\n"
<<" ``           `)|\n"
<<"              (@|\n\n";
                
      break;

      case 13: case 14: case 15: case 16: case 17: 
         std::cout 

<<"           __\n"
<<"        ,. |_'.\n"
<<"       / / /:\\ \\\n"
<<"     _/_/_/::: |\n"
<<"    /o_'/o>::/ /\n"
<<"    / /'/:::/ /\n"
<<"   / /_/::.'_/\n"
<<"  / / \\__.-'   \n"           
<<" / /          \n"            
<<"/ /          \n"              
<<" /\n\n"

<<"Stai percorrendo il tunnel con passo costante e monotono e sei cosi' stanco da non dare piu' attenzione a quello che ti circonda.\n"
<<"Non ti accorgi dal sistema di trappole ad ascia che si attiva nel momento in cui premi la mattonella. \n"
<<"Riesci, con un riflesso animale, a schivare la lama, ma solo in parte: una lunga ferita ti attraversa il petto...\n\n"
         <<"Hai attivato una trappola!\n-4 Hp.\n"
         <<"\n";			
      break;

      case 18: case 19: 
         std::cout
         <<"Qualcosa splende sul pavimento impolverato del Labirinto: è una spada incagliata nella gabbia toracica di uno scheletro.\n" 
         <<"La sfili mentre le ossa si dissolvono in uno scricchiolio che rimbomba con eco. \n"
         <<"La spada è lucente e pare appartenuta ad un antico eroe...\n\n"
         <<"Hai trovato una spada d'argento!\n"
         <<"+4 in attacco.\n"
         <<"\n"
<<"              />\n"
<<" ()          //----------------------------------------------------.._\n"
<<"(8)OXOXOXOXO(8>|---------------------------------------------------  _:> \n"
<<" ()          \\\\----------------------------------------------------''   \n"
<<"              \\>\n\n";			
      break;

      case 20:
         std::cout 
        <<"Saranno le allucinazioni da stanchezza ma quello che ti appare davanti agli occhi non ti sembra vero. \n"
        <<"C'era una volta un gigante di nome Orione, portava con sé una grossa spada. \n"
        <<"Dava la caccia ad animali feroci con quella lama e la sua forza fece innamorare anche Diana, una dea.\n"
        <<"Quella che vedi, nascosta in un anfratto, pare una mirabile copia. La impugni con timore...\n\n"
		 <<"Hai trovato una spada magica!\n"
         <<"+5 Hp e +5 in attacco.\n"
         <<"\n"
<<"               \n"
<<"               /)     \n"          
<<"              //          \n"    
<<" _   .-------| |--------------------------------------.__\n"
<<"(_)88|WMWMWMW| |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:>\n"
<<"     `-------| |--------------------------------------'^^\n"
<<"              \\\\               \n"
<<"               \\)        \n"
<<"                       \n\n";
      break;
   }
   
   

   std::cout << "Premi invio per continuare ";
  
   std::cin.ignore();
   std::cin.get();

   // Stampo righe vuote per separare schermate
   for(int j=0; j < 40; j++)
      std::cout << "\n"; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edi, %ebx
movl $0x6, %r12d
movq 0xc3a5(%rip), %r14      # 0x11fd0
leaq 0x8c23(%rip), %r15      # 0xe855
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x2140
decl %r12d
jne 0x5c32
cmpl $0x46, %ebx
jg 0x5e3b
decl %ebx
cmpl $0x13, %ebx
ja 0x5dde
leaq 0x451a(%rip), %rax      # 0xa17c
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0xc35e(%rip), %rbx      # 0x11fd0
leaq 0x5e89(%rip), %rsi      # 0xbb02
movl $0x58, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5ece(%rip), %rsi      # 0xbb5b
movl $0x66, %edx
jmp 0x5dc2
movq 0xc332(%rip), %rbx      # 0x11fd0
leaq 0x62e6(%rip), %rsi      # 0xbf8b
movl $0xe, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62e1(%rip), %rsi      # 0xbf9a
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62de(%rip), %rsi      # 0xbfab
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62dc(%rip), %rsi      # 0xbfbd
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62da(%rip), %rsi      # 0xbfcf
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62d8(%rip), %rsi      # 0xbfe1
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62d5(%rip), %rsi      # 0xbff2
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62d1(%rip), %rsi      # 0xc002
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62ce(%rip), %rsi      # 0xc013
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62bb(%rip), %rsi      # 0xc014
movl $0xe, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x51d0(%rip), %rsi      # 0xaf3d
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x62a2(%rip), %rsi      # 0xc023
movl $0x82, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6311(%rip), %rsi      # 0xc0a6
movl $0x67, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6365(%rip), %rsi      # 0xc10e
movl $0x73, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5280(%rip), %rsi      # 0xb03d
movl $0x22, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x8a84(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
movq 0xc1eb(%rip), %rbx      # 0x11fd0
leaq 0x6559(%rip), %rsi      # 0xc345
movl $0x1b, %edx
movq %rbx, %rdi
callq 0x2140
movq 0xc1e0(%rip), %r14      # 0x11fe0
movq %r14, %rdi
callq 0x2230
movq %r14, %rdi
callq 0x2160
movl $0x28, %r15d
leaq 0x8a38(%rip), %r14      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2140
decl %r15d
jne 0x5e1d
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x5a, %ebx
jg 0x5e7a
cmpl $0x47, %ebx
je 0x61a8
cmpl $0x48, %ebx
jne 0x5dde
movq 0xc17b(%rip), %rbx      # 0x11fd0
leaq 0x5bde(%rip), %rsi      # 0xba3a
movl $0x82, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5e76(%rip), %rsi      # 0xbce6
movl $0x29, %edx
jmp 0x61e3
cmpl $0x5b, %ebx
je 0x62ec
cmpl $0x5c, %ebx
jne 0x5dde
movq 0xc13d(%rip), %rbx      # 0x11fd0
leaq 0x5f21(%rip), %rsi      # 0xbdbb
movl $0x5a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5f68(%rip), %rsi      # 0xbe16
movl $0x71, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5fc6(%rip), %rsi      # 0xbe88
movl $0x21, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x897f(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5fc0(%rip), %rsi      # 0xbeaa
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5fbf(%rip), %rsi      # 0xbebd
movl $0x36, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5fe2(%rip), %rsi      # 0xbef4
movl $0x37, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6006(%rip), %rsi      # 0xbf2c
movl $0x37, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x602a(%rip), %rsi      # 0xbf64
movl $0x12, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6029(%rip), %rsi      # 0xbf77
movl $0x13, %edx
jmp 0x5dd6
movq 0xc071(%rip), %rbx      # 0x11fd0
leaq 0x473d(%rip), %rsi      # 0xa6a3
movl $0x7a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x47a4(%rip), %rsi      # 0xa71e
movl $0x51, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x47e2(%rip), %rsi      # 0xa770
movl $0x3d, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x493b(%rip), %rsi      # 0xa8dd
movl $0x21, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x4949(%rip), %rsi      # 0xa8ff
movl $0xf, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x888b(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x4931(%rip), %rsi      # 0xa90f
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x492f(%rip), %rsi      # 0xa921
movl $0x47, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x4963(%rip), %rsi      # 0xa969
movl $0x4a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x499a(%rip), %rsi      # 0xa9b4
movl $0x49, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x49d0(%rip), %rsi      # 0xa9fe
movl $0x12, %edx
jmp 0x5dd6
movq 0xbf91(%rip), %rbx      # 0x11fd0
leaq 0x49cb(%rip), %rsi      # 0xaa11
movl $0x67, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6128(%rip), %rsi      # 0xc182
movl $0x4e, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x4a60(%rip), %rsi      # 0xaace
movl $0x66, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x4ab3(%rip), %rsi      # 0xab35
movl $0x5d, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x613b(%rip), %rsi      # 0xc1d1
movl $0x1e, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6146(%rip), %rsi      # 0xc1f0
movl $0x17, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x8797(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x8417(%rip), %rsi      # 0xe4e9
movl $0x10, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6122(%rip), %rsi      # 0xc208
movl $0x17, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6126(%rip), %rsi      # 0xc220
movl $0x1b, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x612e(%rip), %rsi      # 0xc23c
movl $0x3a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x6155(%rip), %rsi      # 0xc277
movl $0x3c, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x617e(%rip), %rsi      # 0xc2b4
movl $0x3a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x61a5(%rip), %rsi      # 0xc2ef
movl $0x20, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x61b2(%rip), %rsi      # 0xc310
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x61b9(%rip), %rsi      # 0xc32b
movl $0x19, %edx
jmp 0x5dd6
movq 0xbe4d(%rip), %rbx      # 0x11fd0
leaq 0x5a38(%rip), %rsi      # 0xbbc2
movl $0x71, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5a96(%rip), %rsi      # 0xbc34
movl $0x36, %edx
jmp 0x6313
movq 0xbe21(%rip), %rbx      # 0x11fd0
leaq 0x56f5(%rip), %rsi      # 0xb8ab
movl $0x63, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5745(%rip), %rsi      # 0xb90f
movl $0x82, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5b00(%rip), %rsi      # 0xbcde
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x8663(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x57ad(%rip), %rsi      # 0xb9b3
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x57a2(%rip), %rsi      # 0xb9bc
movl $0x9, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5798(%rip), %rsi      # 0xb9c6
movl $0x9, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x578e(%rip), %rsi      # 0xb9d0
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5783(%rip), %rsi      # 0xb9d9
movl $0x9, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5779(%rip), %rsi      # 0xb9e3
movl $0xa, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5770(%rip), %rsi      # 0xb9ee
movl $0xb, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5768(%rip), %rsi      # 0xb9fa
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5761(%rip), %rsi      # 0xba07
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x575a(%rip), %rsi      # 0xba14
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5753(%rip), %rsi      # 0xba21
movl $0xb, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x574b(%rip), %rsi      # 0xba2d
movl $0xc, %edx
jmp 0x5dd6
movq 0xbcdd(%rip), %rbx      # 0x11fd0
leaq 0x5a16(%rip), %rsi      # 0xbd10
movl $0x6f, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5a72(%rip), %rsi      # 0xbd80
movl $0x3a, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x8533(%rip), %rsi      # 0xe855
movl $0x1, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5935(%rip), %rsi      # 0xbc6b
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x592f(%rip), %rsi      # 0xbc79
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5929(%rip), %rsi      # 0xbc87
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5923(%rip), %rsi      # 0xbc95
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x591d(%rip), %rsi      # 0xbca3
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5917(%rip), %rsi      # 0xbcb1
movl $0xc, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5910(%rip), %rsi      # 0xbcbe
movl $0xb, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x5908(%rip), %rsi      # 0xbcca
movl $0xa, %edx
movq %rbx, %rdi
callq 0x2140
leaq 0x58ff(%rip), %rsi      # 0xbcd5
movl $0x8, %edx
jmp 0x5dd6