elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 59
261  Foros Generales / Foro Libre / Re: Juego para un Tutorial (Ustedes son el protagonista) en: 1 Mayo 2017, 20:21 pm
Electro si te tuve en cuente, el problema es que aun no puedo implementarte (arma electrica) xD


angel lex... tienes razón, y tu como otros habrán tenido este problema. Ya estaria solucionado (no tomaba tus mensajes ya que tienes el separador . en el mismo) y al transformarlo a int no pasaba nada.

Dime si ya funciona :D

(Recuerda que hay que descargar otra vez desde el link que actualice arriba)
262  Foros Generales / Foro Libre / Re: Juego para un Tutorial (Ustedes son el protagonista) en: 1 Mayo 2017, 16:41 pm
Lo de Github lo voy a hacer pero aun esta muy verde. Quizás hoy por la noche.

Lo del login no lo hice porque no quería que pensaran que intentaba crackear cuentas o algo así.

De igual forma es mejor así, ya que pueden experimentar con otros usuarios, por ejemplo: "randomize-u42216" u otros que me he topado por ahí.

Gracias por comentar  :P
263  Foros Generales / Foro Libre / Juego para un Tutorial (Ustedes son el protagonista) en: 1 Mayo 2017, 15:58 pm


Hola, ayer ante-ayer se me ocurrió hacer un tutorial enorme sobre como hacer un juego en Java. La idea era hacerlo completo y desde 0 sin usar ningún framework (osea, controlar los gráficos, el gameloop, etc.)

Aun lo estoy desarrollando, y seguramente lo termine la próxima semana, pero de igual forma me gustaría saber su opinión y si me pueden ayudar (con sprites 16x16, o sonidos libres, etc.)

En la actualidad solo se trata de sobrevivir a la oleada de enemigos que al tocarte te hacen daño, para eso te mueves con: ASDW y atacas con el mouse.

Existe un sistema de "niveles", pero es particularmente especial. El sistema te permite distribuir tus atributos en: "vida", "velocidad", "daño", "velocidad de disparo", "delay de disparo".

Pero no puedes subir de nivel en el juego... es imposible. He aquí la particularidad, el juego te pedirá tu id (luego explico cual es) y con ella entrara a tu perfil de elhacker.net, tu experiencia serán tus mensajes!

Tu ID la puedes ver al entrar a tu perfil (no al modificarlo, sino que al entrar como si fueras otro usuario), en la url veras algo como esto:

http://foro.elhacker.net/profiles/nacho-u537557.html

Tu id para el juego esta marcada en negrita



Para distribuir tus puntos de habilidad tendrás que poner en tu firma lo siguiente:

Código:
[color:#ff0000]
[life:0]
[attack:0]
[speed:1]
[shootSpeed:0]
[shootDelay:0]

(por cierto, se que seria mas apropiado health, realmente no se en que pensaba  :xD)

El color te permite cambiar el color de tu personaje, por lo que no requiere ningun mensaje ni nada.

El resto son valores que tu les tienes que entregar (pero cuidad, tienes un máximo de puntos, si no los respetas el programa no te hará caso).

Lo siguiente es el valor de cada punto de cada cosa:
Código:
10 mensajes por cada 1 de vida
20 mensajes por cada 1 de ataque
200 mensajes por cada 1 de velocidad
100 mensajes por cada 1 de velocidad del disparo
10 mensajes por cada 1 de reducción de delay de disparo

En el caso de las velocidades el máximo es 5 y en el caso del delay el máximo es 900.
(los demás no tienen máximo)

En mi perfil encontraran un ejemplo de como se  hace todo, por lo demás dejo el link de descarga del .jar (utiliza la ultima versión de java, y aun puede que tenga errores):


https://mega.nz/#!alVmQYyI!RSXCPX7yOd-xhLw29sdrmyiHuWS3475OQf4zRxiYVWo


Imagen:



Cualquier cosa me dicen, estaré pendiente y por cierto... hay algunos usuarios que tienen cosas especiales. (Y seguiré agregando mas, pero necesito seguir programando)

El tutorial estará para la sub-siguiente semana ya que tengo esta semana para terminar lo que me falta (que es muuucho) Cualquier idea es Bienvenida.
264  Programación / Java / Re: duda al hacer un programa en: 1 Mayo 2017, 14:53 pm
Cualquier cosa dinos!. Suerte con tu trabajo.  :P
265  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 13:55 pm
characterFor

Es el nombre que le puse a ese ciclo. Es como una etiqueta, para referirme a ese ciclo en un futuro (tengo entendido que no es muy buena practica hacerlo de esta forma, pero es fácil de implementar).

Por tanto cuando yo abajo pongo: continue characterFor, le estoy diciendo que termine de hacer lo que esta haciendo y que continue con la siguiente iteracion del ciclo llamado de esa forma.

Código
  1. nombreCiclo : for(int i = 0;i<10; i++) {
  2.  
  3. }
  4.  
266  Foros Generales / Foro Libre / Re: Vale la pena resistir las penurias, a un sabiendo que tienes pocas posibilidades en: 1 Mayo 2017, 11:39 am
Eleкtro DJ?

Fuera broma, tengo 200mb de Internet y me pega un buen "lagaso" el entrar a este post por tu culpa.


Nose que le pasa a Hason, pero pense que era al único que le gustaba "Infected Mushroom - Becoming Insane" xD
267  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 11:21 am
Ahh, ok, ya entendí.

Solo aclárame una cosa: ¿Si yo ingresara "SABR" en vez de "ABRS" el resultado seria el mismo?


Por otro lado, cuando publiques código usa las etiquetas GeSHi con el lenguaje de tu Código. (Selecciona tu código y arriba, alado de una A roja, aparece un select. Ahí selecciona Java).


EDITO:

Como no me respondiste, esto es lo que creo que quieres:
Código
  1. public static char[][] sustituir(char[][] sopa, String palabra) {
  2.        characterFor : for (int c = 0; c < palabra.length(); c++) {
  3.            for (int i = 0; i < sopa.length; i++) {
  4.                for (int j = 0; j < sopa[i].length; j++) {
  5.                    if(sopa[i][j] == palabra.charAt(c)) {
  6.                        sopa[i][j] = '*';
  7.                        continue characterFor;
  8.                    }
  9.                }
  10.            }
  11.        }
  12.        return sopa;
  13.    }

Si no entiendes algo, dime.
268  Programación / Java / Re: Recorrer y sustituir en matriz JAVA en: 1 Mayo 2017, 09:27 am
No entiendo tu código ya que si bien el "char[][] m" puede ser tu sopa de letras y el "String s" puede ser la palabra que agregas... en ningún momento dices donde agregarla.

Entiendo que tu función es algo como esto:

Entradas: char[][] m (Sopa), String s (Palabra)
Proceso: Remplazar en la sopa de letras los espacios vacíos por las letras de la palabra agregada.
Salida: char[][] m (Sopa con las letras agregadas).

Y al menos yo no veo forma de conseguir esa salida con las entradas que me das. Por tanto,  que tal si agregamos tres entradas mas: int ix (Punto x inicial), int iy (Punto y inicial) y boolean isHorizontal (Para saber si tengo que agregar la palabra en horizontal o vertical).

Con estos tres parámetros mas podrás saber en donde empezar a agregar y hacia donde agregarlo.

Código
  1. public static void main(String[] args) {
  2.  
  3.        // ACA CREO MI SOPA Y LE PONGO LOS ESPACIOS EN BLANCO (Le asigno el mismo len para que sea cuadrado)
  4.        int len = 20;
  5.        char[][] sopa = new char[len][len];
  6.        for (int i = 0; i < sopa.length; i++) {
  7.            for (int j = 0; j < sopa[i].length; j++) {
  8.                sopa[j][i] = ' '; // PONGO TODOS LOS ESPACIOS EN BLANCO
  9.            }
  10.        }
  11.        // ACA TERMINO DE PONER LOS ESPACIOS EN BLANCO
  12.  
  13.  
  14.        // AHORA IMPRIMIRE MI MATRIZ SOPA, PARA VER QUE ESTA SIN "NADA" DENTRO
  15.        for (int i = 0; i < len; i++) {
  16.            for (int j = 0; j < len; j++) {
  17.                System.out.print("[" + sopa[j][i] + "]"); // Los volteo ya que la forma natural seria imprimir de cada "x" todos los "y" y quiero que sea de cada "y" los "x" como una pantalla
  18.            }
  19.            System.out.println("");
  20.        }
  21.        System.out.println("\n\n----------------\n\n"); // Este es un espacio para que no se me junte con la siguiente
  22.        // TERMINE DE IMPRIMIRLO
  23.  
  24.        String palabra = "elhacker.net"; // AGREGARE ESTA PALABRA
  25.        int x = 2; // EN X = 2
  26.        int y = 4; // E Y = 4 -- RECUERDA QUE PARTEN EN 0
  27.        boolean isHorizontal = false;
  28.  
  29.        // Ahora uso mi funcion:
  30.        sopa = sustituir(sopa, palabra, x, y, isHorizontal);
  31.  
  32.        // AHORA IMPRIMIRE MI MATRIZ SOPA, PARA VER QUE FUNCIONO
  33.        for (int i = 0; i < len; i++) {
  34.            for (int j = 0; j < len; j++) {
  35.                System.out.print("[" + sopa[j][i] + "]");
  36.            }
  37.            System.out.println("");
  38.        }
  39.        // TERMINE DE IMPRIMIRLO
  40.  
  41.    }
  42.  
  43.    public static char[][] sustituir(char[][] sopa, String palabra, int x, int y, boolean isHorizontal) {
  44.  
  45.        // VALIDO QUE SE PUEDA AGREGAR - QUE NO EXCEDA EL TAMAÑO MAXIMO DE LA MATRIZ, ESTO ES LO QUE TE PASA A TÍ... (EXACTO COMO TU DICES)
  46.        if(isHorizontal) {
  47.            if(sopa.length < x + palabra.length()) {
  48.                System.out.println("NO SE PUEDE AGREGAR LA PALABRA");
  49.                return sopa;
  50.            }
  51.        } else {
  52.            if(sopa[x].length < y + palabra.length()) {
  53.                System.out.println("NO SE PUEDE AGREGAR LA PALABRA");
  54.                return sopa;
  55.            }
  56.        }
  57.        // TERMINO DE VALIDAR
  58.        // AHORA AGREGO
  59.        if(isHorizontal) {
  60.            for (int i = x; i < palabra.length() + x; i++) {
  61.                sopa[i][y] = palabra.charAt(i - x);
  62.            }
  63.        } else {
  64.            for (int i = y; i < palabra.length() + y; i++) {
  65.                sopa[x][i] = palabra.charAt(i - y);
  66.            }
  67.        }
  68.        return sopa;
  69.    }
  70.  

Normalmente no pondría todo el código, peor hoy me siento bondadoso (o malo, depende de como lo mires).

Suerte! (Cualquier cosa nos dices, seguro yo o alguien mas te responderá... me demore en responder ya que vi que no estaba en Java y quería esperar que lo cambiaran  :xD solo por joder.)
269  Programación / Java / Re: duda al hacer un programa en: 30 Abril 2017, 21:54 pm
Hola, no tengo la suficiente información para poder ayudarte mejor, pero quizás esto sea suficiente:

Estas serian tus clases:
NombreAtributosFunciones
Cliente -id, -nombre, ...constructor(name), getId(): id, getNombre(): nombre, .... (Pones el resto)
Musica-id, -nombre, -genero, -precioconstructor(name, genero, precio), getId(): id, getNombre(): nombre, reproducir() : void, .... (Pones el resto)
Venta-id, -cliente, -musicas, -totalconstructor(-cliente, -musicas), getId(): id, getMusicas(): musicas, .... (Pones el resto)

Ok, lo primero que tienes que entender es que la clase Musica es una clase abstracta. Esto pasa ya que no puedes comprar "Musica" asi como así, tienes que comprarla en un formato ya sea CD, Casete o Vinilo.

Portanto, dicha clase abstracta al ser heredada (por ejemplo por cd) le pedira que esta implemente su constructor y sus metodos abstractos:

Código
  1. public Contructor(String nombre, String genero, int Precio) {
  2.    /* ... */
  3. }
  4. public void Reproducir() { /* . PON LO QUE QUIERAS, LA GRACIA ES QUE SE NOTE QUE CADA UNO SE REPRODUCE DE FORMA DISTINTA . */}
  5.  

(Si necesitas mas código de ejemplo dime)

Bien, ahora, no se si realmente te piden que esto sea "eficiente, gastar pocos recursos o algo así" en dicho caso te la tendrás que ingeniar mas, pero si no te lo exigen... es facil.

(En la siguiente parte supongo que crear cada producto unitariamente, y cada producto osea: CD, Vinilo, Disquete. Tiene su stock, su genero, nombre etc.)

Bueno, probablemente te pidan hacer algo similar a una base de datos, es por esto que puse el campo "id" en todas las clases. Una forma efectiva (probablemente no la mas eficiente) de simular una base de datos con dicho campo es la siguiente:

Código
  1. public class Cliente {
  2.    public static int IDENTIFICATOR = 0;
  3.    private final int id;
  4.    private String name;
  5.    public Cliente(String name) {
  6.        this.id = Cliente.IDENTIFICATOR++;
  7.        this.name = name;
  8.    }
  9. }
  10.  

De esta forma, la variable IDENTIFICATOR que al ser static no depende de la instancia sino que es global siempre asignara su valor a la id del cliente y luego aumentara su propio valor en 1, de esta forma el siguiente cliente tendrá una id mas.. Y ya esta, con eso empleaste las IDs autoincrementales.

Bien, ahora como guardamos todos los clientes (para poder hacer una búsqueda, por ejemplo por su id).

Aca podrías usar un Diccionario con la clase Map, pero entiendo que posiblemente este sea un ejercicio basico, (y al menos a mi nunca me mencionaron eso en la universidad... realmente no me enseñaron nada (asco de universidad) ).

Así que usaremos un ArrayList. Que es como un Array cualquiera, solo que no tiene fin, puedes poner todos los elementos que quieras!! (prácticamente hablando).

Entonces en nuestra clase Cliente hacemos agregamos lo siguiente:

Código
  1. public static ArrayList<Cliente> CLIENTES = new ArrayList<>();

Y en el constructor agregamos el add:
Código
  1. CLIENTES.add(this); // justo al  final

De esta forma tenemos una "base de datos de clientes". Puedes hacer esto mismo con el resto. Pero recuerda, no lo hagas en binilo, CD, o Disquete... puesto que esto tiene que estar implementado en la clase Musica (De esta forma tendras una "Base de Datos" o mas bien "Tabla" única para toda la música sin importar que sea!)

...

Bueno, ahora para obtener los valores puedes recorrer el arreglo en busca de la ID, o si quieres por el nombre, etc.. eso te lo ingenias. Por ahora te dejo el código de la ID:

Código
  1. public int getId() {
  2.        return this.id;
  3.    }
  4.    public static Cliente findClient(int id) {
  5.        for(Cliente cliente : CLIENTES) if(id == cliente.getId()) return cliente;
  6.        return null;
  7.    }
  8.  

Si la id es igual al cliente que estamos iterando entonces lo retorna. Y si después de todas las iteraciones no se encuentra... regresa un valor nulo (luego tu validas que si es null imprima un mensaje diciendo que no existe).

Y ahora, recuerdas que en la venta tenias "cliente" y "musicas", pues dichos atributos se verían así:

Código
  1.    private Cliente cliente;
  2.    private ArrayList<Musica> musicas;

Entonces es facil, al concretar una venta generas un ArrayList con todas las canciones que quiere el cliente y junto a los datos del cliente lo pasas por el constructor. Para que este se almacene en nuestro ArrayList de Ventas, con una id unica... bla bla bla.

Si no te queda claro dime. Y mas tarde te respondo (que tengo que salir).





270  Foros Generales / Noticias / Re: Demuestran que crear una máquina del tiempo es posible en: 30 Abril 2017, 19:23 pm
Pruebame que no hay una pequeña tetera de loza rosa orbitando al sol a una distancia de un millón exacto de kilómetros

 :xD :xD Clásico ejemplo.

Ojo con no confundir "teoría" con "hipótesis".

Una hipótesis es simplemente una idea que esta puesta en duda.
Una teoría comprende evidencias obtenidas de pruebas e investigaciones.

Por otra parte una ley, es una teoría con fundamento matemático.
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 59
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines