⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 escenario.cpp

📁 Game developed with C++ and ALLEGRO
💻 CPP
字号:
#include <cstdlib>
#include<iostream>
#include<algif.h>
#include "Escenario.h"
#include "Monito.h"
#include "Momia.h"
#include "Cuadro.h"
#include<allegro.h>

using namespace std;

BITMAP *buffer;

int k,w,i,j;

Escenario::Escenario(){
                       anchura=600;
                       altura=400;
                       nivel=0;
                       mo=NULL;
                       mom=NULL;
                       for (i=0; i<6; i++)
                           for (j=0; j<6; j++){
                               tabla[i][j].setId(0);
                               tabla[i][j].setHere(false);
                               tabla[i][j].setHeremum(false);
                        }
                           
}
 
Escenario::Escenario(Personaje *mon,int an,int al,int n, Cuadro tabla[6][6], Momia *mm){
                       anchura=an;
                       altura=al;
                       nivel=n;
                       mo=mon;
                       mom=mm;
                       for (i=0; i<6; i++)
                           for (j=0; j<6; j++){
                               tabla[i][j].setId(0);
                               tabla[i][j].setHere(false);
                               tabla[i][j].setHeremum(false);
                        }
}
                         
void Escenario::cargar(int n)
{
     BITMAP *t,*it1,*it2,*lado,*f3,*f1,*li1,*li2,*ld1,*ld2,*piso;
     PALETTE pal;
     buffer=create_bitmap(600,400);
     
     li1=load_gif("imagenes/li1.gif",pal); 
     li2=load_gif("imagenes/li2.gif",pal);
     ld1=load_gif("imagenes/ld1.gif",pal);
     ld2=load_gif("imagenes/ld2.gif",pal);
     f3=load_gif("imagenes/f3.gif",pal);
     f1=load_gif("imagenes/f1.gif",pal);
     lado=load_gif("imagenes/lateral.gif",pal);
     
     for(i=50; i<=getAltura()-100; i+=50){
             draw_sprite(buffer,li2,200,i);
             draw_sprite(buffer,ld2,550,i);
     }
     draw_sprite(buffer,f1,200,0);
     draw_sprite(buffer,f3,200,350);
     draw_sprite(buffer,lado,0,0);
     
     
     
     switch (n)
     {
            case 0:
            
            tabla[0][0].setId(S1);tabla[0][1].setId(C1);tabla[0][2].setId(SD);tabla[0][3].setId(C1);tabla[0][4].setId(S1);tabla[0][5].setId(C1);
            
            tabla[1][0].setId(C1);tabla[1][1].setId(S1);tabla[1][2].setId(C1);tabla[1][3].setId(SL);tabla[1][4].setId(CD);tabla[1][5].setId(S1);
            
            tabla[2][0].setId(S1);tabla[2][1].setId(CL);tabla[2][2].setId(S1);tabla[2][3].setId(C1);tabla[2][4].setId(SL);tabla[2][5].setId(W);
            
            tabla[3][0].setId(C1);tabla[3][1].setId(SD);tabla[3][2].setId(C1);tabla[3][3].setId(S1);tabla[3][4].setId(C1);tabla[3][5].setId(SD);
            
            tabla[4][0].setId(S1);tabla[4][1].setId(C1);tabla[4][2].setId(SL);tabla[4][3].setId(C1);tabla[4][4].setId(S1);tabla[4][5].setId(CL);
            
            tabla[5][0].setId(C1);tabla[5][1].setId(S1);tabla[5][2].setId(C1);tabla[5][3].setId(S1);tabla[5][4].setId(C1);tabla[5][5].setId(S1);
            
            dibujar(tabla);
             
            break;
            case 1:
            
            tabla[0][0].setId(S1);tabla[0][1].setId(S1);tabla[0][2].setId(C1);tabla[0][3].setId(C1);tabla[0][4].setId(S1);tabla[0][5].setId(S1);
            
            tabla[1][0].setId(S1);tabla[1][1].setId(SU);tabla[1][2].setId(CL);tabla[1][3].setId(CU);tabla[1][4].setId(S1);tabla[1][5].setId(S1);
            
            tabla[2][0].setId(C1);tabla[2][1].setId(CU);tabla[2][2].setId(SU);tabla[2][3].setId(SU);tabla[2][4].setId(C1);tabla[2][5].setId(CL);
            
            tabla[3][0].setId(CR);tabla[3][1].setId(CU);tabla[3][2].setId(SL);tabla[3][3].setId(S1);tabla[3][4].setId(CU);tabla[3][5].setId(C1);
            
            tabla[4][0].setId(S1);tabla[4][1].setId(S1);tabla[4][2].setId(CU);tabla[4][3].setId(CD);tabla[4][4].setId(S1);tabla[4][5].setId(SU);
            
            tabla[5][0].setId(S1);tabla[5][1].setId(SU);tabla[5][2].setId(W);tabla[5][3].setId(CL);tabla[5][4].setId(SU);tabla[5][5].setId(S1);
                
            dibujar(tabla);
                 
            break;
            case 2:
            
            tabla[0][0].setId(T);tabla[0][1].setId(S1);tabla[0][2].setId(S1);tabla[0][3].setId(S1);tabla[0][4].setId(S1);tabla[0][5].setId(S1);
            
            tabla[1][0].setId(C1);tabla[1][1].setId(C1);tabla[1][2].setId(CU);tabla[1][3].setId(CR);tabla[1][4].setId(CU);tabla[1][5].setId(W);
            
            tabla[2][0].setId(S1);tabla[2][1].setId(T);tabla[2][2].setId(S1);tabla[2][3].setId(S1);tabla[2][4].setId(S1);tabla[2][5].setId(SU);
            
            tabla[3][0].setId(C1);tabla[3][1].setId(CR);tabla[3][2].setId(CU);tabla[3][3].setId(C1);tabla[3][4].setId(C1);tabla[3][5].setId(CL);
            
            tabla[4][0].setId(S1);tabla[4][1].setId(SU);tabla[4][2].setId(SL);tabla[4][3].setId(S1);tabla[4][4].setId(SL);tabla[4][5].setId(S1);
            
            tabla[5][0].setId(C1);tabla[5][1].setId(CL);tabla[5][2].setId(CU);tabla[5][3].setId(C1);tabla[5][4].setId(C1);tabla[5][5].setId(C1);
                
            dibujar(tabla);
                 
            break;
            case 3:
            
            tabla[0][0].setId(S1);tabla[0][1].setId(SL);tabla[0][2].setId(C1);tabla[0][3].setId(C1);tabla[0][4].setId(SL);tabla[0][5].setId(S1);
            
            tabla[1][0].setId(SR);tabla[1][1].setId(SU);tabla[1][2].setId(CL);tabla[1][3].setId(CU);tabla[1][4].setId(S1);tabla[1][5].setId(SL);
            
            tabla[2][0].setId(C1);tabla[2][1].setId(CD);tabla[2][2].setId(S1);tabla[2][3].setId(SR);tabla[2][4].setId(CR);tabla[2][5].setId(CU);
            
            tabla[3][0].setId(W);tabla[3][1].setId(CL);tabla[3][2].setId(S1);tabla[3][3].setId(S1);tabla[3][4].setId(CL);tabla[3][5].setId(C1);
            
            tabla[4][0].setId(SU);tabla[4][1].setId(S1);tabla[4][2].setId(C1);tabla[4][3].setId(C1);tabla[4][4].setId(SU);tabla[4][5].setId(S1);
            
            tabla[5][0].setId(S1);tabla[5][1].setId(S1);tabla[5][2].setId(C1);tabla[5][3].setId(CL);tabla[5][4].setId(SU);tabla[5][5].setId(S1);
                
            dibujar(tabla);
                 
            break;
            case 4:
            
            tabla[0][0].setId(S1); tabla[0][1].setId(C1); tabla[0][2].setId(S1);tabla[0][3].setId(C1);tabla[0][4].setId(S1);tabla[0][5].setId(C1);
            
            tabla[1][0].setId(CU);tabla[1][1].setId(SL);tabla[1][2].setId(C1);tabla[1][3].setId(S1);tabla[1][4].setId(C1);tabla[1][5].setId(S1);
            
            tabla[2][0].setId(S1);tabla[2][1].setId(C1);tabla[2][2].setId(SL);tabla[2][3].setId(C1);tabla[2][4].setId(SL);tabla[2][5].setId(CU);
            
            tabla[3][0].setId(C1);tabla[3][1].setId(S1);tabla[3][2].setId(CU);tabla[3][3].setId(SU);tabla[3][4].setId(CD);tabla[3][5].setId(S1);
            
            tabla[4][0].setId(T);tabla[4][1].setId(C1);tabla[4][2].setId(S1);tabla[4][3].setId(CU);tabla[4][4].setId(SL);tabla[4][5].setId(C1);
            
            tabla[5][0].setId(CU);tabla[5][1].setId(S1);tabla[5][2].setId(CU);tabla[5][3].setId(S1);tabla[5][4].setId(W);tabla[5][5].setId(S1);
            
            dibujar(tabla);
                 
            break;
     }
     draw_sprite(screen,buffer,0,0);
}

int Escenario::getNivel(){
    return nivel;
}

int Escenario::getAltura(){
    return altura;
}

int Escenario::getAnchura(){
    return anchura;
}

void Escenario::dibujar(Cuadro tabla[6][6])
{
     BITMAP *piso,*c1,*cu,*cd,*cr,*cl,*s1,*su,*sd,*sr,*sl,*m,*momia,*win,*t;
     PALETTE pal;
  
     piso=load_gif("imagenes/piso.gif",pal);
     c1=load_gif("imagenes/c1.gif",pal);
     cu=load_gif("imagenes/cu.gif",pal);
     cd=load_gif("imagenes/cd.gif",pal);
     cr=load_gif("imagenes/cr.gif",pal);
     cl=load_gif("imagenes/cl.gif",pal);
     s1=load_gif("imagenes/s1.gif",pal);
     su=load_gif("imagenes/su.gif",pal);
     sd=load_gif("imagenes/sd.gif",pal);
     sr=load_gif("imagenes/sr.gif",pal);
     sl=load_gif("imagenes/sl.gif",pal);
     m=load_gif("imagenes/md.gif",pal);
     momia=load_gif("imagenes/momd.gif",pal);
     t=load_gif("imagenes/trampa.gif",pal);
     win=load_gif("imagenes/win.gif",pal);
     k=w=0;
     
     for (i=50; i<=300; i+=50)
               
                 for (j=250; j<=500; j+=50)
                 {
                     switch (tabla[k][w].getId())
                     {
                            case S1:
                                 draw_sprite(buffer,s1,j,i);
                            break;
                            case SU:
                                 draw_sprite(buffer,su,j,i);
                            break;
                            case SD:
                                 draw_sprite(buffer,sd,j,i);
                            break;
                            case SR:
                                 draw_sprite(buffer,sr,j,i);
                            break;
                            case SL:
                                 draw_sprite(buffer,sl,j,i);
                            break;
                            
                            case C1:
                                 draw_sprite(buffer,c1,j,i);
                            break;
                            case CU:
                                 draw_sprite(buffer,cu,j,i);
                            break;
                            case CD:
                                 draw_sprite(buffer,cd,j,i);
                            break;
                            case CR:
                                 draw_sprite(buffer,cr,j,i);
                            break;
                            case CL:
                                 draw_sprite(buffer,cl,j,i);
                            break;
                            case T:
                                draw_sprite(buffer,t,j,i);
                            break;
                            case W:
                                draw_sprite(buffer,win,j,i);
                            break;
                            }
                            w++;
                 }
                 k++;
                 
                 
                 draw_sprite(buffer,momia,mom->getX(),mom->getY());
                 draw_sprite(buffer,m,mo->getX(),mo->getY());
                 draw_sprite(screen,buffer,0,0);
                 //destroy_bitmap(buffer);
     
}
Escenario::~Escenario(){
                        cout<<"Destructor de  Cuadro"<<endl;
                        delete mo;
                        delete mom;
                        
                  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -