
APRENDIENDO JUGANDO

La mejor manera de aprender para un niño es mediante el juego y el moviento fisico ademas de lo que llama su atencion
Rellena este formulario
Y OBTÉN UN PRESUPUESTO
LIBRERIAS
KinectRegion es el elemento clave de Kinect Interacciones en WPF: es el área de la pantalla donde se colocan los elementos interactivos y pueden ser manipulados. KinectRegion también se encarga de mostrar y mover el cursor de la mano. Una aplicación puede tener múltiples KinectRegions, pero no se pueden anidar. Cada KinectRegion puede tener su propio sensor de Kinect respectiva.
KINECT REGION
CODIGO
var regionSensorBinding = new Binding("Kinect") { Source = this.sensorChooser };
BindingOperations.SetBinding(this.kinectRegion, KinectRegion.KinectSensorProperty, regionSensorBinding);
lblPrg.Content = "";
rct0.Visibility = Visibility.Hidden;
rct1.Visibility = Visibility.Hidden;
rct2.Visibility = Visibility.Hidden;
rct3.Visibility = Visibility.Hidden;
rct4.Visibility = Visibility.Hidden;
khb0.Visibility = Visibility.Hidden;
khb1.Visibility = Visibility.Hidden;
khb2.Visibility = Visibility.Hidden;
khb3.Visibility = Visibility.Hidden;
khb4.Visibility = Visibility.Hidden;
imgResp.Visibility = Visibility.Hidden;
imgRespM.Visibility = Visibility.Hidden;
KINECT SENSOR REGION CHOOSER
Nos permite coordinar y calibrar la region en donde deseamos que tenga capacidad de funcionar, es desir las dimenciones de nuestra interfaz además de que permite detectar lo que realicemos
this.sensorChooser = new KinectSensorChooser();
this.sensorChooser = Generics.GlobalKinectSensorChooser;
this.sensorChooser.KinectChanged += SensorChooserOnKinectChanged;
this.sensorChooserUi.KinectSensorChooser = sensorChooser;
var regionSensorBinding = new Binding("Kinect") { Source = this.sensorChooser };
BindingOperations.SetBinding(this.kinectRegion, KinectRegion.KinectSensorProperty, regionSensorBinding);
CODIGO
CODIGOS PRINCIPALES DEL JUEGO
//RANDOM DE COLORES
public void randomColors()
{
int pu;
int n = 10;
int k = n;
for (int i = 0; i < n; i++)
{
vct_r1[i] = i;
}
for (int i = 0; i < n; i++)
{
pu = ran.Next(k);
resultado[i] = vct_r1[pu];
vct_r1[pu] = vct_r1[k - 1];
k--;
}
niveles();
}
//RANDOM DE POSICIONES
public void randomPosition()
{
vct_r2 = new int [niv];
resultado2 = new int[niv];
int res;
int w = niv;
int x = w;
for (int i = 0; i < niv; i++)
{
vct_r2[i] = i;
}
for (int i = 0; i < niv; i++)
{
res = ran.Next(x);
resultado2[i] = vct_r2[res];
vct_r2[res] = vct_r2[x - 1];
x--;
}
}
//AUMENTO DE NIVELES
public void niveles()
{
switch(niv)
{
case 2:
pos1X = 405;
pos1Y = 410;
pos2X = 845;
pos2Y = pos1Y;
break;
case 3:
pos1X = 405;
pos1Y = 202;
pos2X = 845;
pos2Y = pos1Y;
pos3X = 624;
pos3Y = 534;
break;
case 4:
pos1X = 405;
pos1Y = 202;
pos2X = 845;
pos2Y = pos1Y;
pos3X = pos1X;
pos3Y = 534;
pos4X = pos2X;
pos4Y = pos3Y;
break;
case 5:
pos1X = 405;
pos1Y = 202;
pos2X = 845;
pos2Y = pos1Y;
pos3X = pos1X;
pos3Y = 534;
pos4X = pos2X;
pos4Y = pos3Y;
pos5X = 635;
pos5Y = 368;
break;
}
setColors();
colores();
}
//RESPUESTAS
public void respu(int r)
{
int rus = resultado2[0];
if (rus == r)
{
bi.UriSource = new Uri("bien.png",UriKind.Relative);
imgResp.Visibility = Visibility.Visible;
cent = true;
bn++;
}
else
{
bi.UriSource = new Uri("mal.png", UriKind.Relative);
imgRespM.Visibility = Visibility.Visible;
cent = false;
cont--;
ml++;
}
menu.PlayLooping();
khb0.Visibility = Visibility.Hidden;
khb1.Visibility = Visibility.Hidden;
khb2.Visibility = Visibility.Hidden;
khb3.Visibility = Visibility.Hidden;
khb4.Visibility = Visibility.Hidden;
lblB.Content = bn;
lblM.Content = ml;
if (cent == true)
{
f = new FileInfo("Bien.wav");
g = f.FullName;
bien = new SoundPlayer(g);
bien.PlaySync();
inicio();
}
else
{
f = new FileInfo("Mal.wav");
g = f.FullName;
mal = new SoundPlayer(g);
mal.PlaySync();
randomPosition();
setColors();
}
//SELECCION DE COLORES
public void colores()
{
cl = resultado[0];
switch (cl)
{
case 0:
f = new FileInfo("Azul.wav");
g = f.FullName;
a = new SoundPlayer(g);
a.PlaySync();
break;
case 1:
f = new FileInfo("Morado.wav");
g = f.FullName;
m = new SoundPlayer(g);
m.PlaySync();
break;
case 2:
f = new FileInfo("Cafe.wav");
g = f.FullName;
c = new SoundPlayer(g);
c.PlaySync();
break;
case 3:
f = new FileInfo("Rojo.wav");
g = f.FullName;
r = new SoundPlayer(g);
r.PlaySync();
break;
case 4:
f = new FileInfo("Amarillo.wav");
g = f.FullName;
am = new SoundPlayer(g);
am.PlaySync();
break;
case 5:
f = new FileInfo("Blanco.wav");
g = f.FullName;
b = new SoundPlayer(g);
b.PlaySync();
break;
case 6:
f = new FileInfo("Verde.wav");
g = f.FullName;
v = new SoundPlayer(g);
v.PlaySync();
break;
case 7:
f = new FileInfo("Negro.wav");
g = f.FullName;
n = new SoundPlayer(g);
n.PlaySync();
break;
case 8:
f = new FileInfo("Tomate.wav");
g = f.FullName;
nar = new SoundPlayer(g);
nar.PlaySync();
break;
case 9:
f = new FileInfo("Rosado.wav");
g = f.FullName;
ros = new SoundPlayer(g);
ros.PlaySync();
break;
}
menu.PlayLooping();
}
// PUNTAJE FINAL
{
if (niv == 5 && cont == 3)
{
Canvas.SetLeft(lblPrg, 405);
Canvas.SetTop(lblPrg, 368);
lblPrg.Content = "Ha tenido " + bn + " buenas y " + ml + " malas";
rct0.Visibility = Visibility.Hidden;
rct1.Visibility = Visibility.Hidden;
rct2.Visibility = Visibility.Hidden;
rct3.Visibility = Visibility.Hidden;
rct4.Visibility = Visibility.Hidden;
khb0.Visibility = Visibility.Hidden;
khb1.Visibility = Visibility.Hidden;
khb2.Visibility = Visibility.Hidden;
khb3.Visibility = Visibility.Hidden;
khb4.Visibility = Visibility.Hidden;
imgResp.Visibility = Visibility.Hidden;
imgRespM.Visibility = Visibility.Hidden;
menu.PlayLooping();
}
else
{
imgResp.Visibility = Visibility.Hidden;
imgRespM.Visibility = Visibility.Hidden;
if (cont == 3)
{
cont = 0;
niv++;
}
cont++;
randomPosition();
randomColors();
}
}
// FUNCION AL SELECCIONAR UN COLOR
#region "ButtonActions"
private void KinectTileButton_Click_3(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
(Application.Current.MainWindow.FindName("_mainFrame") as Frame).Source = new Uri("MainMenu.xaml", UriKind.Relative);
}
private void KinectHoverButton0(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
resp = 0;
respu(resp);
}
private void KinectHoverButton1(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
resp = 1;
respu(resp);
}
private void KinectHoverButton2(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
resp = 2;
respu(resp);
}
private void KinectHoverButton3(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
resp = 3;
respu(resp);
}
private void KinectHoverButton4(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
resp = 4;
respu(resp);
}
private void KinectTileButtonStart(object sender, RoutedEventArgs e)
{
this.sensorChooser.KinectChanged -= SensorChooserOnKinectChanged;
}
#endregion
}
}
CANVAS
Canvas.SetLeft(rct4, pos5X);
Canvas.SetTop(rct4, pos5Y);
Canvas.SetLeft(khb4, pos5X);
Canvas.SetTop(khb4, pos5Y);
Ya mecionada anteriormente en este juego unicamente utilizamos las coordenadas para poder colocar los colores en diferentes posiciones.