![]() |
crear programa en el cual haya un algoritmo para poder robar cartas
Buenas a todos. Soy nuevo en este foro. Os escribo porque estoy intentando hacer un progrma donde en el cual se emplee ficheros que ponga cartas intercmabiables, y en uno de esos modulos, se requiere que, dado un numero entero, te permita robar x cartas. Pero tengo un problema, y es que como en mi curso de informatica no vimos nada o casi nada de estructura aleatorias, pues como que no se como poder programarlos. Se que se necesita los random y randomize oportunos, pero no sé cómo. Espero que puedan ayudarme, ya que es un programa interesante para el estudio sobre el juego en el cual lo desarollo.
PD: aqui es necsario que haya archivos para que fucnione optimamente. PD: os pongo los programas tal y como los tengo hasta ahora: programa a corregir (en el que hay que poner el modulo aleatorio vaya) program Project2; {$APPTYPE CONSOLE} uses SysUtils; type Tcarta = record num: integer; nom: string[40]; color:string[25]; tipo:string[40]; HP:string[3]; text_carta1:string[255]; text_carta2:string[255]; text_carta3:string[255]; text_carta4:string[255]; debilitat:string[33]; resistencia:string[33]; costretirada:string[10]; end; var opcio: integer; procedure Crearmall(); var mall1:file of Tcarta; aux1:Tcarta; i:integer; begin Assignfile(mall1,'baralla_a_estudi.car'); Rewrite(mall1); for i:=1 to 2 do begin Writeln('dona tots els detalls de la carta a posar en el mall'); Readln(aux1.num); Readln(aux1.nom); Readln(aux1.tipo); Readln(aux1.color); Readln(aux1.hp); Readln(aux1.text_carta1); Readln(aux1.text_carta2); Readln(aux1.text_carta3); Readln(aux1.text_carta4); Readln(aux1.debilitat); Readln(aux1.resistencia); Readln(aux1.costretirada); Write(mall1,aux1); end; Closefile(mall1); end; procedure Llegirmall(); var mall2:file of Tcarta; aux2:Tcarta; begin Assignfile(mall2,'baralla_a_estudi.car'); Reset(mall2); while not Eof(mall2) do begin Read(mall2,aux2); Writeln('carta numero:',aux2.num); Writeln(aux2.nom); Writeln(aux2.tipo); Writeln(aux2.color); Writeln(aux2.hp); Writeln(aux2.text_carta1); Writeln(aux2.text_carta2); Writeln(aux2.text_carta3); Writeln(aux2.text_carta4); Writeln(aux2.debilitat); Writeln(aux2.resistencia); Writeln(aux2.costretirada); end; Closefile(mall2); end; procedure RobarnCartes(); var mall3:file of Tcarta; aux3:Tcarta; i,n,robat:integer; begin Assignfile(mall3,'baralla_a_estudi.car'); Reset(mall3); writeln('quin nomrbre de cartes vols robar?'); readln(n); i:=1; Randomize; robat:=0; while (i<=n) do begin robat:=1 + random(1); if (robat=aux3.num) then begin Read(mall3,aux3); Writeln('carta robada numero:',i); Writeln(aux3.nom); Writeln(aux3.tipo); Writeln(aux3.color); Writeln(aux3.hp); Writeln(aux3.text_carta1); Writeln(aux3.text_carta2); Writeln(aux3.text_carta3); Writeln(aux3.text_carta4); Writeln(aux3.debilitat); Writeln(aux3.resistencia); Writeln(aux3.costretirada); i:=i+1; end; end; Closefile(mall3); end; begin WRITELN('ESCULL UNA OPCIO DEL MENU/ESCOGE UNA OPCION DEL MENU'); WRITELN('--------------------------------------------------------------------'); WRITELN('1-Crear un mall de pokemon tcg per al seu estudi / Crear un mazo de pokemon tcg para su estudio'); WRITELN('2-Llegir un mall creat des de la primera fins a la ultima carta / leer un mazo ya creado desde la primera hasta la ultima carta.'); WRITELN('--------------------------------------------------------------------'); readln(opcio); case opcio of 1:Crearmall(); 2:Llegirmall(); 3:RobarnCartes(); end; readln; end. Programa antes de poner el modulo: program Project2; {$APPTYPE CONSOLE} uses SysUtils; type Tcarta = record nom: string[40]; color:string[25]; tipo:string[40]; HP:string[3]; text_carta1:string[255]; text_carta2:string[255]; text_carta3:string[255]; text_carta4:string[255]; debilitat:string[33]; resistencia:string[33]; costretirada:string[10]; end; var opcio: integer; procedure Crearmall(); var mall1:file of Tcarta; aux1:Tcarta; i:integer; begin Assignfile(mall1,'baralla_a_estudi.car'); Rewrite(mall1); for i:=1 to 2 do begin Writeln('dona tots els detalls de la carta a posar en el mall'); Readln(aux1.nom); Readln(aux1.tipo); Readln(aux1.color); Readln(aux1.hp); Readln(aux1.text_carta1); Readln(aux1.text_carta2); Readln(aux1.text_carta3); Readln(aux1.text_carta4); Readln(aux1.debilitat); Readln(aux1.resistencia); Readln(aux1.costretirada); Write(mall1,aux1); end; Closefile(mall1); end; procedure Llegirmall(); var mall2:file of Tcarta; aux2:Tcarta; begin Assignfile(mall2,'baralla_a_estudi.car'); Reset(mall2); while not Eof(mall2) do begin Read(mall2,aux2); Writeln('dona tots els detalls de la carta a posar en el mall'); Writeln(aux2.nom); Writeln(aux2.tipo); Writeln(aux2.color); Writeln(aux2.hp); Writeln(aux2.text_carta1); Writeln(aux2.text_carta2); Writeln(aux2.text_carta3); Writeln(aux2.text_carta4); Writeln(aux2.debilitat); Writeln(aux2.resistencia); Writeln(aux2.costretirada); end; Closefile(mall2); end; begin WRITELN('ESCULL UNA OPCIO DEL MENU/ESCOGE UNA OPCION DEL MENU'); WRITELN('--------------------------------------------------------------------'); WRITELN('1-Crear un mall de pokemon nb tcg per al seu estudi / Crear un mazo de pokemon tcg para su estudio'); WRITELN('2-Llegir un mall creat des de la primera fins a la ultima carta / leer un mazo ya creado desde la primera hasta la ultima carta.'); WRITELN('--------------------------------------------------------------------'); readln(opcio); case opcio of 1:Crearmall(); 2:Llegirmall(); end; readln; end. |
A los moderadores...seria bueno qye abran un foro llamado "Tareas" o similar. asi sería más fácil ordenar las opiniones, este caso es precisamente un tarea de escuela...
|
Por favor, ZERO0, lee nuestra guía de estilo, gracias.
|
crear programa en el cual haya un algoritmo para poder robar cartas
Cita:
Gracias por adelantado. |
Hola
Para mi la pregunta esta bien planteada, lo que me parece es que se deberia especificar el sitio donde se requiere que se haga lo que se necesita y no colocar todo el codigo, asi se iria mas al grano. Por lo demas esta bien, para mi. Saludos |
Cita:
Código:
procedure RobarnCartes(); Gracias por adelantado. |
La franja horaria es GMT +2. Ahora son las 09:27:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi