Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mitgus

#21
Java / Re: [principiante] Loteria
27 Junio 2013, 21:17 PM
Está bien, sintaxis limpia y clara. Lo que te puedo recomendar es que lo hagas mediante un Thread y algo muy importante:

Aprovecha la POO, no hagas todo en el main. Así tendrás un código limpio, y fácil de mantener.

Código (=java) [Seleccionar]
import java.util.Random;
import java.util.Scanner;

public class Loteria {

int choice;
int[] tickets;
int[] yourTickets;
int matched;
Scanner keyboard = new Scanner(System.in);

public Loteria(){
Jugar instance = new Jugar();
instance.start();
}

void generar_tickets(int eleccion){

System.out.println("\nPrinting tickets...");
System.out.println("----------------------");

Random generateNumbers = new Random();
tickets = new int[59];
yourTickets = new int[eleccion];
int i;

// Generate list of numbers
for(i = 0; i < tickets.length; i++) {
tickets[i] = generateNumbers.nextInt(60);
}

// Give him his tickets
System.out.print("\nThese are your tickets: \t");
for (i = 0; i < yourTickets.length; i++) {
yourTickets[i] = generateNumbers.nextInt(60);
System.out.print(yourTickets[i] + " ");
}

} // fin metodo


void comparar(){

System.out.println("\n\nLet's if you won something... \n");

// Check if something matched
for(int i = 0; i < yourTickets.length; i++) {
for(int j = 0; j < tickets.length; j++) {
if (yourTickets[i] == tickets[j]) {
matched++;
     }
   }
}

// Make a pause
try {
Thread.sleep(3000);
} catch(InterruptedException e) {
}

switch (matched) {
case 1:
System.out.println("You won $100!");
break;

case 2:
System.out.println("You won $200!");
break;

case 3:
System.out.println("You won $500!");
break;

case 4:
System.out.println("You won $800!");
break;

case 5:
System.out.println("GREAT. You've got the pot: $1000!");
break;

case 0:
System.out.println("Have luck next time!");
break;

default:
System.out.println("Something went wrong");
System.exit(1);
}

} // fin metodo

boolean jugar_denuevo() {

// Ask if he wants to try again
System.out.print("Would you like to try again? (X to exit) \t");
String tryAgain = keyboard.next();

if(tryAgain.compareToIgnoreCase("x") == 0) {
System.out.println("Thank you. Bye");
System.exit(0);
return false;
}
else {
// Just clear screen
for (int l = 0; l < 1000; l++) {
System.out.println();
  }
return true;

  }
}// fin metodo


// clase que empieza el juego mediante thread
private class Jugar extends Thread{

private boolean continuar=true; //condicion del thread


public void run()  { // incia el thread
while(continuar) { // hace la tarea mientras continuar sea true

try {
System.out.println("$$$$$$$ LOTTO $$$$$$$");
                                        System.out.println("Hi, how many tickets would you like to buy?");
                                        System.out.println(" 1) 1 Ticket");
                                        System.out.println(" 2) 2 Tickets");
                                        System.out.println(" 3) 3 Tickets");
                                        System.out.println(" 4) 4 Tickets");
                                        System.out.println(" 5) 5 Tickets");
                                        System.out.println(" 0) In bankrupt - Nothing\n");
                                        choice = keyboard.nextInt();

                                        if (choice == 0) {
                                        System.out.println("EXITING...");
                                        System.exit(0);
                                      }

                                       generar_tickets(choice);
                                       comparar();
                                       continuar = jugar_denuevo();

                                      }
catch(Exception e){
System.out.println("Ha ocurrido un error");
}
}
}
}


                       public static void main(String[] args) {
                        new Loteria();
                       }
                   } // fin.



He modificado tu método para jugar de nuevo. Para que lee devuelva true o false a la condición del while del thread. Si se elige un caracter que no sea X, devuelve true a la variable de condición y se seguirá jugando. De lo contrario, saldrá del juego.


Prueba el code y me comentas. Un saludo.


#22
Una sugerencia: Con videocache view, puedes guardar los videos vistos desde el caché. Videocache view pesa 300kb creo.

Así los ves y los guardas  :)
#23
Efectivamente, ahora la evolución de la tecnología ha roto esquemas y cada vez su evolución es más grande y más rápida.

@Elektro El objetivo de la tecnología es mejorar our world, otra cosa es que se 'emplee' la misma para ciertos 'fines'  ;D
#24
Jajaja, venga tíos no sean tan burlones  ;D

IA es un concepto que no está tan avanzando como se cree. Pienso que con el pasar de lso años y el evolucionar de la tecnología obviamente, IA irá evolucionando. ¿Quién sabe si en unos 50 años crearán a Terminator (Lol)?


Saludos  ;D
#25
Java / Re: [JavaFX] Gmail King Bomber.
27 Junio 2013, 04:48 AM
Muchas gracias Debci y Legnak por pasarse.

JavaFX me parece un muy buen framework para apps de todo tipo, a ver si ahora ya se incursiona en el mundo móvil, porque con swing nunca lo iba a hacer  ;D, además se pueden lograr apps de escritorio/web con un acabado y funcionalidad excelente.


Saludos  :)
#26
Hola, tus algoritmos están bien, pero se podría hacer algunos ajustes  ;)

En vez de hacer dos while para cada valor a leer, puedes usar un solo do-while. De esta manera:


Hacer (do)
Leer base
Leer altura
Mientras (while) base<=0 || altura<=0
fin Mientras


Primero leemos los valores, luego llegamos a la condición. Si alguno de los valores es menor o igual a 0, volverá a pedir los valores (podemos agregarle un mensajito que indique que los valores son erróneos, como en el ejemplo 2).


1er problema:


Inicio
base,altura como reales
Hacer
Leer base
Leer altura
Mientras (base<=0 || altura<=0)
fin Mientras
area = (base * altura) / 2
Mostrar area
Fin


2do problema:


Inicio
edad como entero
estado como cadena
Hacer
Leer edad
Si edad<=0
Mostrar "Ingrese una edad válida"
fin Si
Mientras (edad<=0)
fin Mientras
Si edad < 18
estado = "Menor de edad"
Si no
Si edad>=18 && edad<=60
estado = "Mayor de edad"
Si no
estado = "de tercera edad"
Fin Si
Mostrar "Usted es " estado
Fin


3er problema:


Inicio
radio como real
PI como real
Hacer
Leer radio
Mientras (radio<=0)
fin Mientras
PI = 3.14159
area = PI * 4 * (radio^2)
Mostrar area
Fin



Saludos.
#27
Seguridad / Re: ¿Se puede evadir el UAC?
26 Junio 2013, 18:32 PM
kub0x, ¿podrías publicar los métodos que utilizaste para que todos podamos verlo?


Saludos.
#28
Solo por curiosidad, ¿En qué lenguaje está escrito? C# o VB.Net?

Estoy haciendo uno parecido con JavaFX a ver qué tal queda  :xD



Saludos.
#29
No sé como interpreta las sentencias Pseint, y tampoco entiendo muy bien lo que quieres hacer.

Si lo que buscas es conviertir un resultado real a entero, en programación usamos los famosos 'castings', en los que se transforma un valor dado a uno deseado respetando la estructura del tipo de dato(por ejemplo, no se puede convertir un entero largo 'long' a un entero corto).

La sintaxis de un 'Cast' es:

(tipo de dato a convertir) (dato o expresion)

Por ejemplo:

Citarint resultado = (int) (48/3.2)

En vez de mostrar 38.86956... mostrará 38.
#30
Seguridad / ¿Se puede evadir el UAC?
22 Junio 2013, 14:49 PM
Buenas, tengo un proyecto en mente y analizándolo, me vino esta pregunta:

¿Es posible evadir/desactivar implícitamente el UAC para instalar "algo" en una PC Windows sin permisos?

Leí sobre un bug en el kernel en el 2010, pero creo que ha sido parchado.


Saludos.