View Full Version : C++ Redimencionar tabelas | MineSweeper | class


MilliM
29-06-2006, 19:40
Boas...

tou com um pekeno problema... tenho d entregar um trabalho (jogo minesweeper) para a semana, e ainde ando com algumas dificuldades no codigo...

1º Aguem sabe como se redimencionam tabelas??
|> por ex-. tenho TAB [10][10] e quero transformar numa TAB [20][20].

2º Tenho uma class: class CQuadrado {
private:
int valor;
bool destapado;
public:
(...)
}

Como faço para criar uma tabela com essa class?? é k supostamente a class representaria um quadrado do minesweeper e queria criar uma tabela de [a]x[b] elementos.

Por favor ajudem-m...
já agora... se alguem tiver o algoritmo do minesweeper ja feito... ficava ETERNAMENTE AGRADECIDO!!! lol

[][]*MilliM*

DivXvid Fanatic
30-06-2006, 15:22
n terás q fazer alocaçao de memoria?

nothing
30-06-2006, 15:53
Não tenho a certeza, mas penso que não podes alterar o tamanho da tabela dinamicamente.

HecKel
30-06-2006, 16:25
Boas!

A sugestão que te dou é a seguinte (pouco prática, mas acho que funcional):
- Crias uma tabela auxiliar com maior capacidade
- Passas TODOS os elementos da tabela antiga para a auxiliar
- atribuis a tabela auxiliar à antiga, exemplo: tabelaantiga = tabelaauxiliar ;

Acho que isto dá, não tenho como confirmar....

Hipotese B:
Usa vectores :x2:

abraços, HecKel

JuSt_Me_AnD_yOu
30-06-2006, 21:35
Por acaso esse trabalho nao sera para a cadeira EDA de LEEC na FCT-UC?
Eu no meu projecto fiz isso com tabelas dinamicas. Tens outras maneira para fazer isso mas a que fiz deve ser a mais facil

dawn_to_dusk_
07-07-2006, 04:08
porque nao pedes ao utilizador para inserir ele o tamanho do tabuleiro e das minas ?

o tempo que fazes TAB[10][10] crias antes uma função q te desenhe o taboleiro em funçao de um int x , int y ...

digo eu ...
mas eu ainda nao fiz nada pro raio do campo minado :S

andradx
14-07-2006, 10:41
EDA EDA...

fazes Cclasse pointer**;
queres uma tabela a x b entao
pointer=new Cclasse[a];
for(i=0;i<b;b+=1)
pointer[a]=new Cclasse[b];

easy peacy japanesy right?
should do it:)