Open AdrianoDesenvolve opened 2 weeks ago
using namespace std;
//#include "matriz_palavra.h"
struct matriz { char matrix[max][max]; }M;
class modelo { public: modelo(); void exibir(); void texto_horizontal(int x,int y,string l,int letra_qut); void texto_horizontal_reverso(int x,int y,string l,int letra_qut); void texto_vertical(int x,int y,string l,int letra_qut); void texto_vertical_reverso(int x,int y,string l,int letra_qut); void texto_diagonal_Dbaixo(int x,int y,string l,int letra_qut); void texto_diagonal_Dcima(int x,int y,string l,int letra_qut); void forrar(); ~modelo();
private: char ponto; int tamanho; void receber(char i); char letra_aleatoria(); string nomes[30]; int cont_nomes; }; //---------------------------------------------
modelo::modelo() { this->ponto = '.'; this->tamanho = max; receber(this->ponto); }; //--------------------------------------------- void modelo::receber(char i)/privado/ { int x,y; for(x = 0; x < max; x++) { for(y = 0; y < max; y++) { M.matrix[y][x] = i; } } } //--------------------------------------------- void modelo::texto_horizontal(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x+cont] = this->ponto; } else { M.matrix[y][x+cont] = l[cont]; }
}
this->nomes[cont_nomes++] = l; } //--------------------------------------------- void modelo::texto_horizontal_reverso(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x-cont] = this->ponto; } else { M.matrix[y][x-cont] = l[cont]; }
this->nomes[cont_nomes++] = l; } //--------------------------------------------- void modelo::texto_vertical(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x+cont] = this->ponto; } else { M.matrix[y+cont][x] = l[cont]; }
} this->nomes[cont_nomes++] = l; } //--------------------------------------------- void modelo::texto_vertical_reverso(int x,int y,string l, int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x-cont] = this->ponto; } else { M.matrix[y-cont][x] = l[cont]; }
} this->nomes[cont_nomes++] = l; } //--------------------------------------------- void modelo::texto_diagonal_Dbaixo(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y+cont][x+cont] = this->ponto; } else { M.matrix[y+cont][x+cont] = l[cont]; } } this->nomes[cont_nomes++] = l; } //--------------------------------------------- void modelo::texto_diagonal_Dcima(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[x-cont][x+cont] = this->ponto; } else { M.matrix[y-cont][x+cont] = l[cont]; }
} this->nomes[cont_nomes++] = l; }
//--------------------------------------------- void modelo::exibir() { int x,y;
for(x = 0; x < this->tamanho; x++) { for(y = 0; y < this->tamanho; y++) { printf("%c ",M.matrix[x][y]); } printf("\n"); }
cout << "\n"; int i; for(i = 0; i < 30;i++) { if(nomes[i] == "") { continue; } else { cout << this->nomes[i] << endl; } } }; //--------------------------------------------- void modelo::forrar() { int x,y,cont;
for(x = 0; x < this->tamanho; x++) { for(y = 0; y < this->tamanho; y++) { if(M.matrix[x][y] == this->ponto) { M.matrix[x][y] = this->letra_aleatoria(); } } }
} //--------------------------------------------- char modelo::letra_aleatoria()/privado/ { //33 string let = "ABCDEFGHIJLMNOPQRSTUVXZWYK"; int i = rand() % let.capacity(); char z;
for(int x = 0; x <= let.capacity(); x++) { if(i == x) { z = let[x]; } } return z; } //--------------------------------------------- modelo::~modelo() {
}; //---------------------------------------------
//principal modelo *J = new modelo();
void adicionar_palavra();
int main() {
J->texto_vertical(2,2,"COMPUTADOR",10); J->texto_vertical_reverso(15,8,"SOFTWARE",8); J->texto_vertical_reverso(7,19,"IMPRESSORA",11); J->texto_horizontal_reverso(16,9,"TABLET",5); J->texto_horizontal(7,5,"MONITOR",7); J->texto_horizontal(6,10,"HARDDISK",8); J->texto_vertical_reverso(12,6,"MOUSE",5); J->texto_horizontal(12,16,"HARDWARE",8); J->texto_diagonal_Dcima(8,19,"APLICATIVO",10); J->texto_diagonal_Dbaixo(0,13,"DIGITAL",7); J->texto_diagonal_Dbaixo(3,3,"TECLADO",7); J->forrar(); J->exibir();
return 0; }
Meu programa para criar caça palavra
include
include
using namespace std;
include
include
define max 20
define max_text 20
//#include "matriz_palavra.h"
struct matriz { char matrix[max][max];
}M;
class modelo { public: modelo(); void exibir(); void texto_horizontal(int x,int y,string l,int letra_qut); void texto_horizontal_reverso(int x,int y,string l,int letra_qut); void texto_vertical(int x,int y,string l,int letra_qut); void texto_vertical_reverso(int x,int y,string l,int letra_qut); void texto_diagonal_Dbaixo(int x,int y,string l,int letra_qut); void texto_diagonal_Dcima(int x,int y,string l,int letra_qut); void forrar(); ~modelo();
private: char ponto; int tamanho; void receber(char i); char letra_aleatoria(); string nomes[30]; int cont_nomes; }; //---------------------------------------------
modelo::modelo() { this->ponto = '.'; this->tamanho = max; receber(this->ponto); }; //--------------------------------------------- void modelo::receber(char i)/privado/ { int x,y; for(x = 0; x < max; x++) { for(y = 0; y < max; y++) { M.matrix[y][x] = i;
}
}
} //--------------------------------------------- void modelo::texto_horizontal(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x+cont] = this->ponto;
} else { M.matrix[y][x+cont] = l[cont];
}
}
this->nomes[cont_nomes++] = l;
} //--------------------------------------------- void modelo::texto_horizontal_reverso(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x-cont] = this->ponto;
} else { M.matrix[y][x-cont] = l[cont];
}
}
this->nomes[cont_nomes++] = l;
} //--------------------------------------------- void modelo::texto_vertical(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x+cont] = this->ponto;
} else { M.matrix[y+cont][x] = l[cont];
}
} this->nomes[cont_nomes++] = l;
} //--------------------------------------------- void modelo::texto_vertical_reverso(int x,int y,string l, int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y][x-cont] = this->ponto;
} else { M.matrix[y-cont][x] = l[cont];
}
} this->nomes[cont_nomes++] = l;
} //--------------------------------------------- void modelo::texto_diagonal_Dbaixo(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[y+cont][x+cont] = this->ponto;
} else { M.matrix[y+cont][x+cont] = l[cont]; } } this->nomes[cont_nomes++] = l;
} //--------------------------------------------- void modelo::texto_diagonal_Dcima(int x,int y,string l,int letra_qut) { int cont;
for(cont = 0; cont < letra_qut;cont++) { if(l[cont] == 0) { M.matrix[x-cont][x+cont] = this->ponto;
} else { M.matrix[y-cont][x+cont] = l[cont]; }
} this->nomes[cont_nomes++] = l;
}
//--------------------------------------------- void modelo::exibir() { int x,y;
for(x = 0; x < this->tamanho; x++) {
for(y = 0; y < this->tamanho; y++) { printf("%c ",M.matrix[x][y]); } printf("\n");
}
cout << "\n"; int i; for(i = 0; i < 30;i++) { if(nomes[i] == "") { continue;
} else { cout << this->nomes[i] << endl; }
}
}; //--------------------------------------------- void modelo::forrar() { int x,y,cont;
for(x = 0; x < this->tamanho; x++) {
for(y = 0; y < this->tamanho; y++) { if(M.matrix[x][y] == this->ponto) { M.matrix[x][y] = this->letra_aleatoria();
}
}
}
} //--------------------------------------------- char modelo::letra_aleatoria()/privado/ { //33 string let = "ABCDEFGHIJLMNOPQRSTUVXZWYK"; int i = rand() % let.capacity(); char z;
for(int x = 0; x <= let.capacity(); x++) { if(i == x) { z = let[x]; } } return z; } //--------------------------------------------- modelo::~modelo() {
}; //---------------------------------------------
//principal modelo *J = new modelo();
void adicionar_palavra();
int main() {
J->texto_vertical(2,2,"COMPUTADOR",10); J->texto_vertical_reverso(15,8,"SOFTWARE",8); J->texto_vertical_reverso(7,19,"IMPRESSORA",11); J->texto_horizontal_reverso(16,9,"TABLET",5); J->texto_horizontal(7,5,"MONITOR",7); J->texto_horizontal(6,10,"HARDDISK",8); J->texto_vertical_reverso(12,6,"MOUSE",5); J->texto_horizontal(12,16,"HARDWARE",8); J->texto_diagonal_Dcima(8,19,"APLICATIVO",10); J->texto_diagonal_Dbaixo(0,13,"DIGITAL",7); J->texto_diagonal_Dbaixo(3,3,"TECLADO",7); J->forrar(); J->exibir();
return 0; }