thiết kế chương trình chiếc nón kì diệu

32 913 0
thiết kế chương trình chiếc nón kì diệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯờNG ĐạI HọC BáCH KHOA Hà NộI VIệN CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG BàI TậP LớN LậP TRìNH hớng đối tợng Đề TàI: Chiếc nón kỳ diệu Giáo viên hớng dẫn : Cao tuấn dũng Sinh viên thực H Ni, 11 - 2012 Mc lc Li núi u Lp trỡnh hng i tng l mt nhng k nng quan trng nht lnh vc cụng ngh thụng tin hin Trong vic hc mụn ny thỡ vic rốn luyn t hng i tng l quan trng nht Khi mi hc lp trỡnh hng i tng thỡ chỳng ta nờn dựng cỏc vớ d m ranh gii gia cỏc i tng l rừ rng Cú rt nhiu bi s giỳp chỳng ta lm quen v rốn luyn cỏc k nng, t lp trỡnh hng i tng in hỡnh ú phi k ti bi to game Chic nún kỡ diu Vi ti ny, chỳng em cú th phỏt trin rt nhiu cỏch t hng i tng, hiu c sõu sc cỏc nguyờn lý ca lp trỡnh hng i tng, thờm na l rốn luyn v phỏt trin cỏc kin thc v c s d liu v lp trỡnh game 2D Chng trỡnh ca chỳng em c vit trờn ngụn ng thun hng i tng l Java Do mi lm quen vi cỏch t hng i tng cng nh kin thc v lp trỡnh game nờn chc hn bi s cũn nhiu hn ch Chỳng em mong thy giỏo s ỏnh giỏ v rỳt nhng bi hc kinh nghim, chỳng em hon thin hn c v kin thc v k nng Chỳng em xin trõn thnh cm hn thy! Mc Lc Cỏc Biu Hỡnh 1:Biu use case Hỡnh 2:Biu trỡnh t ca ca s dng thờm ch Hỡnh 3:Biu trỡnh t ca ca s dng xúa ch Hỡnh 4:biu trỡnh t cho ca s dng sa ch Hỡnh 5:Biu trỡnh t ca ca s dng thờm cõu hi Hỡnh 6:Biu trỡnh t ca ca s dng xúa cõu hi Bng 7:Biu trỡnh t ca s dng sa cõu hi Hỡnh 8:Biu trỡnh t ca s dng nhp tờn Hỡnh 9:Biu trỡnh t ca s dng chn ch Hỡnh 10:Biu trỡnh t ca s dng quay nún Hỡnh 11:Biu trỡnh t ca s dng oỏn ụ ch Hỡnh 12:Biu trỡnh t ca s dng tr li A I Tng quan v liờn quan Chng trỡnh c xõy dng da trờn ngụn ng java v s dng c s d liu MySQL C s d liu C s d liu bao gm bng l tblquestion v tbltopic Thuc tớnh IdQuestion Question Answer Note IdTopic Thuc tớnh IdTopic Topic II Din gii Mó cõu hi cõu hi ỏp ỏn Ghi chỳ Mó ch Din gii Mó ch Ch Kiu d liu Int Ghi chỳ Khúa chớnh VARCHAR(100) VARCHAR(50) Text int Khúa ngoi Kiu d liu int ghi chỳ Khúa chớnh VARCHAR(45) Lp trỡnh 2D java Np mt i tng nh t file Ta cú th s dng cỏc i tng ca lp BufferedImage Ti li l lp BufferedImage ch khụng phi Image? BufferedImage l lp m rng ca Image nờn nú k tha cỏc kh nng ca lp Image, hn na nú cú li th quan trng: Cỏc d liu cn thit cho vic thao tỏc vi nh c truy cp d dng hn thụng qua cỏc phng thc ca nú BufferedImage c t ng chuyn i thnh "nh c qun lý" bi Java Virtual Machine (JVM) cú th, nh ú cho phộp h tr bi phn cng c a mn hỡnh np mt nh t file vo i tng BufferedImage, ta cú th dựng phng thc tnh read() ca lp ImageIO: BufferedImage bimg = ImageIO.read(getClass().getResource(file)); Cỏc hiu ng bi nh Cỏc thao tỏc x lý nh Java 2D hu ht nm nhng lp ca dao din BufferedImageOp on mó di õy cho thy cỏch to mt i tng BufferedImage, sau ú thc hin thao tỏc co dón nh nh vo mt i tng ca lp RescaleOp BufferedImage source = ImageIO.read(getClass().getResource(file_name)); RescaleOp = new RescaleOp(-1.0f, 255f, null); BufferdImage destination = RescaleOp.fillter(source, null); Hm fillter() thc hin thao tỏc co dón nh, ly input l i tng source v tr v mt th hin ca lp BufferedImage Cú mt s phng thc thao tỏc vi nh cú th thc hin "ti ch", tc l khụng cn phi to mt i tng mi lu kt qu Mt cỏch khỏc thc hin cỏc hiu ng vi nh l s dng BufferedImageOp nh l mt tham s truyn vo phng thc drawImage() ca i tng Graphics2D i tng nh s c x lý, v kt qu c a trc tip thit b g2d.drawImage(source, negOp, x, y); // g2D l i tng Graphics B Tng quan v bi toỏn Yờu cu chng trỡnh Xõy dng trũ chi chic nún k diu.L mt trũ chi n gin vi ngi chi vi nhim v oỏn ch qua vũng chi Ai l ngi cú s im cao nht qua vũng chi s l ngi chin thng Chc nng chng trỡnh Qun lý cõu hi Cho phộp ngi chi thờm ,sa ,xúa ch Cho phộp ngi chi thờm,sa ,xúa cỏc cõu hi thuc ch Chi ngi chi ln lt c chn ch ca tng vũng chi v ti mi vũng chi ngi ln lt c quay nún oỏn ụ ch Thit k chng trỡnh S dng ngụn ng lp trỡnh java xõy dng chng trỡnh chớnh v s dng c s d liu My SQL qun lý cõu hi v ch T chc chng trỡnh theo mụ hỡnh MVC T chc chng trỡnh chớnh thnh cỏc package vi cỏc chc nng riờng r ca chng trỡnh T chc c s d liu qun lý cỏc cõu hi v ỏp ỏn tng ng theo tng ch C Phõn tớch thit k mc kin trỳc I Cỏc biu use case v c t Biu use case Hỡnh 1:Biu use case c t a Thờm Ch Mụ t túm tt: Tờn use case :Thờm Ch Mc ớch:Giỳp ngi chi thờm ch Túm lc:Ngi chi chn chc nng thờm ch ,ri in tờn ch mun thờm i tỏc:ngi chi Mụ t kch bn chớnh: Ca s dng bt u ngi chi chy chng trỡnh v chn qun lý cõu hi,sau ú chn chc nng thờm ch h thng s a ca s cho phộp ngi chi in tờn ch mỡnh mun thờm sau ú nhn OK h thng s thờm ch vo c s d liu Xúa Ch Mụ t túm tt: Tờn use case:Xúa Ch Mc ớch:giỳp ngi chi xoỏ ch Túm lc:Ngi chi chn ch mun xúa ri chn chc nng xúa ch i tỏc :ngi chi Mụ t kch bn chớnh: Ca s dng bt u ngi chi chn ch mun xúa sau ú chn chc nng xúa ch ,h thng hi li cú mun xúa ch ,nu xúa ch ton b cõu hi ch b xúa ton b.Nhn YES hon thnh vic xúa ch ú c s d liu,nhn NO hy b thao tỏc Sa Ch Mụ t túm tt: Tờn use case:Sa Ch Mc ớch:giỳp ngi chi sa ch Túm lc:ngi chi chn ch mun sa sau ú chn chc nng sa ch i tỏc:ngi chi b c Mụ t kch bn chớnh: Ca s dng bt u ngi chi chn ch mun thay i ,h thng s hin ca s cho phộp sa tờn ch ,sau nhp tờn ch mun sa nhn OK hon thnh vic sa tờn ,nhn CANCEL hy b thao tỏc Thờm Cõu Hi Mụ t túm tt: Tờn use case:Thờm Cõu Hi Mc ớch:giỳp ngi chi thờm cõu hi ch Túm lc:ngi chi nhp thụng tin cho cõu hi sau ú chn chc nng thờm cõu hi i tỏc:ngi chi Mụ t kch bn chớnh: Ca s dng bt u ngi chi chn ch sau ú in cỏc thụng tin v cõu hi m mun thờm vo ch ú :gi ý ,ỏp ỏn,ghi chỳ.Sau ú ngi chi chn chc nng thờm cõu hi,h thng s hi li xem bn cú mun chc thờm cõu hi ny khụng.Nhn OK hon thnh vic thờm cõu hi,nhn NO hy b thao tỏc Xúa Cõu Hi Mụ t túm tt: Tờn use case:Xúa Cõu Hi Mc ớch:giỳp ngi chi xúa cõu hi ch Túm lc:ngi chi chn ch mun xúa ri chn chc nng xúa ch Mụ t kch bn chớnh: Ca s dng bt u ngi chi chn cõu hi mun xúa sau ú chn chc nng xúa cõu hi ,h thng s hi li bn cú chc mun xúa cõu hi ny Nhn YES hon thnh vic xúa cõu hi,nhn No hy b thao tỏc Sa Cõu Hi Mụ t túm tt: Tờn use case:Sa Cõu Hi Mc ớch:giỳp ngi chi sa cõu hi ch Túm lc: ngi chi thay i thụng tin ca cõu hi ri chn chc nng sa i cõu hi Mụ t kch bn chớnh: Ca s dng bt u ngi chi chn cõu hi ch no ú ,ri thay i cỏc thụng tin ca nú sau ú chn chc nng sa cõu hi ,h thng s hi li bn cú mun chc thay d e f g h i j i cõu hi Nhn OK hon thnh vic sa cõu hi,nhn NO hy b thao tỏc Nhp Tờn Mụ t túm tt: Tờn use case:Nhp Tờn Mc ớch:t tờn cho ngi chi phõn bit cỏc ngi chi vi Túm lc:ngi chi in tờn vo ụ ngi chi Mụ t kch bn chớnh: Ngi chi in tờn mỡnh mun hin th vo ụ tờn ngi chi tng ng vi mỡnh Chn Ch Mụ t túm tt: Tờn use case:Chn Ch Mc ớch:chn ch ca vũng thi m mỡnh l ngi chi u tiờn Túm lc:ngi chi chn ch ụ ch tng ng vi vũng thi m mỡnh chi u tiờn Mụ t kch bn chớnh: Ngi chi chn ch ụ ch tng ng vi vũng thi m mỡnh chi u tiờn Quay Nún Mụ t túm tt: Tờn use case:Quay Nún Mc ớch:quay nún xỏc inh phn thng nhn c ti mi lt chi Túm lc :Ngi chi dựng chut kộo th trờn giao din chic nún Mụ t kich bn chớnh: Ti mi lt chi trc ngi chi oỏn ụ ch,ngi chi phi quay nún xỏc nh phn thng ti lt chi ú nu mỡnh oỏn ỳng.Ngi chi dựng chut kộo th trờn giao din chic nún n chic nún dng li thỡ phn thng trờn ch im l ca ngi chi Nu l ụ mt lt thỡ ngi chi s b mt lt cho ngi chi k tip nu khụng thỡ ngi chi c quyn oỏn ụ ch oỏn Ch Mụ t túm tt: Tờn use case:oỏn Ch Mc ớch:oỏn ch mi lt chi 10 Hỡnh 12:Biu trỡnh t ca s dng tr li III Biu Class T biu trỡnh t nh trờn chỳng ta cú th xõy dng biu class dng c bn nh sau : 18 D Thit k chi tit v gii phỏp k thut I Gúi DB Gúi ny dựng kt ni vi c s d liu Gúi DB gm lp l :DBconnect,TopicDB,QuestionDB Lp Dbconnect qun lý quỏ trỡnh úng,m kt ni n c s d liu Lp TopicDB truy xut n bng tbltopic c s d liu II Lp QuestionDB truy xut n bng tblquestion c s d kiu Gúi GameEngine 19 Lp GamePanel Lp ny k tha lp Jpanel a Thuc tớnh: Private: Thread animator :dựng to lung x lý thi gian thc cho game Boolean running,gameOver,isPaused:cho bit trng thỏi ca game v iu khin lung animator.Khi game ang chy thỡ running mang giỏ tr l true,khi kt thỳc game thỡ gameOver 20 mang giỏ tr l true,cũn game tm dng thỡ c running v isPaused u mang giỏ tr l true Int period =10(ms) khong thi gian gia ln game thc hin cỏc thao tỏc ca mỡnh Graphics2D dbg2D v Image dbImage dựng a d kiu lờn mn hỡnh,ỏp dng k thut anti-conflict bng cỏch dựng b m cho mn hỡnh GameManger gamemanager :dựng qun lý cỏc trng thỏi ca game :khi to cỏc trng thỏi,cp nht trng thỏi hin ti,chuyn trng thỏi mi,thoỏt game Public: Int PWIDTH,PHEIGHT:kớch thc ca panel b Phng thc gameUpdate():cp nht cỏc trng thỏi game v x lý cỏc i tng game gameRender():vex cỏc i tng game ó c cp nht b m paintScreen():dựng a b m mn hỡnh startGame():khi to v chy lung aminator c lý cỏc hot ng game getWidth(),getHeight():tr v kớch thc ca panel c th GamePanel():hm to constructor addNotify():m rng phng thc addNotify() gc v thờm vo thao tỏc startGame() chay i tng GamePanel stopGame():dng game v thoỏt pauseGame() :tm thi dng game run() : l phng thc ghi ố, dựng t vũng lp chớnh ca i tng GamePanel, v cng chớnh l cỏc thao tỏc m lung animator thc hin Lp GameState õy l mt lp tru tng, dựng di din cho cỏc trng thỏi ca game, cha mt s d liu thit yu v thao tỏc c bn a Thuc tớnh: Protected: StateName stateName: l tờn ca trng thỏi game i kốm l thao tỏc getName() StatusValue Status: ch hin thi ca trng thỏi game i kốm l thao tỏc getStatus() 21 StateName NextGame : l tờn ca trng thỏi game k tip i kốm l thao tỏc getNextState() GamePanel gamePanel: õy l thuc tớnh s dng thờm, xúa cỏc i tng trng thỏi game hin thi, nh ú cú th nghe v phn ng c vi cỏc s kin b Phng thc initComponents(): Khi to cỏc thnh phn ca trng thỏi game addComponents(): Thờm cỏc thnh phn cn thit vo i tng gamePanel Update(): cp nht v x lý hot ng game Render(): v cỏc i tng b m Clear(): xúa b cỏc i tng ó thờm thao tỏc addComponents() v ci t li cỏc thụng s nu cn thit Lp GameManager a Thuc tớnh Private: StartMenuState StartMenu: trng thỏi menu chớnh ca game CreatGameState CreateGame: trng thỏi to game mi TopicManageState TopicManage: trng thỏi qun lý d liu PlayingState Playing: trng thỏi chi game FinishState FinishGame: trng thỏi kt thỳc chng trỡnh Player players[]: mng cỏc i tng ngi chi game Question questions[]: mng cỏc cõu hi cho cỏc vũng chi GameState CurrentState: l mt tham chiu ti trng thỏi game hin ti boolean exitGame: cho bit game ó kt thỳc hay cha b Phng thc GameManager() constructor: Khi to cỏc thuc tớnh (players, questions) v cỏc trng thỏi game Sau ú t CurrentState tham chiu ti StartMenu updateCurrentState(): kim tra v cp nht trng thỏi mi cho game Nu cn thỡ s chuyn sang trng thỏi game mi, hoc thoỏt game nu CurrentState l rng III Gúi GameData 22 Lp CreatGameState K tha t lp GameState To ca s mi ly d liu v to mi mt game Kt ni vi c s d liu ly cỏc cõu hi cho cỏc vũng chi Lp TopicManagerState 23 L trng thỏi game qun lý d liu v cỏc ch v cõu hi.Kt ni vi c s d liu v cho phộp ngi dựng thờm, sa, xúa cõu hi cng nh cỏc ch IV Gúi GameFinish Lp FinishState K tha t lp GameState Trng thỏi game kt thỳc: a bng tng kt im v ch khong thi gian trc thoỏt chng trỡnh V Gúi GameStart 24 VI K tha t lp GameState Cha d liu v thao tỏc cho phn menu chớnh Gn nh khụng cú thờm thuc tớnh v phng thc so vi lp cha Cỏc phng thc abstract c ghi ố phự hp cho trng thỏi StartMenu Gúi GameObject 25 Lp Topic nh x trc tip vi c s d liu gm thuc tớnh l trng bng tbltopic co s d liu vi cỏc phng thc get,set Lp Question a Thuc tớnh Private : noChar: õy l thuc tớnh tnh, l s kớ t bng ch cỏi questionID: ID ca cõu hi, dựng thao tỏc vi CSDL hint: gi ý answer: cõu tr li (ting Vit, cú du) phrase: cm t phõn tớch t answer, b i cỏc du v khong trng countChar: õy l mng kiu int dựng lu tr s ln xut hin ca mi kớ t phrase Truy cp thụng qua ch s t n 26, tng ng vi 26 ch cỏi b.Phng thc public: 26 Question() - constructor: to i tng mi, to mng countChar Question(String ans, String hint): to i tng mi v gỏn cho thuc tớnh answer, hint int[] getCount(int index): tớnh toỏn v tr v mng s nguyờn, vi s u tiờn l n - s ln xut hin ca kớ t c i din bi ch s index, n s sau l v trớ xõu phrase Cỏc hm ly d liu: getHint(), getQuestionID(), getAnswer(), getPhrase() Cỏc hm t d liu: setHint(), setQuestionID(), setAnswer(), setPhrase() Lp Player a Thuc tớnh: remainTurn: s lt oỏn sai liờn tip cú th trc b loi, Mc nh l 3, tc l ngi chi ch c oỏn sai ti a lt liờn tip, nu khụng s b loi Name: tờn ngi chi roundScore: im ca ngi chi riờng ti vũng thi hin ti Score: Tng im ca ngi chi tớnh ti vũng thi hin ti Enable: cho bit liu ngi chi cú tip tc c chi na khụng hay ó b loi b Phng thc: Player(Player p) Constructor: nhn u vo l i tng Player, to i tng Player mi cú d liu c chộp t p Disable(): t thuc tớnh enable v false, v remainTurn l VII Gúi GamePlay 27 gúi ny gm cỏc lp: -ButtonPanel -CharPanel-Hat -PhrasePanel -PlayingState -TextPanel -answerForm 28 Hat a Thuc tớnh: Private: ImageManager imgManager: b qun lý hỡnh nh v cỏc hiu ng cho i tng nún BufferedImage imgHat, imgCursor: nh chic nún v tr ca nún Dimension Size: Kớch thc ca nún int R = 150, D = 300: bỏn kớch v ng kớnh ca nún Point Position: v trớ ca nún khụng gian ta ca mt i tng Graphics2D c th, s dng v nún Point vctCursor: õy l vector cú gc l tõm nún, ngn l im click chut ca ngi dựng trờn nún double radian: mc nh l Biu din gúc m nún ó quay c so vi v trớ mc nh ban u double omega: biu din tc gúc ca nún vo thi im ngi chi nh chut hoc kộo chut ngoi phm vi nún double gama: biu din gia tc ca nún, c iu chnh luụn ngc du vi omega Mc nh l -0.05 double ratio = 5: õy l t l dựng tớnh toỏn omega long startRotateTime: thi im nún bt u quay t double timeRotate: Khong thi gian quay t ca nún boolean stopRotate: mc nh l false, cho bit nún ó dng trng thỏi quay t hay cha boolean active: Mc nh l true Cho bit ngi dựng cú th iu khin nún c hay khụng Khi nún quay t thỡ active l false, ngi chi khụng th iu khin nún na bolean pressed: Cho bit ngi chi ó click chut vo nún trng thỏi active hay cha Nu pressed = true thỡ cho nún quay da theo chuyn ng ca chut Point cursor: Cho bit v trớ tr v nún double rotated: cho bit nún ó quay c mt gúc l bao nhiờu k t nún bt u quay t (tớnh theo rad) double er: õy l gúc nh ca mi mt ụ im trờn nún int noElement: S ụ im c chia trờn nún private double maxOmega: Mc nh l 2, õy l tr tuyt i ca tc gúc ln nht nún quay t m ngi chi cú th t c double minOmega: Mc nh l 0.2, l tr tuyt i ca tc gúc ban u nh nht 29 MouseAdapter mouseMotion, mouseOp: õy l i tng dựng thờm v b b x lý s kin cho nún Phng thc: Private: startRotate(): thit lp cỏc thụng s cho nún bt u quỏ trỡnh quay t do, bao gm c kt qu quay v thi gian quay t checkMouse(MouseEvent e): kim tra v trớ ca chut cú nún hay khụng processMousePressed(MouseEvent e): x lý v cp nht thụng s chut c nhn processMouseDragged(MouseEvent e): x lý v cp nht thụng s ca chut nún c kộo bng chut getValueAt(double r): tr v ch s ca ụ im tng ng r l vi gúc m nún ó quay c b Public: Hat(): to v ci t cỏc thụng s cho nún resetStatus(): ci t li trng thỏi tr v mc nh cho nún Enable() v Disable(): thờm v b cỏc b x lý s kin ca nún setImageSource(String src): chn th mc cha cỏc nh cn thit v nún setSize(Dimenion d): ci t cỏc kớch thc ca nún, bao gm c R v D setPivotLocation(Point p): t v trớ ca nún da theo v trớ trc quay Show(Graphics2D g): v nún i tng g Rotate(): Quay nún da theo tc gúc ban u, gia tc, v thi gian k t thi im startRotateTime ó c cp nht hm startRotate() isRotateMode(): cho bit nún cú ang trng thỏi quay t khụng getResult(): tr v mt s nguyờn l ch s ca ụ im kt qu sau nún dng quay t setNoElement(int num): ci t s ụ im trờn nún l num setGama(double d): ci t tc gúc setRatio(double d): ci t t l ratio getForce(): tr li lc quay nún, da theo tc gúc ban u omega 30 E I getForcePercent(): tr li t l % ca lc quay da theo lc cao nht v yu nht cú th Stopped(): tr v kiu boolean, cho bit nún ó dng li sau quay t hay cha setMaxOmega(double d) v setMinOmega(double d): dựng t li giỏ tr tc gúc ln nht v nh nht cú th ca nún Kt lun v ỏnh giỏ Kt qu t c a K nng lm vic nhúm v lp k hoc mc tiờu c phỏt trin K nng, k thut lp trỡnh c tng cng, c bit l trờn ngụn ng Java c Kin thc v t lp trỡnh hng i tng c hon thin hn d Kin thc v k nng lm vic vi c s d liu c trau di e Ngoi ra, chỳng em cng bit thờm nhng kin thc v lp trỡnh game, 2D trờn Java Hn ch a Tuy ó rt c gng nhng chỳng em khụng thi gian to vũng chi, thiu i phn chi cui cựng cho ngi chin thng vũng u c Cha th a õm vo game sinh ng hn d cũn s si, cha chuyờn nghip e Kho cõu hi cũn ớt, cha phong phỳ Phõn chia cụng vic b II III IV Lờ c Thnh (35%) Nguyn Lng Hin (25%) Nguyn Vn H (25%) Mai Minh Long (15%) Ngụn ng Java Biu lp C s d liu Biu Use Case Biu trỡnh t Lp Question Lp trỡnh game framework Lp bỏo cỏo Lp trỡnh CSDL Thu thp nh, d liu cõu hi Phõn tớch v thit k giao din Lm slide v in bỏo cỏo K hoch v lch hp nhúm Tun Ngyhp nhúm Mc tiờu cn t 31 22/09 29/09 05/10 12/10 19/10 10 26/10 Hon thnh cng Hon tt bỏo cỏo phn v Hon tt vic thit k v cỏc gii phỏp k thut Lp trỡnh chi tit v hon tt kim th Ti u húa, nõng cp v hon thin húa cỏc tớnh nng In bỏo cỏo, np bỏo cỏo Ti liu tham kho [1] Slide bi ging mụn lp trỡnh hng i tng TS.Cao Tun DngVin Cụng Ngh Thụng Tin V Truyn Thụng-h Bỏch Khoa H Ni [2] Java How to program 9th edition, Paul Deitel & Harvey Deitel [3] Killer Game Programming In Java, Andrew Davison [4] Thinking In Java 4th edition, Bruce Eckel [5] Ngun ti liu t internet 32 [...]... cho đối tượng nón • BufferedImage imgHat, imgCursor: ảnh chiếc nón và con trỏ của nón • Dimension Size: Kích thước của nón • int R = 150, D = 300: bán kích và đường kính của nón • Point Position: vị trí của nón trong không gian tọa độ của một đối tượng Graphics2D cụ thể, sử dụng để vẽ nón • Point vctCursor: đây là vector có gốc là tâm nón, ngọn là điểm click chuột của người dùng trên nón • double radian:... dụng sửa câu hỏi Hình 8:Biểu đồ trình tự ca sử dụng nhập tên 15 Hình 9:Biểu đồ trình tự ca sử dụng chọn chủ đề 16 Hình 10:Biểu đồ trình tự ca sử dụng quay nón Hình 11:Biểu đồ trình tự ca sử dụng đoán ô chữ 17 Hình 12:Biểu đồ trình tự ca sử dụng trả lời III Biểu đồ Class Từ biểu đồ trình tự như trên chúng ta có thể xây dựng biểu đồ class ở dạng cơ bản như sau : 18 D Thiết kế chi tiết và giải pháp kỹ thuật... Case Biểu đồ trình tự Lớp Question Lập trình game framework Lập báo cáo Lập trình CSDL Thu thập ảnh, dữ liệu câu hỏi Phân tích và thiết kế giao diện Làm slide và in báo cáo Kế hoạch và lịch họp nhóm Tuần Ngàyhọp nhóm Mục tiêu cần đạt 31 5 6 7 22/09 29/09 05/10 8 12/10 9 19/10 10 26/10 Hoàn thành đề cương Hoàn tất báo cáo phần 1 và 2 Hoàn tất việc thiết kế và các giải pháp kĩ thuật Lập trình chi tiết... và vòng chơi đó kết thúc,nếu đoán sai vòng chơi đó tiếp tục và người chơi bị loại Các biểu đồ trình tự • II 11 Hình 2:Biểu đồ trình tự của ca sử dụng thêm chủ đề Hình 3:Biểu đồ trình tự của ca sử dụng xóa chủ đề 12 Hình 4:biểu đồ trình tự cho ca sử dụng sửa chủ đề Hình 5:Biểu đồ trình tự của ca sử dụng thêm câu hỏi 13 Hình 6:Biểu đồ trình tự của ca sử dụng xóa câu hỏi 14 Bảng 7:Biểu đồ trình tự ca sử... cho nón Phương thức: Private: • startRotate(): thiết lập các thông số cho nón để bắt đầu quá trình quay tự do, bao gồm cả kết quả quay và thời gian quay tự do • checkMouse(MouseEvent e): kiểm tra vị trí của chuột có ở trong nón hay không • processMousePressed(MouseEvent e): xử lý và cập nhật thông số khi chuột được nhấn • processMouseDragged(MouseEvent e): xử lý và cập nhật thông số của chuột khi nón. .. tương ứng r là với góc mà nón đã quay được • b Public: • • • • • • • • • • • • • • Hat(): khởi tạo và cài đặt các thông số cho nón resetStatus(): cài đặt lại trạng thái trở về mặc định cho nón Enable() và Disable(): thêm và bỏ các bộ xử lý sự kiện của nón setImageSource(String src): chọn thư mục chứa các ảnh cần thiết để vẽ nón setSize(Dimenion d): cài đặt các kích thước của nón, bao gồm cả R và D setPivotLocation(Point... nhất có thể của nón Kết luận và đánh giá Kết quả đạt được a Kỹ năng làm việc nhóm và lập kế hoặc mục tiêu được phát triển Kỹ năng, kỹ thuật lập trình được tăng cường, đặc biệt là trên ngôn ngữ Java c Kiến thức và tư duy lập trình hướng đối tượng được hoàn thiện hơn d Kiến thức và kỹ năng làm việc với cơ sở dữ liệu được trau dồi e Ngoài ra, chúng em cũng biết thêm những kiến thức về lập trình game, đồ... do của nón • boolean stopRotate: mặc định là false, cho biết nón đã dừng trạng thái quay tự do hay chưa • boolean active: Mặc định là true Cho biết người dùng có thể điều khiển nón được hay không Khi nón quay tự do thì active là false, người chơi không thể điều khiển nón nữa • bolean pressed: Cho biết người chơi đã click chuột vào nón trong trạng thái active hay chưa Nếu pressed = true thì cho nón quay... Point cursor: Cho biết vị trí con trỏ khi vẽ nón • double rotated: cho biết nón đã quay được một góc là bao nhiêu kể từ khi nón bắt đầu quay tự do (tính theo rad) • double er: đây là góc ở đỉnh của mỗi một ô điểm trên nón • int noElement: Số ô điểm được chia ra trên nón • private double maxOmega: Mặc định là 2, đây là trị tuyệt đối của tốc độ góc lớn nhất khi nón quay tự do mà người chơi có thể đạt được... setPivotLocation(Point p): đặt vị trí của nón dựa theo vị trí trục quay Show(Graphics2D g): vẽ nón ra đối tượng g Rotate(): Quay nón dựa theo tốc độ góc ban đầu, gia tốc, và thời gian kể từ thời điểm startRotateTime đã được cập nhật trong hàm startRotate() isRotateMode(): cho biết nón có đang ở trạng thái quay tự do không getResult(): trả về một số nguyên là chỉ số của ô điểm kết quả sau khi nón dừng quay tự do setNoElement(int

Ngày đăng: 30/12/2015, 20:27

Mục lục

  • Mục Lục Các Biểu Đồ

  • II. Lập trình đồ họa 2D trong java

    • 1. Nạp một đối tượng ảnh từ file

    • 2. Các hiệu ứng đồ họa bới ảnh

    • C. Phân tích thiết kế mức kiến trúc.

      • I. Các biểu đồ use case và đặc tả

      • II. Các biểu đồ trình tự

      • IV. Kế hoạch và lịch họp nhóm

      • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan