3
  "#$% &' '()#(* &* +#* $+%(&' &* (*+,' -%./"&%&' (%,%"'()' 0%+% * &')'(1*"1#2'(,* &* +#* $+%(&' &* (*+,' &345367389:  "#$% &' ()*+,-./+0 ' 10.,2.2,#0 &' 3#&+0 44 5 6788% 0;<=>: 9-:#,&+ ;'<&')) ,;9?97@< -3897 A B<C< ,;38D9 E /F =#,# '00' >,+?'.+ + +$?'.-@+ A '0:,'@', 2/ >,+*,#/# 0-/2)#&+, &' 2/ ?+*+ &' :#,.#0 :+<B':-&+ :+/+ !"#$%& ( )*% C ?+*+ &'@' 0', :#>#D &' 02>+,.#, # >#,.-:->#EF+ &'G <+ /H<-/+G &+-0 ?+*#&+,'0 #.AG <+ /IJ-/+G &'D ?+*#&+,'0%  K#&# ?+*#&+, >+&',I 0', 2/ >#,.-:->#<.' ,'#) +2 2/ ?+*#&+, # 2.+/I.-:+% (00-/G >+, 'J'/>)+G '/ 2/# >#,.-&# >+&'/+0 .', 6 ?+*#&+,'0 #2.+/I.-:+0 ' 8 ?+*#&+, B2/#<+G +2 '<.F+ L  ?+*#&+,'0 B2/#<+0 ' 8 ?+*#&+, #2.+/I.-:+% =#,# @-#$-)-D#, + ?+*+G 0'2 >,+*,#/#G &+,#@#<.' &'<+/-<#&+ &' !"#$%&'(G &'@' 0', :#>#D &' *','<:-#, #0 ?+*#&#0 &' :#&# >#,.-:->#<.' M-%'% '0.#$')':', 2/# +,&'/ &' ?+*#&+,'0N ' -&'<.-O-:#, + @'<:'&+, &' 2/# ,+&#&#% PI,-#0 ,+&#&#0 >+&',F+ 0', ,'#)-D#&#0 #.A Q2' 2/# >#,.-&# 0' '<:',,'% R'0.' :#0+G + >,+*,#/# &'@' /#<.', 2/# .#$')# &' >+<.2#EF+ Q2' ,'>,'0'<.# + #:S/2)+ &' >+<.+0 &' :#&# ,+&#&#% (+ 0' '<:',,#, + >,+*,#/#G &'@'T0' 'J-$-, # .#$')# &' >+<.2#EF+G -<&-:#<&+ + ?+*#&+, @'<:'&+,G -%'% #Q2')' Q2' #:2/2)+2 /#-0 >+<.+0%  ( -<.',O#:' &+ >,+*,#/# &'@',I 0', 2.-)-D#, + .',/-<#) '/ /+&+ .'J.+%  * B<C< !"#$%& ( )* A 2/ ?+*+ &' :#,.#0 >#,# &+-0 +2 /#-0 ?+*#&+,'0% C ?+*+ A :+/>+0.+ &' &+-0 &'Q2'0 &' :#,.#0% C +$?'.-@+ &+ ?+*+ A .'<.#, +$.', 2/# /F+ &' :#,.#0 :2?+ @#)+, 0'?# + /#-0 >,UJ-/+ >+00H@') &' L8 >+<.+0% V/# /F+ :+<0-0.' &' 'J#.#/'<.' L :#,.#0% K#&# :#,.# <2/',#&# M6G LG % % % G WG 87N @#)' + /'0/+ @#)+, '0:,-.+ <# :#,.# '/ >+<.+0X P#)'.' MYNG 3#/# MZN ' 9'- M[N .+&+0 @#)'/ 87 >+<.+0X '<Q2#<.+ Q2' + \0 M(N @#)' 8 +2 88 >+<.+0G &'>'<&'<&+ &' Q2#) &+0 &+-0 @#)+,'0 O+,<'E# + /#-+, .+.#) &' >+<.+0 0'/ 2).,#>#00#, +0 L8 >+<.+0%  +EC;94 R# #$',.2,# &+ ?+*+ &'@'T0' '0.#$')':', Q2#<.+0 >#,.-:->#<.'0 -,F+ ?+*#,G $'/ :+/+ # +,&'/ &' ?+*#&# >#,# :#&# 2/ &')'0% 3'>+-0 &'@'T0' -&'<.-O-:#, Q2#-0 >#,.-:->#<.'0 0',F+ B2/#<+0 ' Q2#-0 0',F+ ?+*#&+,'0 #2.+/I.-:+0%  R+ -<H:-+ &' 2/# ,+&#&#G + 0-/2)#&+, &'@' '/$#,#)B#, +0 &+-0 &'Q2'0 &' :#,.#0 &' /#<'-,# # :,-#, 2/ &'Q2' 2<-:+ &' :#,.#0G Q2' O2<:-+<#,I :+/+ 0' O+00' 2/# >-)B# M#>'<#0 # :#,.# &+ .+>+ >+&' 0', ,'.-,#&#N% C 0-/2)#&+,G '<.F+G &'@' ,'#)-D#, # &-0.,-$2-EF+ &' .,]0 :#,.#0 M,'.-,#&#0 &+ .+>+ &+ &'Q2' &' :#,.#0N >#,# :#&# ?+*#&+,%  (>U0 :+/>)'.#, # &-0.,-$2-EF+ -<-:-#)G :#&# ?+*#&+, M&'>+-0 &' +$0',@#, 02# /F+N .'/ + &-,'-.+ &' 02$0.-.2-, M#>'<#0N 2/# &' 02#0 :#,.#0 >+, 2/# <+@# :#,.# &+ &'Q2'% ^-<#)-D#&# #0

Trabalho Java

Embed Size (px)

Citation preview

5/12/2018 Trabalho Java - slidepdf.com

http://slidepdf.com/reader/full/trabalho-java-55a2373274745 1/3

LIGADEENSINODORIOGRANDEDONORTE

FACULDADENATALENSEPARAODESENVOLVIMENTO

DORIOGRANDEDONORTE

Disciplina:Lab.deAlgoritmoseEstruturasdeDadosII–2011.Prof.:RicardoWendell

TrabalhoFinal-JogoTrintaeUm

ParaesseprojetooobjetivoéescreverumprogramasimuladordeumjogodecartasconhecidocomoTrintaeUm.Ojogodevesercapazdesuportaraparticipaçãode,nomínimo,doisjogadoresaté,nomáximo,dezjogadores. Cadajogadorpoderáserumparticipanterealouumjogadorautomático.Assim,porexemplo,emumapartidapodemoster2jogadoresautomáticose1jogadorhumano,ouentão3 jogadoreshumanose1jogadorautomático.Paraviabilizarojogo,seuprograma,doravantedenominadode TrintaUm,devesercapazdegerenciarasjogadasdecadaparticipante(i.e.estabelecerumaordemdejogadores)eidentificarovencedordeumarodada.Váriasrodadaspoderãoserrealizadasatéqueumapartidaseencerre.Nestecaso,oprogramadevemanterumatabeladepontuaçãoquerepresentaoacúmulodepontosdecadarodada.Aoseencerraroprograma,deve-seexibiratabeladepontuação,indicandoojogadorvencedor,i.e.aquelequeacumuloumaispontos. Ainterfacedoprogramadeveráserutilizaroterminalemmodotexto.

OJogo

TrintaeUméumjogodecartasparadoisoumaisjogadores.Ojogoécompostodedoisdequesdecartas.Oobjetivodojogoétentarobterumamãodecartascujovalorsejaomaispróximopossívelde31pontos.

Umamãoconsistedeexatamente3cartas.Cadacartanumerada(2,3,...,9,10)valeomesmovalorescritonacartaempontos;Valete(J),Dama(Q)eRei(K)todosvalem10pontos;enquantoqueoÁs(A)vale1ou11pontos,dependendodequaldosdoisvaloresforneçaomaiortotaldepontossemultrapassaros31pontos.

Regras

Naaberturadojogodeve-seestabelecerquantosparticipantesirãojogar,bemcomoaordemdejogadaparacadaumdeles.Depoisdeve-seidentificarquaisparticipantesserãohumanosequaisserãojogadoresautomáticos.

Noiníciodeumarodada,osimuladordeveembaralharosdoisdequesdecartasdemaneiraacriarumdequeunicodecartas,quefuncionarácomosefosseumapilha(apenasacartadotopopodeserretirada).Osimulador,então,deverealizaradistribuiçãodetrêscartas(retiradasdotopododequedecartas)paracadajogador.

Apóscompletaradistribuiçãoinicial,cadajogador(depoisdeobservarsuamão)temodireitodesubstituir(apenas)umadesuascartasporumanovacartadodeque.Finalizadaas

5/12/2018 Trabalho Java - slidepdf.com

http://slidepdf.com/reader/full/trabalho-java-55a2373274745 2/3

eventuaissubstituições,osimuladordeveindicarqualéovencedordarodada,contabilizando2pontosporvitória.

Aseguir,osimuladordeveindagarseosparticipantesdesejamumanovarodada.Emcasoafirmativo,deve-sereiniciararodada,embaralhandonovamenteodeque.Lembre-sequea

cadanovarodada,deve-seacumularospontosresultantesemumatabelaquedeveserexibidanofinaldapartida.

AbstraçãoeModelagem

Aprincipalsugestãoétentaridentificaroscomponentesdasimulação,comojogador,deque,partida,controladordojogo,tabeladepontos,eabstraí-losparaclassesemJava. Paracadacomponente(ouclasse)identificadodeve-seprocurardefinirasaçõescabíveis,asquaiscorresponderãoamétodosdaclasse.

Algumasestruturasdedadossãobemevidentes.Porexemplo,odequecentraldecartas(formadopordoisdequesdecartas,ouseja,104cartas)éfacilmenterepresentávelporuma

pilha.Umaaçãocabível,nestecaso,seriaaoperaçãodeembaralharascartasdodeque(métodoshuffle()).Outraoperaçãoseriaaderetirarumacarta(dotopo)dodeque.

Demaneirasimilar,cadaparticipantepoderáarmazenarsuamãoemumalistasequencialdecartas.Osprópriosparticipantes(modeladoscomoobjetosdaclasseJogador,porexemplo)podemestararmazenadosemumafilacirculardejogadores,demaneiraaseestabelecerumaordemlineardejogadas.

Umadasclassesprincipaisasermodeladaéaquedevecontrolarojogo.Estaclassedeveráserresponsávelporgerenciarasrodadasquecompõemumapartida,verificarqualovencedordeumarodada,acumularaspontuações,distribuirascartasparacadajogador,etc.

Sugere-sequecadacartasejarepresentadaporumacadeiadecaracteres.Assim,umamãopodeserrepresentadaporumastring,comoem“A10K”,quesignificaumamãocontendoumAs,um10deumRei.Ovalortotaldamãoé11+10+10=31.NotequenestecasooAsfoiconsideradocomvalor11aoinvesde1,umavezqueovalor11epermitiaomaiortotaldepontossemultrapassar31.Recomenda-setambémarmazenarinformaçõesacercadonaipedacarta:clubs(C),diamonds(D),hearts(H)espades(S).

EntregaeAvaliação

Estetrabalhopoderáserdesenvolvidoemgruposde(até)três.Paraasoluçãodesteprojetoé

obrigatóriaautilizaçãodasclassesPilha,FilaeListasequenciaisqueforamdesenvolvidasemtrabalhosanteriores.

OprogramaTrintaUmseráavaliadosobosseguintescritérios: -Permiteadefiniçãodejogadoresautomáticosehumanos(15%) -Realizaumamodelagemapropriadaparaoproblema(15%) -Realizaoembaralhamentoedistribuiçãodecartasparaosparticipantes(10%) -Permitequeumjogadorhumanosubstituaumacartaemumadadarodada(5%) -Provêumainteligênciaartificial(IA)razoávelparaojogadorautomático(5%) -Identificacorretamenteovencedordeumarodada(15%) -Contabilizaapontuaçãototalparaumapartida,compostade1anrodadas(10%)

-Indicaovencedorgeraldaumapartida(10%) -Apresentaumaboainterfacetextualcomousuário(15%)

5/12/2018 Trabalho Java - slidepdf.com

http://slidepdf.com/reader/full/trabalho-java-55a2373274745 3/3

-[PontoExtra]ExibeinterfacegráficafeitaemSwing(15%)

-Presençadeerrosdecompilaçãoe/ouexecução(até−20%) -Faltadedocumentaçãodoprogramacomcomentáriosnasclassesemétodos(até−10%) -FugadospadrõesdenomenclaturaemJava(até−10%)

Aapresentaçãoseráfeitaportodasasequipesnodia 06/12.Elaconsistirádademonstraçãodoprogramaeentrevistacomosmembrosdaequipe.Oobjetivodetalentrevistaécomprovaraverdadeiraautoriadocódigoentregue.Assim,qualquerumdoscomponentesdadupladevesercapazdeexplicarqualquertrechodecódigodoprojeto. Trabalhosplagiados

receberãonotazeroautomaticamente.

Propostadetrabalhoadaptadadematerialdoprof.SelanRodrigues(UFRN)