SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: gdan_m en Jueves 1 de Diciembre de 2005, 23:25
-
tengo que hacer un juego de domino con lista de apuntadores, ya lo intente pero me salio mal y ando un poco desesperada me pueden ayudar
-
explica más detalladamente lo que quieres hacer (cómo vas a representar las fichas, la estructura de datos que vas a usar, cómo se van a desplegar en la pantalla, etc), cómo trataste de implementarlo y si hiciste algún programa "postéalo" para poder revisarlo
-
que sea de dos jugadores que tenga un pozo declarar a los dos jugadores repartir 7 fichas por random que te pregunte de que lado la quieres poner
#include "stdafx.h"
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <process.h>
#include <stdio.h>
struct ficha
{
struct ficha *izq;
int num; int num
struct ficha *der;
};
struct ficha *p,*inicio,*q;
struct ficha *nvoele()
{return((struct ficha *)malloc(sizeof(struct ficha)));}
void juego()
{
q=nvoele();
cin>>q->num;
q->izq=NULL;
q->der=NULL;
if(inicio->izq==q->der || inicio->izq==q->izq)
{
inicio->izq=q;
q->der=inicio || q->izq=inicio;
inicio=q;
q->izq=NULL;
}
else
{
if(fin->izq==q->der || fin->izq==q->izq)
{
p->der=q;
q->izq=p;
p=q;
q->der=NULL;
}
else
cout<<"No encuentra combinacion\n";
}
inicio=q; p=q;
while (resp=='s')
{
q=nvoele();
cin>>q->num;
p->der=q;
q->izq=p;
q->der=NULL;
p=q;
}
}
void asigna()
{
bool si(int* fi,int j)
{
for(int i=0;i<15;i++){
if (*(fi+i)==j)
return true;
}
return false;
}
}
void main()
{
jugador jug[2];
srand(time(NULL));
Ficha cant[28]={Ficha(0,0),Ficha(0,1),Ficha(0,2),Ficha(0,3),Ficha(0,4),Ficha(0,5),Ficha(0,6),
Ficha(1,1),Ficha(1,2),Ficha(1,3),Ficha(1,4),Ficha(1,5),Ficha(1,6),
Ficha(2,2),Ficha(2,3),Ficha(2,4),Ficha(2,5),Ficha(2,6),
Ficha(3,3),Ficha(3,4),Ficha(3,5),Ficha(3,6),
Ficha(4,4),Ficha(4,5),Ficha(4,6),
Ficha(5,5),Ficha(5,6),
Ficha(6,6)};
int a=0;
int k=0;
int fi[15];
for (int i=0;i<15;i++)
ya=-1;
for(int i=0;i<2;i++)
{
for(int j=0;j<7;j++)
{
a=rand()%28;
jug.RecibeFicha(cant[a]);
while(si(fi,a))
{
a=rand()%28;
jug.fichas(cant[a],j);
}
fi[k]=a;
k++;
}
char resp='s';
int opc;
while (resp=='s')
{
cout<<"*******************DOMINO********************\n";
cout<<"1. Jugar\n";
cout<<"2. Salir\n";
cout<<"Selecciona una opcion\n";
cin>>opc;
switch opc;
{
case 1: {juego();break;}
case 2: resp='n';
}
}
system("pause");
}
-
El juego que quieres implementar es el juego normal de dominó donde se reparten 7 fichas, sale el que tiene la "mula" de 6 (o el que tenga la "mula" mayor) y se van poniendo las fichas que tengan igual número de puntos ya sea en uno u otro extremo ¿no es ninguna variante como la de formar múltiplos de 5 u otro juego?
¿En la solución de este programa necesariamente debes de usar listas?
La estructura de ficha que tienes en tu programa ¿tú la creaste o también debe de ser así?
¿Quién es el identificador Ficha que usas para declarar un arreglo?
-
lo de multiplos de 5 no para nada eso no
de hacer listas eso si
en la ultima pregunta es lo que no se solo me guie en los apuntes pero no se como acomodarlos o dende .
creo que la forma mas facil de meter la mula es que siempre aparesca y de ahi que salga el primer turno.
es lo que trate de hacer