Name | Surname | Age |
---|---|---|
Raja | Dey | 18 |
Mamata | Sharma | 20 |
Avijit | Sharma | 21 |
Sharanya | Dutta | 26 |
Nabin | Roy | 27 |
Blog oficial de Valijon Nazarov
domingo, 22 de febrero de 2015
jueves, 16 de junio de 2011
Practicas de PLE
Publico en mi blog todas practicas que realice el primer año de curso. Cualquer interesado puede echar un vistazo o cojer una funcion para sus ideas. Espero que sirva para algo en vuestros programas.
Se trata de 5 juegos y 2 aplicaciones:
1. Laberinto
2. Runner (prototipo)
3. Batalla marina (Battle ship)
4. Juego de los tanques
5. Buscaminas
6. Chat
7. Matrix
Se trata de 5 juegos y 2 aplicaciones:
1. Laberinto
2. Runner (prototipo)
3. Batalla marina (Battle ship)
4. Juego de los tanques
5. Buscaminas
6. Chat
7. Matrix
viernes, 6 de mayo de 2011
Colocar un script "propio" entre las llamadas de unos programas mediante tuberias
Supongamos:
$ls | grep sEsto va a retornar todos los nombres de archivos que tengan "s", pero ahora supongamos:
$ls | ./miscript.sh | grep s¿Qué debería contener el archivo miscript.sh para que eso siga funcionado como si no estuviera?
La respuesta: que miscript.sh sea capaz de leer la salida de ls y pasarla a grep.
¿Como?
Bien, tenemos que diseñar un script que su entrada "por parámetro" sea fijo. Vamos ver en caso de comando grep.
grep - sin pasar ninguna opción, funcionaría:
$grep PATRÓN FICHERO, habrá que pasar DOS PARÁMETROS para que funcione el comando.
$ls | grep PATRÓN, en este caso 1 parámetro y salida de ls será como de "FICHERO", porqué esperará la salida de tubería.
$grep, saldrá un mensaje ayuda.
Bien, grep funcionara en tres modos: sin pasar nada (generará el mensaje de ayuda), con 1 parámetro (cuando antes está una tubería y al parámetro tomará como PATRON) y con 2 parámetros (cuando buscamos un patrón en un FICHERO) y cuando mas de 2 busca en todos FICHEROs pasados por parámetro.
Probamos esto:
$ls | grep - (numero de parametro 0) - NO FUNCIONA
$ls | grep s miscript.sh - (numero de parametro 2) busca PATRON en FICHERO, como si no estuviera "ls |"
$grep miscript.sh - (numero de parametro 1) NO FUNCIONA
Conclusión: Nuestro script debe tener una regla especial para determinar en que momento ejecutar una orden adecuada.
Volvemos a nuestra pregunta:
$ls | ./miscript.sh | grep s
¿Como hacer que funcione esto?
Diseñamos miscript.sh de siguiente manera: Si a miscript.sh le pasamos un parámetro que sea el nombre fichero, imprime linea-por-linea su contenido. Si le pasamos mas de 1, generará mensaje de error. Y si no le pasamos nada, entonces la entrada será de una tubería.
Si rompemos las reglas, nuestro script no funcionará bien. (Como en grep que hemos visto).
Diseñamos miscript.sh de siguiente manera: Si a miscript.sh le pasamos un parámetro que sea el nombre fichero, imprime linea-por-linea su contenido. Si le pasamos mas de 1, generará mensaje de error. Y si no le pasamos nada, entonces la entrada será de una tubería.
if [ $# -gt 1 ]; then
echo "Pasar solo un parametro"!
elif [ $# -eq 1 ]; then
while read line; do echo -e "$line"; done < $1
else
while read A; do
echo $A
done
fi
Si rompemos las reglas, nuestro script no funcionará bien. (Como en grep que hemos visto).
De este modo, funcionara bien:
$ls | ./miscript.sh | grep s = $ls | grep s
[Puede descargar el script aqui.]
jueves, 5 de mayo de 2011
Trabajo 3. Evaluación 1. Gestor de descargas de fotos con wget
Crear un script que descargue las diferentes imágenes del blog de viñetas http://blogs.publico.es/manel/ y las guarde en carpetas por meses y años.
Como opcional, he diseñado otro script que obtiene todos los vinculos a otras publicaciones y baja sus fotos.
Como opcional, he diseñado otro script que obtiene todos los vinculos a otras publicaciones y baja sus fotos.
jueves, 28 de abril de 2011
Noticias de Windows 8. History Vault
Se han filtrado unos imágenes de una aplicación de Windows 8 llamada "History Vault". Recordamos que a partir de Windows Vista el sistema de restauración de archivos de sistema, claves de Registro y etc... con una interfaz de usuario se llama "Shadow Copy". Lo que permite esta tecnología, que los cambios a nivel de bloqueo en cualquier archivo del disco duro pueden monitorizarse y restaurarse, sin importar su ubicación.
"History Vault" tendrá una amigable interfaz que permitirá explorar versiones anteriores de archivos usando una “línea de tiempo” (la misma ventaja que actualmente tiene ahora "Time Machine" de Apple sobre las Shadow copies).
La primera noticia del desarrollo de Windows 8:
En noviembre de 2009, una diapositiva del ciclo de desarrollo de software mostrada por Microsoft en la Professional Developers Conference 2009 permitió entrever que la siguiente versión de Windows (conocida con el nombre clave temporal de "Windows 8") está programada para ser publicada alrededor de 2012.Para mas información de "History Vault" pulsar aquí.
lunes, 7 de marzo de 2011
lunes, 28 de febrero de 2011
Crear dimensiones en C con Ncurses
Imaginemos que tenemos un mapa de juego. Cuando lo imprimimos "tal cual", será de un caracter no se intiende nada.
Y si queremos dibujar de "dos caracteres," habrá que tocatear el codigo mucho. En un juego un caracter es nada interesante, cuando representando un caracter en 2 o mas dimensiones podemos dibujar objetos.
por ejemplo:
$=un tanque en 1 caracter
Pues para dibujar el mapa en 2 dimensiones SIN TOCAR EL MAPA ORIGINAL, diseñamos esta función:
#include <stdio.h>El resultado sería esta imagen.
#include <string.h>
#include <curses.h>
#include <unistd.h>
void Dimension(int x, int y, char caracter, int Dimension);
int main(int argc, char** argv)
{
initscr();
char palabra[5][30]={"#####","#$ #","# b#","#####"};
int i,j;
for (i=0;i<4;i++)
for (j=0;j<strlen(palabra[i]);j++)
Dimension(i,j,palabra[i][j],5);
refresh();
getch();
endwin();
return 0;
}
void Dimension(int x, int y, char caracter, int Dimension){
int i,j;
char tanque[25]={'$','$','$','$','$',
' ','$','$','$',' ',
' ','$','$','$','$',
' ','$','$','$',' ',
'$','$','$','$','$',};
int k=0;
for (i=x*Dimension;i<x*Dimension+Dimension;i++){
for (j=y*Dimension;j<y*Dimension+Dimension;j++){
if (caracter=='$' && Dimension==5)
mvprintw(i+1,j+1,"%c",tanque[k++]);
else mvprintw(i+1,j+1,"%c",caracter);
}
}
}
Para poder compilar tiene que instalar primero Ncurses (Linux) o Pdcurses (Windows).
Suscribirse a:
Entradas (Atom)