Días después, mi pareja me llega un una sopa de letras en Excel, tengo la idea que se lo hizo un compañero de su trabajo, por lo que, por ganar su atención, se me ocurrió la idea de hacer un hackatón para crear un juego para ella, obviamente en mi lenguaje, Free Pascal, se me ocurrió hacerle el juego Master Mind, en el cual se escogen 4 números, en su primer etapa del 0 al 5, y adivinar tanto los números seleccionados como su posición, y en modo hackatón, en la noche del viernes para entregarlo el sábado.
Todo bien hasta ahí, excepto porque no lo terminé en esa noche, solo avancé como un 30%, continué el domingo, y terminé hasta el miércoles que volví a dedicarle tiempo. Creo, en total, le dediqué aproximadamente 8 horas repartidas en 3 días.
Este código lo escribí velozmente, por lo cual no está documentado, ni depurado, ni optimizado, puede contener errores y falta hacerlo más accesible, sin embargo es funcional, y es el motivo principal de esta entrada, mis códigos los estoy subiendo a GitHub, sin embargo, creo que al llegar aquí en búsqueda de información, lo ideal sería que se llevaran la información directamente desde aquí, así que a continuación detallo el código, que puede ser descargado desde GitHub:
program mm;UsesCrt;Varn1,n2,n3,n4,c1,c2,c3,c4,i,p,e,t,y : Integer;z : char;salir : boolean;beginRandomize;i := 1;salir := False;repeatc1:=random(5);c2:=random(5);if c2=c1 then c2:=random(5);c3:=random(5);if ((c3=c1) or (c3=c2)) then c3:=random(5);c4:=random(5);if ((c4=c1) or (c4=c2) or (c4=c3)) then c4:=random(5);until ((c1<>c2) and (c1<>c3) and (c1<>c4) and (c2<>c3) and (c2<>c4) and (c3<>c4));GotoXY(1,1);Writeln('Mente Maestra');GotoXY(1,2);Writeln('Se han escogido 4 numeros, debes averiguar cuales son y en que posicion estan');GotoXY(1,3);Write('Los resultados significan:');GotoXY(1,4);Write(' -X- numero correcto posicion correcta; -O- numero correcto posicion incorrecta');GotoXY(1,5);Write('Tienes 10 intentos. Adelante!');repeatGotoXY(1,i+6);Write('Intento ',i,' ->');GotoXY(14,i+6);Read(n1);GotoXY(16,i+6);Write('-');GotoXY(18,i+6);Read(n2);GotoXY(20,i+6);Write('-');GotoXY(22,i+6);Read(n3);GotoXY(24,i+6);Write('-');GotoXY(26,i+6);Read(n4);GotoXY(28,i+6);p := 0; e := 0;if (n1=c1) then p:= p+1;if (n2=c2) then p:= p+1;if (n3=c3) then p:= p+1;if (n4=c4) then p:= p+1;if ((n1=c2) or (n1=c3) or (n1=c4)) then e:= e+1;if ((n2=c1) or (n2=c3) or (n2=c4)) then e:= e+1;if ((n3=c1) or (n3=c2) or (n3=c4)) then e:= e+1;if ((n4=c1) or (n4=c2) or (n4=c3)) then e:= e+1;GotoXY(32,i+6);Write('Resultado:');if p>0 thenbeginfor t:=1 to p dobeginGotoXY(43+t,i+6);Write('X');end;end;if e>0 thenbeginfor y:=1 to e dobeginGotoXY((43+p+y),i+6);Write('O');end;end;if p=4 then salir :=True;i := i+1;if i=11 then salir := True;until (salir=True);if p=4 thenbeginGotoXY(40,24);Write('F-E-L-I-C-I-D-A-D-E-S');end;if i=11 thenbeginGotoXY(40,24);Write('P-E-R-D-I-S-T-E')end;z:=Readkey;end.
No hay comentarios.:
Publicar un comentario