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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación General / Re: Mejor lenguaje de programacion? en: 16 Agosto 2016, 18:12 pm
Hola! Te recomendaría arrancar por C, C++ o inclusive Pascal. Estos te van a ayudar a comprender las estructuras, el paradigma estructurado. O bien también podés ir por Python.

Saludos!
2  Programación / Programación C/C++ / Consulta Chess en C en: 6 Junio 2015, 05:30 am
Hola, que tal!

Vengo desesperadamente en busca de ayuda, tengo una entrega el dia martes y hoy vinieron a cambiarme el paradigma de como venia resolviendo el ejercicio

La idea es hacer un ajedrez en consola

Código:
#include <stdio.h>
#include <stdlib.h>
typedef enum { false, true } bool;
typedef enum {BLANCO, NEGRO, NULO} Color_t;
typedef enum {PEON, TORRE, CABALLO, ALFIL, REINA, REY} Pieza_t;

typedef struct {
Color_t color_pieza;
int piezas;
char* nombre;
}Jugador;


typedef struct{
Color_t color_pieza;
Pieza_t tipo_pieza;
}Pieza;


typedef struct {
Color_t color_casillero;
Pieza* lugar_pieza;
}Casilla;

typedef Casilla** Tablero;


//Setea los datos de una pieza
Pieza nueva_pieza(Color_t color, Pieza_t tipo){
Pieza p;
p = malloc(sizeof(Pieza));
p.color_pieza = color;
p.tipo_pieza = tipo;
printf("Pieza alocada\n");
return p;
}


//Aloca memoria para todos los casilleros piezas
Tablero inicializar_tablero(){
Tablero tablero;
return tablero=(Casilla**) calloc(8, sizeof(Casilla*));
}

//Aloca memoria para una pieza, setea sus valores, y la devuelve al puntero .lugar_pieza
void set_tablero(Tablero tablero){

int peones_blancos_fila=1, peones_negros_fila=6;
int primera_fila=0, ultima_fila=7;
int i;
for(i=0;i<8;i++){
tablero[peones_blancos_fila][i].lugar_pieza = nueva_pieza(NEGRO, PEON);
}
for(i=0;i<8;i++){
tablero[peones_negros_fila][i].lugar_pieza = nueva_pieza(BLANCO, PEON);
}
//Alloca para las negras
()tablero[primera_fila][0].lugar_pieza = nueva_pieza(NEGRO, TORRE);
tablero[primera_fila][7].lugar_pieza = nueva_pieza(NEGRO, TORRE);

tablero[primera_fila][1].lugar_pieza = nueva_pieza(NEGRO, CABALLO);
tablero[primera_fila][6].lugar_pieza = nueva_pieza(NEGRO, CABALLO);

tablero[primera_fila][2].lugar_pieza = nueva_pieza(NEGRO, ALFIL);
tablero[primera_fila][5].lugar_pieza = nueva_pieza(NEGRO, ALFIL);

tablero[primera_fila][3].lugar_pieza = nueva_pieza(NEGRO, REY);
tablero[primera_fila][4].lugar_pieza = nueva_pieza(NEGRO, REINA);

//Alloca para las blancas
tablero[ultima_fila][0].lugar_pieza = nueva_pieza(BLANCO, TORRE);
tablero[ultima_fila][7].lugar_pieza = nueva_pieza(BLANCO, TORRE);

tablero[ultima_fila][1].lugar_pieza = nueva_pieza(BLANCO, CABALLO);
tablero[ultima_fila][6].lugar_pieza = nueva_pieza(BLANCO, CABALLO);

tablero[ultima_fila][2].lugar_pieza = nueva_pieza(BLANCO, ALFIL);
tablero[ultima_fila][5].lugar_pieza = nueva_pieza(BLANCO, ALFIL);

tablero[ultima_fila][3].lugar_pieza = nueva_pieza(BLANCO, REY);
tablero[ultima_fila][4].lugar_pieza = nueva_pieza(BLANCO, REINA);


}
//Retorna el valor char asociado a la pieza y color.
char caracter_pieza(Pieza p){
char car;
switch(p.tipo_pieza){
case PEON:
car = 'p';
break;
case TORRE:
car = 't';
break;
case CABALLO:
car = 'c';
break;
case ALFIL:
car = 'a';
break;
case REY:
car = 'k';
break;
case REINA:
car = 'q';
break;
}
if(p.color_pieza == NEGRO){
return toupper(car);
}
return car;

}

void imprimir_tablero_n(Tablero tablero){
int i=0,j=0;
//-----------DIBUJAR EL TABLERO----------------//
int c=0;
for (i=0;i<8;i++){
printf(" +---+---+---+---+---+---+---+---+\n");
printf("%d",c);
for (j=0;j<8;j++){
printf("| %c ", caracter_pieza(tablero[i][j].lugar_pieza));
}
c++;
printf("|");
printf("\n");
}
printf(" +---+---+---+---+---+---+---+---+\n");
printf("   h   g   f   e   d   c   b   a  \n");

}






int main(int argc, char **argv){


Tablero tab = inicializar_tablero();
set_tablero(tab);

return 0;
}

La idea es una matriz 8x8. Tengo  problemillas
1. Crear el tablero, sería alocar la memora de cada Casilla, la cual cada una va a tener un puntero que va a apuntar a una Pieza alocada posteriormente, cuando el puntero es NULL; no hay pieza en el casillero.

2. En la funcion set_tablero();  la idea es asignar cada puntero de la posición a una nueva "estructura alocada en memoria". Luego del printf el programa crashea, es decir, el resultado no es el esperado

3. Matriz a imprimir, idea



Disculpen los HORRORES de codigo, se ven, pero estoy en priori de solucionar ese esquemilla..soy estudiante ^^
3  Programación / Desarrollo Web / Re: Duda contenido dinámico en: 23 Septiembre 2014, 01:54 am
Para ubicar la caja azul a la derecha le tienes que poner position absoluta con sus respectivos valores top,left,right y bottom, para el contenido dinamico necesitas un servidor que sirva el contenido puede ser php el mas popular o algun otro servidor, o simplemente un json que contengo el contenido y con ajax lo vas cargando en el div.

Saludos

Hola, muchas gracias por responder! Mirá realmente es lo que ando intentando jaja, pero se me va el bloque azul hacia la derecha del body y no contra el margen derecho de la caja verde..lo que quiero lograr es que dicha box verde contenga las otras dos cajas, peroque estas no se superpongan
4  Programación / Desarrollo Web / Duda contenido dinámico en: 19 Septiembre 2014, 05:26 am
Hola, como están?

Quisiera hacer una pregunta, el tema es así, estoy iniciándome en el desarrollo en HTML junto con CSS, actualmente estoy encaminando una pagina la cual tengo como proyecto final.

Llevo entendiendo mas o menos, como estructurar  la web de a secciones

Codigo.
Código:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="estilos.css">
<html>
<header>
  <title>Prueba</title>
</header>
    
<body>

<div id="top">
    <img class="logo_net"src="logo_net.png"/> <div class="logo_netd"></div>
</div>

<nav id="menu">
<ul>
    <li><a title="Ir a la pagina principal" href="principal.html">Inicio</a></li>
    <li><a title="Aquí encontrarás información referida a la web" href="principal.html">Acerca de</a></li>
    <li><a title="sección de asistencia" href="principal.html">Asistencia</a></li>
    <li><a title="Descarga de controladores" href="principal.html">Descargas</a>
        </li>
    <li><a title="ChangeLog" href="#">Log</a></li>
</ul>
</nav>
<div id="principal">
    
<div id="contenido">
</div>
    
<div id="banner_d">
</div>

</div>
    

</body>
</html>

CSS
Código:
body{
 background-color: #FF8000;  
}


#top{
height: 140;
width: 995;
background-color: yellow;
}

.logo_net{
float:left;
}

.logo_netd{
height: 140; /*altura*/
width: 250px; /*anchura*/
background-color: red;
border-radius:10px;
float: right;
}


nav{ /*para centrarlo en el medio*/
    /*Bordes redondeados*/
    -webkit-border-radius:10px;/*Para chrome y Safari*/
    -moz-border-radius:10px;/*Para Firefox*/
    border-radius:10px;/*El estandar por defecto*/
    background-image: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#CCC));/*Para chrome y Safari*/
    /*Degradados*/
    background-image: linear-gradient(top, #FFF, #CCC);/*El estandar por defecto*/
    overflow:hidden; /* overflow para ajustar el contenido a la capa*/
    padding:5px; /*anchura del relleno*/
    width:985;
}

nav ul{
    list-style:none;
    margin:0 10px 0 10px;
    padding:0;
}


nav ul li{
    /*Bordes redondeados*/
    -webkit-border-radius:5px;/*Chrome y Safari*/
    border-radius:5px;/*Estandar por defecto*/
    float:left;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    font-weight:bold;
    margin-right:10px;
    text-align:center;
    /*Sombras para texto, los mismos parametros que box-shadow*/
    text-shadow: 0px 1px 0px #FFF;
}
nav ul li:hover{
    /*Degradado de fondo*/
    background-image: -webkit-gradient(linear, left top, left bottom, from(#FFF), to( #E3E3E3));/*Chrome y Safari*/
    background-image: -moz-linear-gradient(top center, #FFF, #E3E3E3);/*Firefox*/
    background-image: -o-linear-gradient(top, #FFF, #E3E3E3);/*Opera*/
    background-image: linear-gradient(top, #FFF, #E3E3E3);/*Estandar por defecto*/
    /*Sombras*/
    -webkit-box-shadow:  1px -1px 0px #999;/*Chrome y Safari*/
    -moz-box-shadow:  1px -1px 0px #999;/*Firefox*/
    -o-box-shadow:  1px -1px 0px #999;/*Opera*/
    box-shadow:  1px -1px 0px #999;/*Estandar por defecto*/
    border:1px solid #E3E3E3;
}
nav ul li a:hover {
    color:#000;
}
nav ul li a{
    color:#999;
    display:block;
    padding:6px;
    text-decoration:none;
    /*Transiciones*/
    -webkit-transition: 0.4s linear all;
    -moz-transition: 0.4s linear all;
    -o-transition: 0.4s linear all;
    transition: 0.4s linear all;
}
div#principal{
height: 600px;
width: 995px;
background-color: green;

}
div#contenido{
height: 600px;
width: 860px;
background-color: red;
border-radius:10px;
overflow: hidden;
}

div#banner_d{
height:120px;
width: 120px;
background-color: blue;
position: relative;
right: 0;
}



Mi cuestion es, quiero ubicar la caja azul, digamos, a la derecha..porque quiero que esta sea como una sección de banner, despues, la otra, es que en la caja de contenido quiero que tenga un contenido dinamico, es decir, que el usuario pueda mediante "anterior" y "siguiente" cambiar de contenido, esto para no tener que vooolver a cargar toda la web de nuevo

Como debería?

Saludos!

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines