Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 08/08/14, 18:55:59
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Desarrollo Juego Memorice

Hola!. Soy egresado de Ing. Informática de la Universidad Santo Tomas, Chile. Soy nuevo en lo que es con el desarrollo de APP en Android. Actualmente estoy desarrollando una mini app para niños con juegos didácticos. Me gustaría desarrollar un juego de tipo 'Memorice', pero no tengo muchos conocimientos sobre metodos en el desarrollo Android. Me gustaría saber si alguien acá ha desarrollado algun juego parecido, como para que me de una ayudita. Que metodos usar, si alguien tiene algun tutorial para aprender, etc. (Estoy desarrollando con Eclipse.)

Actualmente tengo este codigo. Una Gridvview que es llenada con un arraylist de imagenes(animaleslist).Necesito generar el random del arraylist de imagenes , para que salgan desordenadas pero en parejas.

Saludos y Gracias de Ante mano.

Juego3libre.xml
Código:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/logo"
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/juegayaprendelogo" />

    <GridView
        android:id="@+id/GridView"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="44dp"
        android:numColumns="4"
        tools:context=".GridImageActivity" >
    </GridView>

</RelativeLayout>
Juego3Libre.Java
Código:
package com.paquete.juegayaprendeapp;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListAdapter;


public class Juego3Libre extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.juego3libre);
		//Acá seteo el nombre del layout
		this.setTitle("JUEGO MEMORICE");

		GridView gridview = (GridView) findViewById(R.id.GridView);
		gridview.setAdapter(new GridViewImageAdapter(this));

	}
}
GridViewImnageAdapter.java
Código:
package com.paquete.juegayaprendeapp;

import java.util.ArrayList;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class GridViewImageAdapter extends BaseAdapter{

	 private Context mContext;
	 private ArrayList<Integer> animaleslist = new ArrayList<Integer>(); 

	 /** Constructor de clase */
	 public GridViewImageAdapter(Context c){
	  mContext = c;
	  //se cargan las miniaturas
	  animaleslist.add(R.drawable.caballo);
	  animaleslist.add(R.drawable.cerdo);
	  animaleslist.add(R.drawable.leon);
	  animaleslist.add(R.drawable.rana);
	  animaleslist.add(R.drawable.gato);
	  animaleslist.add(R.drawable.gallo);
	  animaleslist.add(R.drawable.foca);
	  animaleslist.add(R.drawable.mono);
	  
	  animaleslist.add(R.drawable.caballo);
	  animaleslist.add(R.drawable.cerdo);
	  animaleslist.add(R.drawable.leon);
	  animaleslist.add(R.drawable.rana);
	  animaleslist.add(R.drawable.gato);
	  animaleslist.add(R.drawable.gallo);
	  animaleslist.add(R.drawable.foca);
	  animaleslist.add(R.drawable.mono);
	 }
	 

	 @Override
	 public int getCount() {
	  return animaleslist.size();
	 }

	 @Override
	 public Object getItem(int position) {
	  return animaleslist.get(position);
	 }

	 @Override
	 public long getItemId(int position) {
	  return 0;
	 }

	 @Override
	 public View getView(int position, View view, ViewGroup viewgroup) {
		  
		  ImageView imageView = new ImageView(mContext);
		  imageView.setLayoutParams( new GridView.LayoutParams(85, 85) );
		  imageView.setScaleType( ImageView.ScaleType.CENTER_CROP );
		  imageView.setPadding(5, 5, 5, 5);
		  imageView.setImageResource( animaleslist.get(position) );
		  
		  
		  return imageView;  
		  
	 }
	
	
}

Última edición por marellanor Día 08/08/14 a las 21:39:02.
Responder Con Cita


  #2  
Viejo 08/08/14, 22:09:45
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Collections.shuffle(animaleslist) y ya la tienes ordenada al azar.

Saber si dos elementos son pareja es trivial comparando el valor de los dos elementos.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 09/08/14, 00:22:18
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
"probé con 'Collections.Shuffle(animaleslist);' y me manda error de sintaxis.

¿Qué podrá ser?."

Perdón Edit!, estaba utilizándolo mal ese método. Me funciona de maravilla el random con Collections.Shuffle.

Muchas Gracias!.

Última edición por marellanor Día 09/08/14 a las 00:34:16.
Responder Con Cita
  #4  
Viejo 14/08/14, 01:17:39
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Como se puede ver en los post de arriba. Tengo creada una gridview. Me gustaría saber como saber que imagen se esta tocando de la gridview y esconder dicha imagen.


Saludos
Responder Con Cita
  #5  
Viejo 14/08/14, 15:12:03
Array

[xs_avatar]
manolazo manolazo no está en línea
Miembro del foro
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Buenas.

Tendras que crear otra imagen por ejemplo un interrogante o lo que quieras, aparte de:
private ArrayList<Integer> animaleslist = new ArrayList<Integer>();, es decir otro ImageView.

Asignar un evento onClickListener a cada elemento del gridwiew a cada imagen y cambiar
imageView.setVisibility(View.Invisible) o View.Gone, y devolver o bien el interrogante o la imagen del arraylist . Aunque yo no lo plantearia asi

Lo que haria es crear un gridlayout y cada elemento con dos imageview uno visible y otro gone,
recorreria con un bucle for a cada elemento del grid y asignaria un onclicklistener y ahi implementaria la lógica.

SUpongo que habra muchas formas de hacerlo

Última edición por manolazo Día 14/08/14 a las 20:46:26.
Responder Con Cita
  #6  
Viejo 15/08/14, 18:35:50
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Quizas me puedan ayudar con este codigo.

 Cita:
@Override
public void onItemClick(AdapterView<?> partent, View v, int position, long id) {
// TODO Auto-generated method stub
Dialog d = new Dialog(this);
//d.setTitle("Imagen " + (position + 1) + " seleccionada");
//d.show();

ImageView imageview = new ImageView(this);
//Obetengo la imagen en la posicion tocada
imageview.setImageResource(animaleslist.get(positi on));
d.setContentView(imageview);
d.show();
}
Acá tengo el metodo onClick. Actualmente logro obtener la imagen del arraylist (animaleslist) cuando se toca en la gridview(la estoy mostrando con el d.show() para confirmar que me traiga la imagen). Pero no sé como setear esa imagen en la gridview. Cómo puedo setearla?

Saludos y gracias!!
Responder Con Cita
  #7  
Viejo 15/08/14, 23:00:52
Array

[xs_avatar]
marellanor marellanor no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: San Javier, Septima Región del Maule. Chile
Mensajes: 30
Modelo de smartphone: Samsung Galaxy Grand
Tu operador: Movistar
Me respondo solo jaja. Logre setear la imagen de un arraylist (animaleslist) segun la imagen que se ha clickeado en la gridview. Ahora tengo otra interrogativa. Alguien sabe como guardar una imagen de un arraylist en una variable para poder hacer las comparaciones si ambas imagenes son iguales?

Código:
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
       // TODO Auto-generated method stub

	ImageView imageview =(ImageView) v;
	//Obetengo la imagen en la posicion tocada y seteo la imagen
	imageview.setImageResource(animaleslist.get(position));
		
}


Saludos y gracias.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 19:29:53 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /