viernes, 28 de octubre de 2016

PiratasGames-2017

Apps-PiratasGames, Aplicación Android, Versión del Juego la Culebra, pero con Piratas.

El presente juego tiene la presente trayectoria, una vez buscando en internet un curso bueno, bonito y barato para aprender a programar bajo Android me encontré con que GOOGLE, está dictando y lo sigue haciendo al día de hoy 14 de Mayo del 2017, cursos gratis con la universidad complutense de Madrid, España, al final del curso el cual lo recomiendo al 100% google te entrega un Diploma una vez apruebes el curso junto a la Universidad, que más se puede pedir, lo recomiendo al 1000% excelente curso, aquí le dejo el enlace para los que quieran iniciar este tipo de curso. https://cursos.formacionactivate.es/apps-moviles/curso , luego de este curso mi meta era desarrollar una aplicación android de entretenimiento, y buscando y buscando me encontré con https://videotutoriales.com y realicé un curso gratis en línea de como hacer un juego de piratas, y bueno me puse manos a las obras.

Al final del curso modifique todas las interfaces, todas las clases y los temas internos, es decir modifique todo al 100% y el resultado fue que pude crear mi propio framework para juego el cual les presento, https://github.com/tarsicio/Framework-Juegos-Android, dicho framework es libre GNU, en el está el código fuente del mismo y el archivo classes.jar el cual es el nucleo del juego.

Una vez terminado el Framework culminé la parte del juego el cual le presento, espero les guste. 

El juego completo y 100% Operativo  lo pueden DESCARGAR desde la siguiente dirección URL https://github.com/tarsicio/PiratasGames/releases 
Apps-PiratasGames-Android-2017 Aplicación de Juego PiratasGame-2017 para plataforma Android.
El presente juego, está basado en el juego de la culebra, pero con Barcos, Piratas, Tesoros y por supuesto en el Mar, si tocas la flecha verde del lado derecho del juego el barco girará en sentido de las agujas del reloj y si tocas la flecha verde del lado izquierdo del juego el barco girará en sentido contrario de las agujas del reloj.

El barco puede salir por un lado de la pantalla del teléfono y entrará por el lado contrario, es decir puede entrar por cualquier lado del teléfono y el mismo saldrá por el lado opuesto, cada vez que el barco recoja el botín, se suma  un pirata al barco y este va un poco más rápido, al ir tomando más tesoros sigue aumentando su velocidad y se va sumando el total de tesoro recolectado, el puntaje más alto se guarda en el teléfono, si el barco toca a un pirata de la cola el juego culmina y debe iniciar de nuevo, guardando el puntaje más alto.

Las imágenes fueron tomadas de Internet, imágenes GNU, todo esto por lo del tema de propiedad intelectual, se trató de buscar imágenes que fueran agradables a la vista humana y fácil de usar y comprender, si necesita pausar el juego lo puedes hacer en cualquier momento en el botón superior Izquierdo, el juego presenta dos tipos de pantallas, los tesoros aparecen en cualquier parte de la pantalla de forma aleatoria.

Cada vez que el banco toma un tesoro, este va sumando el puntaje en la parte inferior media del juego, el presente juego lo puedes utilizar desde la versión Android 2.3


La intención del presente juego es buscar el entretenimiento continuo y que todos los puedan disfrutar, espero cumplir con esta expectativa, sabemos que hoy en día los usuarios son muy exigentes en esta materia, pero este es mi primer juego hecho en Android, espero haberlo hecho bien, para ustedes.


Espero que se diviertan un rato, este Juego, nos permite crear nuestro propio Framework de juego base, con el cual pretendemos realizar nuestro segundo juego el "El-Quinto-Elemento" ó "The-Fifth-Element", esperalo, está en Diseño y Desarrollo, una vez culminado lo publicaremos en la Apps de Google, y por esta misma vía te lo comunicaremos o por Twitter

El presente Juego se realizó con nuestro Framework, el cual contiene las siguientes Interfaces y Clases, Te lo puedes descargar desde: https://github.com/tarsicio/Framework-Juegos-Android 

INTERFACES

En la parte del Framework te mostramos todas interfaces, no es nuestra intención mostrarte todo en ésta página, te lo puedes descargar de github y ver tú mismo todo el código fuente JAVA.

  • Acelerometro
  • Input
  • Teclado (KeyEvent)
  • Audio
  • Sonido
  • Gráficos
  • Pantalla
  • SingleTouch
  • MultiTouch
  • Pool
  • Pixmap
  • FileIO (Manejo de Archivos)
  • Juego
Todas estas interfaces son implementadas luego, como podemos ver se maneja lo necesario para manipular cada acción del teléfono, como es la pantalla, sonido, gráfico, audio, archivos, entre otros.

Por ejemplo la interface FileIO se observa de la siguiente manera.

package com.tarsicio.bibliotecagamesve.interfaces;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * Creado por el Autor el día 19/05/2016.
 * @author  Tarsicio Carrizales, twitter: @tarsicio_tic, Mail: telecom.com.ve@gmail.com
 * @version 1.0
 * Aplicación de Juego el Pirata (PiratasGames)
 */

public interface FileIO {

    /**
     * Metodo público sin implementar por la interface FileIO.java
     * La implementación se realiza en la clase AndroidFileIO.java
     *
     * El metodo leerAssets busca un archivo en particular dentro de la carpeta assets
     * dentro del proyecto del juego y lo retorna
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    public InputStream leerAsset(String nombreArchivo) throws IOException;

    /**
     *Metodo público sin implementar por la interface FileIO.java
     * La implementación se realiza en la clase AndroidFileIO.java
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    public InputStream leerArchivo(String nombreArchivo) throws IOException;

    /**
     *Metodo público sin implementar por la interface FileIO.java
     * La implementación se realiza en la clase AndroidFileIO.java
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    public OutputStream escribirArchivo(String nombreArchivo) throws IOException;
}

En la presente imagen se pueden observar el total de inteface.

CLASES

Al igual que las interface, se muestran las Clases, las cuales implementa todas y cada una de las interface, para seguir los pasos vamos a mostrar la Clase que implementa la interface FileIO.

la Clase AndroidFileIO.java la cual esta dentro del paquete modelo, queda de la siguiente manera.

package com.tarsicio.bibliotecagamesve.modelo;

import android.content.res.AssetManager;
import android.os.Environment;

import com.tarsicio.bibliotecagamesve.interfaces.FileIO;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * Creado por el Autor el día 19/05/2016.
 * @author  Tarsicio Carrizales, twitter: @tarsicio_tic, Mail: telecom.com.ve@gmail.com
 * @version 1.0
 * @see FileIO
 * Aplicación de Juego el Pirata (PiratasGames)
 */

public class AndroidFileIO implements FileIO {

    private AssetManager assets;
    private String rutaAlmacenamientoExterno;

    /**
     *
     * @param assets
     */
    public AndroidFileIO(AssetManager assets){
        setAssets(assets);
        setRutaAlmacenamientoExterno();
    }

    /**
     *
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    @Override
    public InputStream leerAsset(String nombreArchivo) throws IOException{
        return assets.open(nombreArchivo);
    }

    /**
     *
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    @Override
    public InputStream leerArchivo(String nombreArchivo) throws IOException{
        return new FileInputStream(getRutaAlmacenamientoExterno() + nombreArchivo);
    }

    /**
     *
     * @param nombreArchivo
     * @return
     * @throws IOException
     */
    @Override
    public OutputStream escribirArchivo(String nombreArchivo) throws IOException{
        return new FileOutputStream(getRutaAlmacenamientoExterno() + nombreArchivo);
    }

    /**
     *
     * @param assets
     */
    private void setAssets(AssetManager assets){
        this.assets = assets;
    }

    /**
     *
     */
    private void setRutaAlmacenamientoExterno(){
        this.rutaAlmacenamientoExterno = Environment.getExternalStorageDirectory()
                .getAbsolutePath() + File.separator;
    }

    /**
     *
     * @return
     */
    public AssetManager getAssets(){
        return this.assets;
    }

    /**
     *
     * @return
     */
    public String getRutaAlmacenamientoExterno(){
        return this.rutaAlmacenamientoExterno;
    }
}

Espero que lo disfruten y ayuden en su proyecto personal o de trabajo.

Saludos a todos
Atentamente,
Tarsicio Carrizales

No hay comentarios:

Publicar un comentario

Bienvenido a nuestro Blogspot sobre Aplicaciones Móviles.