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ú

Temas - tollis

#1
Scripting / Problemas javascript
30 Noviembre 2015, 20:40 PM
Buenas Gente,

Estoy teniendo problemas con un ejercicio de javascript, el ejercicio consiste en: "Realizar un juego del frontón con una imagen rebotando en el borde izquierdo o superior de la ventana, o en una barra lateral situada a la derecha Y en una barra inferior móvil.

Para realizar este ejercicio puedes partir del 7.2
Esta barra inferior móvil se desplazará de derecha a izquierda y de izquierda a derecha, sin pasar tanto del borde izquierdo de la ventana como de la barra lateral.
El desplazamiento a la izquierda de dicha barra se produce al pulsar la tecla z (código ascii = 122) y a la derecha al pulsar la tecla x (código ascii = 120).
Así cuando la imagen del balón choca con esta barra rebota hacia arriba y cuando la pelota no contacte con la barra y la rebase se visualizará un mensaje indicando que la partida concluyó y parando la ejecución del script.

Esta aplicación se realizará solamente para navegadores modernos utilizando getElementById para situar las diferentes capas:
Si encuentras problemas o dificultades en la realización del ejercicio, no tengas duda en preguntar al tutor o incluso enviarle el código que no funciona como debe, para que lo vea y te ayude en la resolución de esta actividad. No obstante, ten en cuenta que no se trata de un ejercicio de autoevaluación, sino de evaluación por parte del tutor, por lo cual debes intentar resolverlo por tu cuenta

Nota:
1- Como en el ejercicio 7.2, es conveniente que tanto las posiciones x e y del balón, como las posiciones x e y de la barra se sitúen en variables con las que se calculen las posiciones y posteriormente se trasladen a la capa.
2- El contacto entre balón y barra sólo has de analizarlo cuando la pelota baje. Para ello te servirá la variable que has debido definir y que controlaría este tipo de movimiento en la pelota.
"
Vamos tipo ping pong solo que contra la pared, pues bien estoy realizandolo poco a poco pero creo que me estoy liando, os pongo el codigo que llevo


<HTML>
<HEAD>
<TITLE>Ejercicio 7.2</TITLE>
<STYLE TYPE="text/css">
#balon {
position:absolute;
width: 30;
height: 30;
}
#rectangulo {
background-color: blue;
position:absolute;
top:5;
left:5;
width: 550;
height: 385;
}
</STYLE>
<SCRIPT language=javascript>
var y=0;         
var x=0;
var barray=0;
var controlY=1;
var controlX=1;
var velocidad=1;
var control = 0;
var control2 = 0;
var controlbarra = 0;
var controlbarra2 =0;
window.onload = pulsar;
window.onload = mover;


function mover(){
//Eje Y
if(controlY==1){
y+=velocidad;
}else{       
y-=velocidad;
}
if(y<=0){
controlY=1;
y=0;
}
else if(y>=document.getElementById("rectangulo").offsetHeight-30)
{

controlY=0;
y=document.getElementById("rectangulo").offsetHeight-30;
}

if(controlX==1){
x+=velocidad;
}
else{       
x-=velocidad;
}
if(x<=0){
controlX=1;
x=0;
}
else if(x>=document.getElementById("rectangulo").offsetWidth-30)
{
controlX=0;
x=document.getElementById("rectangulo").offsetWidth-30;
}

document.getElementById("balon").style.left=String(x)+"px";
document.getElementById("balon").style.top=String(y)+"px";
}

function pulsar(e)
{
document.onkeypress=pulsar;
var mievento=e || window.event;
var codigotecla = mievento.charCode || mievento.keyCode;
letra=String.fromCharCode(codigotecla);
leftbarra = parseFloat(document.getElementById("barra").style.left);
if ( leftbarra >= 5 )
{
controlbarra=1;
}
else
{
controlbarra=2;
}
if (leftbarra < anchorectangulo - barra)
{
controlbarra2=1;
}
else
{
controlbarra2=2;
}
if (codigotecla == 122 && controlbarra==1)
{
barray= barray-14;
}
else if (codigotecla == 120 && controlbarra2==1 )
{
barray= barray+14;
}
document.getElementById("barra").style.left= barray +"px";;
}

var intervalo=setInterval("mover()",6);
</SCRIPT>
</head>
<BODY>
<DIV id="rectangulo">

<img src="balon.gif" alt="balon" id="balon" style="position:relative; "/>
<img src="barra1.gif" alt="barra" id="barra" style="position:absolute; width:80; height:30; top:325px; left:230px;"/>

</DIV>
</BODY>
</HTML>


Pues bien creo que estoy realizando mal el movimiento del balón, no se como comprobar cuando baje para hacer que choque contra la barra, la cual no se esta moviendo... no se, creo que estoy dando palos de ciego, a ver si me podríais decir que cambiar o que mejorar....

Muchas gracias de antemano.

Saludos
#2
Java / Problema JCombobox
1 Septiembre 2015, 22:14 PM
Buenas amigos,

Veréis estoy trabajando con una aplicación de escritorio pero tengo un problema un combobox, os explico un poquito.

Tengo un array de objetos de unos clientes (nombre, apellidos, dni, etc), a partir de ahí recorro ese array y lleno el combo con los nombres tal que:


for(int i = 0; i< clientearray.size(); i++){
comboBox.addItem(clientearray.get(i).getNombre());
}


después de trabajar con los clientes (modificar, eliminar, etc) quiero mantener el combo actualizado, había pensado en borrarlo así


comboBox.removeAllItems();


pero me tira un java.lang.NullPointerException, se que es porque apunta a una direccion que no existe, he probado comboBox.removeAll(); pero no hace absolutamente nada, he leído por hay que se debe trabajar con la clase model, pero no se bien como hacerlo... ¿alguna idea?

Muchas gracias de antemano.

Saludos
#3
Java / programa de iniciación en java
6 Marzo 2014, 12:28 PM
Buenas, estoy aprendiendo java, pero tengo un problema a la hora de desarrollar un ejercicio, este es el enunciado:

Desarrollar una aplicación de cifrado de códigos numéricos.

El cifrador recibirá un código numérico y una implementación de un algoritmo de cifrado/descifrado y la orden de cifrar o descifrar el código.

Existen distintos algoritmos:

• Multiplicar por un número determinado.

• Diferencia existente a un número determinado.

• El XOR con un número determinado.

Desarrollar la clase Actividad5 que en su método main cree un cifrador, y le pida cifrar y descifrar varios códigos usando distintos algoritmos de cifrado.

Realizar también el diseño del Diagrama de Clases UML.

hasta ahora este es el codigo que yo tenia realizado, el cual funcionaba

public interface Algoritmo
{
          public abstract int cifrar();
          public abstract int descifrar();
}


public class Cifrado {
static int numero2;

public Cifrado(int numero2) {
Cifrado.numero2=numero2;
}

public int cifrar(int numero2)
{
return numero2;
}
public int descifrar(int numero2)
{
return numero2;
}
}


public abstract class Diferencia extends Cifrado implements Algoritmo {
//Atributos
       private int numero;

//Constructores
public Diferencia(int param)
       {
          super(numero2);
          numero = param;
        }

//Metodos
public int cifrar()
{
return numero - numero2;
}
public int descifrar()
{
return numero + numero2;
}
public void encriptacionDiferencia()
{
System.out.print("Algoritmo diferencia: ");
System.out.print("código cifrado -> " + cifrar());
System.out.println(" código descifrado -> " + descifrar());
}
}


public abstract class Multiplica extends Cifrado implements Algoritmo {
//Atributos
private int numero;

//Constructores
public Multiplica(int param)
{
super(numero2);
numero = param;
}

//Metodos
public int cifrar()
{
return numero - numero2;
}
public int descifrar()
{
return numero / numero2;
}
public void encriptacionDiferencia()
{
System.out.print("Algoritmo diferencia: ");
System.out.print("código cifrado -> " + cifrar());
System.out.println(" código descifrado -> " + descifrar());
}
}


public abstract class Xor extends Cifrado implements Algoritmo {
//Atributos
private int numero;

//Constructores
public Xor(int param)
{
super(numero2);
numero = param;
}

//Metodos
public int cifrar()
{
return numero ^ numero2;
}
public int descifrar()
{
return numero2 ^ numero;
}
public void encriptacionDiferencia()
{
System.out.print("Algoritmo diferencia: ");
System.out.print("código cifrado -> " + cifrar());
System.out.println(" código descifrado -> " + descifrar());
}
}


public class Actividad5
{
    public static void main(String[] args) {
        Cifrado c = new Cifrado(4);
        Diferencia algoritmo1 = new Diferencia(10){};
        Multiplica algoritmo2 = new Multiplica(5){};
        Xor algoritmo3 = new Xor(20){};
        c.cifrar(4);
        algoritmo1.encriptacionDiferencia();
        algoritmo2.encriptacionDiferencia();
        algoritmo3.encriptacionDiferencia();
    }
}


Pero lo tengo mal planteado desde el principio, me dicen que tengo que tener el constructor de cifrador así:

public Cifrador(long l, Algoritmo tipoCifrado, boolean b){

................

y utilizarlo así:

Cifrador c=new Cifrador(111L, new Xor(),true);

pero no entiendo para que tengo que crear un "new Xor()" o un "boolean" ni que parte del código aparte del constructor y el main tendría que modiicar

por favor si me pudrieran guiar un poco me ayudaría mucho.

Saludos y gracias de antemano!