De Visual Basic no se mucho,e programado juegos como el TragaMonedas,La
Generala,el MemoTest y un par más,pero estos eran juegos faciles...
Bueno les paso a explicar...
Mi profeso de Algoritmos (Materia basada en la estructuración de
datos,no se para que lo explico si ustedes deven saber) me ha pedido
que para Pasar de año (estoy en 2 año y pasare a 3) tengo que tener
hacho el juego "Same".Para el que no sepa,es el juego que tira un
tablero de 10*15 lleno de bolitas de colores y que cuando haces click
en estas las mismas desaparecen si tiene una bolita compañera cerca
(arriba,abajo,derecha e izquierda) del mismo color...
Bueno me gustaria que me ayuden con la parte de "seleccionar la bolita
y que esta se de cuenta que las cercanas son las mismas y en conjunto
desaparescan (nose si me esplico...)"...Lo que ya tengo es la etapa de
"Tirar el Tablero" y tengo un sistema de puntuación para las
bolitas...
Me gustaria que me ayuden y desde ya muchas gracias por leerme el
tema...
Si tienen el Codigo fuente del juego y me lo quieren facilitar no hay
problema ;)...
Con esto no piensen que soy un vago,es que ya trate de muchas maneras y
ninguna a dado "resultados" y aca espero poder encontrar un poco de
ayuda y/u orientación...
Desde ya muchas gracias...!
Espero respuestas...
Huidos...
Paso a explicar...
Hay una materia en la cual para pasar de año (de 2 a 3) el profeso te
pide que programes un juego en Visual Basic,lamentablemente segun la
nota te dan el juego (osea juegos dificiles a los que tienen mayor
nota)...Ami me toco el juego Same,para el que no sepa que juego es,es
un juego en el cual se encuentra un tablero de 10*15 lleno de pelotitas
de colores,cuando uno toca una bolita de un color,si esta tiene bolitas
del mismo color cerca (arriba,abajo,derecha e izquierda) desaparecen en
conjunto y se te suman puntos...
Quisiera que me ayuden con la etapa en la "que la bolita se de cuenta
cuenta que serca suyo ahy bolitas del mismo color y estas desaparescan
en conjunto,a su ves las que desaparescan que tambien se fijen si
tienen bolitas del mismo color cerca y desaparescan,asi
sucesivamente..."(no se si me explique,puf...)
Bueno necesitaria ayuda en esa etapa ya que la etapa de "Tirar Tablero"
ya la tengo y tambien tengo un sistema de puntuación para las
bolitas...
Bueno desde ya muchas gracias por leerme el tema y apreciaria mucho sus
ayudas...
Si alguno tiene el Codigo fuente y me lo quiere brindar con mucho gusto
lo acepto ;) ...
Ojo! no piensen que por hacer esto soy un vago y no se nada de
programación VisualBasic,se algo pero es muy basico,hice juegos como
El Traga Monedas,La Generala,MemoTest,y otros más,todos
fáciles...Solamente me trabe en esta parte y necesito ayuda...
Bueno espero que me ayuden...Por favor la nesecito ya que sin el juego
no podre pasar de año...
Para los que me ayuden como muestra de agradecimiento hacia ustedes
pondre sus nombres los creditos...
Bueno muchas gracias y espero su ayuda...
Huidos...
Ss.
Huidos... ha escrito:
Ss.
Alejandro
eliminoBola(coordX, coordY)
???
fin
veamos:
eliminoBola(coordX, coordY, optional color)
si (hayBola Y (esnulo(color) o bolaActual.color = color)) entonces
...
...
(proceso para borrar bola, lo que sea, no está acá el
problema)
...
...
si coordX < mayor x del tablero entonces
eliminoBola(coordX +1, coordXy, bolaActual.color)
finsi
si coordX > menor x del tablero entonces
eliminoBola(coordX -1, coordXy, bolaActual.color)
finsi
si coordY > menorY del tablero entonces
eliminoBola(coordX, coordXy -1, bolaActual.color)
finsi
si coordY < mayorY del tablero entonces
eliminoBola(coordX, coordXy +1, bolaActual.color)
finsi
finsi
fin
La idea es: si recibo color, estoy llamando de una borrada anterior,
por lo que el color debe coincidir, de lo contrario estoy mandando
borrar la seleccionada, por lo que el color no importa.
La lógica es borrar esta, y (si no me voy del tablero) mando borrar
las adjasentes, dándoles la información necesaria para que decidan si
deben boorrarse o no. si no son del color (o si no hay bola ahí), no
pasará nada con las de alrededor. si son del color. se borrarán y
mandarán inpeccionar a las de alrededor.
Espero que te sirva, y que sea una ayuda a solucionar tu problema.
Contame como te va con esto...
Suerte,
pablo.barral
????
Entonses(Dudas):
1 vendria a ser: La variable,el evento?
2 vendria a ser: X r Y,valores del tablero?para posicionar la bolitas
(Tirar tablero) "Filas y columnas" ???
3 vendria a ser: (?) Otro color (?)
4 vendria a ser: Eso es una de las cosas que no entiendo...If (haybola
Y? [Que si hay bolas Y precionadas(?)]...mmm no entiendo esa parte...
"Aclaracion":Para que entiendan mejor esto,Lo que esta ente [] son
comentarios o "señaladores"
Bueno espero ser claro...
Che de onda,si quieren paso lo que hice hasta el momento en un archivo
adjunto asi se fijan en donde me trabe...;) Sin compromiso para que
entiendan las variables que manejo y asi me lo poden explicar
biem,Gracias a todos...
Desde ya vuelvo a reiterar Mis gracias a la dedicación que le ponen a
este tema...MUCHAS GRACIAS...
[1]eliminoBola([2]coordX, coordY, [3]optional color)
si ([4]hayBola Y (esnulo(color) o bolaActual.color = color))
entonces
...
...
(proceso para borrar bola, lo que sea, no está acá el
problema)
...
...
si coordX < mayor x del tablero entonces
eliminoBola(coordX +1, coordXy, bolaActual.color)
finsi
si coordX > menor x del tablero entonces
eliminoBola(coordX -1, coordXy, bolaActual.color)
finsi
si coordY > menorY del tablero entonces
eliminoBola(coordX, coordXy -1, bolaActual.color)
finsi
si coordY < mayorY del tablero entonces
eliminoBola(coordX, coordXy +1, bolaActual.color)
finsi
finsi
fin
Está claro que es todo pseudocódigo, verdad?
1) Es el procedimiénto/método/sub al que llamás que se encarga de
borra la bola en las coordenadas señaladas, y a su vez se encarga de
hacerle llegar a las bolas aledañas la misma instrucción, y que ellas
se encarguen de seguir. Será como una cadena, cada una hace lo que
debe y transnmite el mensaje a las de alrededor para que hagan lo
propio.
2) coordX y coordY son los parámetros que le pasas para decirle al
método las coordenadas en la matriz de la bola de la que te vas a
encargar en este momento.
3) Al comenzar a ejecutar el proceso, vas a borrar la bola
seleccionada, sin importar el color que tenga. En este caso, al método
no le pasás el parámetro color. Por eso lo ponemos opcional, para que
no te genere un error. El método por su lado tomará el color de la
bola que querías borrar, para que al pasarle la posta a las bolas
aledañas, les diga que colo r estamos borrando para que cada una sepa
si (siendo del mismo color) ha de borrarse y continuar la cadena, o (si
es de otro color o no hay bola presente enn ese casillero) no hacer
nada y por consiguinte cortar su parte de la cadena (no sigue
transmitiendo la instrucción a sus bolas aledañas).
4)
a) Si no hay bola, no hago nada. Es un casillero vacío.
b) ahora, si hay bola, pueden pasar 2 cosas (i, ii):
i) Si el parámetro color es valor nulo (si no se la pasas) Borro la
bola ya que es el primer llamado (el que ejecutas vos y que inicia la
cadena).
ii) Si el parámetro color NO es nulo, pueden pasar dos cosas (x, y):
x) Si es el color de la bola que estoy inspeccionando, es diferente No
la borro, ya que la bola en las coordenadas actuales no es del color de
las que estoy borrando.
y) Si es el color de la bola que estoy inspeccionando, la borro, ya que
el parámetro me indica el cooor de las nolas que estoy borrando. De
ese modo la borra y continúa on las aledañas.
Espero haber aclarado tus dudas. Cualquier cosa seguí preguntando. Si
queré mandar alguna parte del código, hacelo a pablo....@gmail.com
(mi casilla).
Suerte, y espero tu respuesta.