marellanor
08/08/14, 18:55:59
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
<?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
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
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;
}
}
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
<?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
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
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;
}
}