Cita:
Empezado por Caral
Lo hice para que mi hija aprendiera practicando las tablas de multiplicar en forma de juego.
|
Eso me parece una gran idea.
Cita:
Empezado por Caral
...Me encantaria que lo vierais y criticarais a un aprendiz, ademas de enviar las modificaciones, parciales o totales que querais.
|
Lo primero que me ha llamado la atención del programa es que hay bastante código que es repetitivo; Si le echas un vistazo a la función
FindComponent, verás que te puede ayudar a reducir código en estas funciones; También creo que te puede ayudar a aclararte en general el llamar a determinados componentes/botones/combos/edits con un nombre más descriptivo que el que pone delphi por defecto.
Por ejemplo, este código:
Código Delphi
[-]
ComboBox5.Text:= FloatToStr(RandomRange(1, 10));
ComboBox7.Text:= FloatToStr(RandomRange(1, 10));
ComboBox9.Text:= FloatToStr(RandomRange(1, 10));
ComboBox11.Text:= FloatToStr(RandomRange(1, 10));
ComboBox13.Text:= FloatToStr(RandomRange(1, 10));
ComboBox15.Text:= FloatToStr(RandomRange(1, 10));
ComboBox17.Text:= FloatToStr(RandomRange(1, 10));
ComboBox19.Text:= FloatToStr(RandomRange(1, 10));
ComboBox21.Text:= FloatToStr(RandomRange(1, 10));
ComboBox23.Text:= FloatToStr(RandomRange(1, 10));
Se ppuede sustituir por este:
Código Delphi
[-]
var
i, j:Integer;
comp:TComponent;
...
for i := 1 to 10 do begin
j := (i * 2) + 3; comp := FindComponent('ComboBox' + IntToStr(j));
TComboBox(comp).Text:= FloatToStr(RandomRange(1, 10));
end;
Básicamente es "montar" una cadena con el nombre del componente u sar FindComponent para encontrarlo.
o este:
Código Delphi
[-]
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Edit11.Clear;
Edit12.Clear;
Edit13.Clear;
Edit14.Clear;
Edit15.Clear;
Edit16.Clear;
Edit17.Clear;
Edit18.Clear;
Edit19.Clear;
Edit20.Clear;
Edit21.Clear;
Edit22.Clear;
Por este otro:
Código Delphi
[-]
var
i:Integer;
comp:TComponent;
...
for i := 3 to 22 do begin
Str := 'Edit' + IntToStr(i); comp := FindComponent(Str);
TEdit(comp).Clear;
end;
Espero que te sea últil.
Cita:
Empezado por Caral
Para mejorarlo he pensado en la posibilidad de que pueda tener varios jugadores y que los nombres como su puntaje se guarden en un archivo texto o ini...
...Se que podria modificarse para mas usos didacticos...
|
¿Has pensado cómo? ¿Tienes algo en mente?
Me refiero a si ya tienes cosas pensadas y podemos ayudarte a implementarlas o no tienes nada pensado.
Ya que la idea ha sido tuya y la iniciativa también está bien que decidas por donde comenzar...
* Problemas para practicar la memoria.
* Gráficas X,Y
* Fracciones
* MCM y MCD
* ...