Está en la página 1de 7

Colegio De Educacin Profesional Tcnica

Bachiller Del Estado De Veracruz


CONALEP
Modulo POV!
P"#"P Miguel $ngel %a&os 'rande
Alu&nos (elen )arina 'arcs %a&*rez
%eina Mndez D*az
'ru+o ,-.
Carrera !nfor&/tica
%e+orte de +ractica 00
Acti1idad En E2ui+o
Pr/ctica00
A+licacin de &ate&/ticas +ara 3uego TiroAlPlato usando lengua3e de +rogra&acin"
Pro+sito Ela4ora una a+licacin de 1ideo3uego del TiroAlPlato usando lengua3e de
+rogra&acin +ara la a+licacin de conce+tos de geo&etr*a +lana"
!ntroduccion
En esta +r/ctica se 1er/ uno de los 3uegos &/s conocidos5 +arecido al de dis+arar a
+atos5 +ero en esta ocasin son a +latos5 co&o se e6+lica en el +ro+sito de la +r/ctica5
se re2uiere utilizar de conoci&ientos &ate&/ticos +ara hacer el efecto de 2ue el +lato 1a
1olando +or la +antalla" #e +resenta a continuacin el cdigo utilizado5 la e6+licacin del
cdigo se 1er/n en5 los co&entarios dentro del +rogra&a" Los co&entarios se encuentran
en color A78L 9include :stdli4"h; << Para =rand= 9include :&ath"h; << Para =s2rt=
9include :allegro"h; <<#e declaran las constantes glo4ales
9define ANC(OPANTALLA >?-
9define ALTOPANTALLA ?--
9define MA@%AD!OD!ANA ?A
9define M!N%AD!OD!ANA A
9define N8MD!ANA# 0?
9define MA@!NC%EM@D!ANA ?-
9define M!N!NC%EM@D!ANA 0-
9define %ETA%DO B
<<Declara&os las 1aria4les glo4ales
int
Ta&anCoDianaActual5
nu&DianaActual5
+os@diana5
+osDdiana5
radioDiana5
incre&@diana5
incre&Ddiana5
acertado E -F << #i se acierta G; +lato nue1o
long int
+untos E -5
contadorActual E -F
float
a545cF << Para la +ar/4ola del +lato
<<Ahora la rutina de inicializacin donde inicia&os en allegro e intenta&os entrar a &odo
gr/fico""" int inicializaHI
J
allegroKinitHIF
installKLeC4oardHIF
installKti&erHIF
installK&ouseHIF
if HsetKgf6K&odeH'M@K#AME5 ANC(OPANTALLA5 ALTOPANTALLA5 -5 -I NE -I
J
setKgf6K&odeH'M@KTE@T5 -5 -5 -5 -IF
allegroK&essageH =!nca+az de entrar a &odo graficoOnPsOn=5 allegroKerrorIF
return 0F
Q
nu&DianaActual E 0F
srandHti&eH-IIF
shoRK&ouseHscreenIF
return -F
Q
<<%utina +ara el nue1o nue1o +lato
1oid nue1oPlatoHI
J
int 6VerticePara4ola5
CVerticePara4olaF
float +Para4olaF
<< 8n radio al azar entre el 1alor &/6i&o C el &*ni&o
radioDiana E HrandHI P HMA@%AD!OD!ANA G M!N%AD!OD!ANAII S M!N%AD!OD!ANAF <<
La 1elocidad Hincre&ento de @I5 si&ilar
incre&@diana E HrandHI P HMA@!NC%EM@D!ANA G M!N!NC%EM@D!ANAII S
M!N!NC%EM@D!ANAF
<< Vrtice de la +ar/4ola5 cerca del centro en horizontal
6VerticePara4ola E ANC(OPANTALLA<? S HrandHI P .-I G ?-F
<< D &itad su+erior de la +antalla5 en 1ertical
CVerticePara4ola E HrandHI P HALTOPANTALLA<?IIF
<< Calculo a5 4 C c de la +ar/4ola
+Para4ola E ALTOPANTALLA<?F a E 0 < H?T+Para4olaIF 4 E G6VerticePara4ola < +Para4olaF
c E HH6VerticePara4olaT6VerticePara4olaI < H?T+Para4olaI I S CVerticePara4olaF
<< Posicin horizontal 3unto &argen iz2uierdo +os@diana E radioDianaF
<< Posicin 1ertical segUn la +ar/4ola +osDdiana E aT+os@dianaT+os@diana S
4T+os@diana S cF Q <<%edi4u3ar +antalla""" 1oid redi4u3aPantallaHI
J
<< Oculto ratn
scareK&ouseHIF
<< #e 4orra +antalla
clearK4it&a+HscreenIF
<< #incronizo con 4arrido +ara &enos +ar+adeos
1sCncHIF
<< #e di4u3a el +aisa3e a o4ser1ar
rectfillHscreen5-5-5ANC(OPANTALLA5ALTOPANTALLAG.-5
&aLecolHB-5 B-5 ?AAIIF
<<Cielo
te6t+rintfHscreen5 font5 .5.5 +aletteKcolorV00W5 =Puntos Pd=5 +untosIF
<< Puntuacin rectfillHscreen5-5ALTOPANTALLAG.-5ANC(OPANTALLA5ALTOPANTALLA5
&aLecolH-5 0A-5 -IIF
<<#uelo
circlefillHscreen5 +os@diana5 +osDdiana5 radioDiana5 +aletteKcolorV0AWIF
<< Diana if Hnu&DianaActual :E N8MD!ANA#I
J
te6t+rintfHscreen5 font5 .50X-5 +aletteKcolorV0-W5 =Platos Pd=5 N8MD!ANA#G
nu&DianaActualIF
Q
<< %estantes5 si no aca4
unscareK&ouseHIF
Q
<<#e esta4lece la distancia entre dos +untos
float distanciaHint 605 int 6?5 int C05 int C?I
J
return Hs2rtHH60G6?ITH60G6?I S HC0GC?ITHC0GC?II IF
Q
<<%utina de te&+orizacin
1olatile long int contador E -F
1oid au&entaContadorH1oidI J contadorSSF Q
ENDKOMKM8NCT!ONHau&entaContadorIF
<<Cuer+o del +rogra&a
int &ainHI
J
<< #e inicializan los intentos
if HinicializaHI NE -I
e6itH0IF
<< Blo2uea&os la 1aria4le C la funcin del te&+orizador
LOC)K
<< En esta seccion se re+ite &ientras se &ue1e VA%!ABLEH contador IF
LOC)KM8NCT!ONH au&entaContador IF
<< #e +one el te&+orizador en &archa cada 0- &ilisegundos
installKintHau&entaContador5 0-IF
do J
<< Ciclo 2ue re+ite el codigo +ara cada +lato
nue1oPlatoHIF
<< Calculo su +osicin inicial
redi4u3aPantallaHIF
<< D di4u3o la +antalla
acertado E -F
<< Toda1*a no se ha acertado5 claro
do J
<< Co&+rue4o el ratn
if H&ouseK4 Y 0I
J
if HdistanciaH&ouseK65 +os@diana5 &ouseKC5+osDdianaI :E radioDianaI J +untos SE
ANC(OPANTALLAG+os@dianaF
acertado E 0F
Q
Q
<< #i Ca se ha +asado el retardo5 &ue1o
if Hcontador ;E contadorActualS%ETA%DOI
J
contadorActual E contadorS%ETA%DOF
+os@diana SE incre&@dianaF
+osDdiana E aT+os@dianaT+os@diana S 4T+os@diana S cF
redi4u3aPantallaHIF
Q
Q
Rhile HH+os@diana :E ANC(OPANTALLA G radioDianaI YY Hacertado EE -IIF
nu&DianaActual SSF
<< #e coloca la siguiente diana
Q Rhile Hnu&DianaActual :E N8MD!ANA#IF
redi4u3aPantallaHIF
scareK&ouseHIF
te6t+rintfHscreen5 font5 .-50--5 +aletteKcolorV?W5 =Partida ter&inada=IF
unscareK&ouseHIF
readLeCHIF
return -F
Q
<T #e concluCe con la =&acro= 2ue +ide Allegro T<
ENDKOMKMA!NHIF
CONCL8#!ON
Bueno esta +r/ctica fue algo co&+licada +uesto al uso de utilizar 1aria4les +ara no llegar
a confundirnos en el &o&ento de realizar las funciones5 ta&4in se utilizan distintos rand
co&o +ara el di/&etro del +lato C el de la +ar/4ola5 entonces nos da&os cuenta 2ue las
&ate&/ticas nos aCudan &ucho5 concidero 2ue eso fue lo &as co&+licado Ca 2ue en lo
de&/s fue solo usar un nuestra lgica C co&+render lo 2ue hac*a&os en cada 4lo2ue de
instrucciones"

También podría gustarte