Juego de la Vida. C

CaNuT0BrUt0

Buenas, estoy estudiando DAI, primer año y el profesor a planteado como reto hacer un programa dE La vida, o un ecosisTEma.

Nose si me explico bien, pero lA IDea es que se tengan factores como por ejemplo la ALIMentacion, tipo de alimentos, anIMALes (conejos, tigres, insectos, humanos...) vegetacion, clima, longevidad, reproduccion, movimiento del animal para encontrar pareja y reproducirse o comer, macho y feminas y... fua supongo que bastantes COSAs mas que se podrian ir implementando xD.

Pues eso, yo tengo una idea de como hacerlo, pero como creo que no es un programa muy comun queria ver que opinais vosotros, ideas o nose, que os parece.

PD: Perdon por las Mayus alternativas pero le dan venazos al teclado :S

E

Dale los sims 2, y a ver si cuela xD

SicKneSs

ta wapa la idea pero... vas a hacerlo tú solo ? en C ?

kas

Eso en un modulo de 2 años? me lol...

A ver, supongo que principalmente querrá que uses herencia:

  • Animal
    -- tigre
    -- sipiente
    -- gallina

  • Vegetacion:
    -- Flor
    -- Fruta

Seguramente en algun momento tendras que tirar de polimorfismo, que tampoco esta mal.

B

Plagia a Flow.

PD: No te va a dar tiempo a hacer nada decente.

SicKneSs

a dicho C... ke yo sepa C no es un lenguaje O.O. xD

CaNuT0BrUt0

#5 ya se que no me dara tiempo ha hacer algo muy decente, pero almenos quiero conseguir algo que sea estable con porcentajes, proabilidades y intentar simular variables como estado de animo (sino folla/come animo bajo, se mueve menos o cosas asi)

Morfismos han dicho por alli? a que te refieres?

Gracis

PD: Lo de los Sims 2 me ha hecho soltar una carcajada en clase xD

#6: Entonces cual es uno de los lenguajes mas usados en el mundo y con el que se programan muchos SO?? XD

Soltrac

#6 C si es un lenguaje.

#4 De todas formas, creo que te equivocas. El dice q lo quiere desarrollar en C, ahí no hay ni clases, por lo q menos herencia ni polimorfismo, etc.

En mi opinión, sería un buen trabajo para desarrollar en un lenguaje orientado a objetos como C++, pero en C...no se, yo ahora mismo no me hago la idea.

r2d2rigo

Pues yo por juego de la vida siempre he entendido esto...

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

kas

Herencia:

public abstract class Animal
{
    public virtual int GetFerozidad();
}

public class Tigre : Animal
{
    public int GetFerozidad()
    {
        return 100;
    }
}

public class Chinchilla : Animal
{
    public int GetFerozidad()
    {
        return 10;
    }
}

Polimorfismo:

public void Main(string[] args)
{
    Animal a = new Tigre();
    Console.WriteLine("El tigre es agresivo: " + a.GetFerozidad());
    a = new Chinchilla();
        Console.WriteLine("La chinchilla es agresiva: " + a.GetFerozidad());
    a = null;
}
LiuM

Deberiais leer mas detenidamente.

#6 No dice que no sea un lenguaje, sino que no es un lenguaje orientado a objetos. Y tiene toda la razon.

SicKneSs

#8 lee bien, C no es un lenguaje Orientado a Objetos, eso fue lo que dije.

#1 si no haz dado nada de C++ dificilmente vas a poder hacer algo limitandote a funciones, puesto que tu supuesto problema plantea claramente el uso de clases.

saludos.

elkaoD

#12, struct>class xD

Que sí, que con clases es más cómodo y todo lo que quieras, pero si se puede hacer en C++ se puede hacer hasta en ASM, por pura lógica.

Poisonous

el "juego" de la vida, de juego tiene poco... y no tiene nada que ver con los ecosistemas.

es una especie de redecilla que se llena con celulas y segun unas reglas van muriendo/viviendo

kas

#13 Intentar hacer polimorfismo en ASM tiene que ser peor que un tacto rectal con un cactus.

CaNuT0BrUt0

Jajajajaja me estoy partiendo la kaja! XDDD

A ver una cosa, estoy en primero de DAI y bueno, la verdad esque mucha idea nO Tengo (Hice FP1 y programamos bastante, pero no hasta el nivel que mencionais).

Mis uNICas herramienTAS son TurboC (xD), funciones, procedimiento y estructuras, aun nos tienen que explicar memoria dinamica y eso y los punteros tampoco nos los han enseñado...

Y0K3S3

#4

Desde cuando existen las clases en C pq el chaval dice que hace C.En cuyo caso me decanto por estructuras como mucho y unas FIFO...

Te voy a ayudar un poco:

#include <stdio.h>
#include <conio.h>

structure animal
{
int identificador;
int edad;
char[100] especie;
int diascome; //dias que hace que no come
int diasbebe;// dias que hace que no bebe
int vivo;// 1-> true, 0-> muerto
}

structure planta
{
int identificador;
int edad;
char[100] especie;
int diassinagua;// dias que hace que se riega
int vivo;// 1-> true, 0-> muerto

}

void dardebeber(void);
void  dardecomer(void);
void regar(void);
int menu();//devuelve la opcion de menu;
void crearanimal();
void crearplanta();

animal[100] animales;
planta[100] plantas;

void main (void)
{
int opcion=menu();
while(opcion!=0)
{

switch(opcion)
{
case 1:
crearnanimal();
break;

}
opcion=menu();

}
}

Bueno por encima para que lo pilles. De ahi cuando creas uno le pones los dias de comer, beber y tal a 0; en el bucle tienes que ir mirando todos los dias de cada animal o los dias sin agua de las plntas y las que lleven X dias sin agua o sin comer o sin beber los matas. Y te curras una funcion que la llame el menu que muestre el estado de todos. Cosas asi.

Khanser

Estaria bien que le pusieras retardo al bucle pk sino se ejecutará en 0,3 xD

Si acaso te podrias crear unos hilos, pero ya depende de lo que te quieras complicar :/

Y0K3S3

#18

Que no le he picado el codigo solo queria darle una idea rapida...

pd: Hilos mejor que no...que no se lo han enseñado...Y se hara la picha un lio, ademas por la rutina que tiene que seguir no le veo sentido a separar la ejecucion en hilos.

SicKneSs

bueno tanta clase y tanta funcion para no decir en qué conciste el problema ? xD porque yo aun nose qué es lo que pide #1 exactamente.

CaNuT0BrUt0

Jeje, nada solo hera una opinon lo que pedia. CoMO he puesto en #1 no me parecia un ejercicio muy comun y solo lo queria compartir y leer que opinais o algun pensamiento vuestro como los de YOKESE o mirar de que forma lo hariais y eso.

Por cierto se me olvidaba comentar, que hay que hacerlo con ficheros exteriores, quiero decir, que las caracteristicas de cADA elemento se lean de un fichero.txt . Opino que eso es mejor por que asi con "crear" un nuevo elemento en el txt ya se implementa en el PROGrama, o por ejemplo cambiar alguna veriable de algun animal o algo.

Y0K3S3

#21

Entonces haz lo que te he dicho pero guardando los vectores en ficheros...

1º funcione en llamar
void cargarvectoresdesdefichero(void);
Ultima funcion en llamar:
void salvarvectoresafichero(void);
iRoN-G

todo esto me suena a... boneu, puede ser?

edit: VALEª!!, viendo tu otro mensaje de la maquina tragaperras puedo estar seguro de que estas haciendolo en el CEP!, yo hice alli un año de DAI con boneu, con soto, grandes profes tienes :)

CaNuT0BrUt0

jajaja, anda pues si! suena a boneu ^!

Ya lo has acabado el curso? jeje y que tal? a mi por ahora me gusta bastante :D.

Os ire poniendo por aqui como se a ido desarrollando el tema este. Gracias Y0K3S3 por los consejos ^^

iRoN-G

solamente hice un año, la verdad que estaba muy bien y me gustaria mucho volver a ese centro y hacerlo de nuevo ahora que tengo mas tiempo. me informare a ver si hay alguna manera de hacerlo a distancia.

hicimos la tragaperras e ibamos a empezar a hacer el juego de la vida, pero ninguno teniamos ni idea de como empezar xDD

entonces ahora debes ir por donde lo deje yo, por las estructuras, justo despues de eso fue cuando iba a empezar el juego de la vida.

suerte con el jueguecito ese y que te vaya bien el curso :)

Y0K3S3

Estudiar mucho .NET que eso da dinero.

cracking

esTÁS! q haces eso en C, gl.

CaNuT0BrUt0

Bueno mi profesor lo ha hecho, y con las mismas herramientas que tenemos nosotros o que sabremos de aqui a dentro de poco..

IAF

A mi tb me toco hacer el juego de la vida (el que dice #9) el año pasado en dai, no es dificil, una vez tengas echa una funcion de sumaVecinos estara todo echo

Gnos1s

En C olvídate de herencia y polimorfismos. Tira de C++, si no Java...

Usuarios habituales

  • Gnos1s
  • CaNuT0BrUt0
  • Y0K3S3
  • Chakaldeath
  • iRoN-G
  • SicKneSs
  • kas