




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、重慶科創(chuàng)職業(yè)學(xué)院Java高級(jí)應(yīng)用開發(fā)課程作業(yè)(二)課題名稱:Applet 舞動(dòng)的小球設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)應(yīng)用技術(shù)計(jì)算機(jī)應(yīng)MZK09O1完成時(shí)間:二OO 年十一月 二十五 日、課題設(shè)計(jì)目的1、進(jìn)一步掌握Applet的生命周期及各種方法的應(yīng)用;2、利用Graphics類完成簡單的多媒體設(shè)計(jì);3、掌握線程的生命周期及其相關(guān)的方法;4、掌握線程應(yīng)用的兩種方法及線程調(diào)度;5、通過本次課題設(shè)計(jì),進(jìn)一步理解Applet小應(yīng)用程序的基本結(jié)構(gòu)和線程的基本原理。二、課題的描述和要求本次課題要求運(yùn)用JAVA語言完成一個(gè)基于Applet的舞動(dòng)小球,并可將這個(gè)小程序 進(jìn)行修改拓展完成一個(gè)簡單的游戲設(shè)計(jì)。三、課題設(shè)計(jì)的步驟3
2、.1完成小球的繪制任務(wù)一:創(chuàng)建一個(gè)Java項(xiàng)目DancingBallAppiet ,然后再創(chuàng)建一個(gè)主類 DancingBall來完成設(shè)計(jì);任務(wù)二:步驟1:在DancingBall主類中完成小球的繪制。定義小球坐標(biāo)位置和小球的大小。int x,y;final int SIZE=50步驟2:重寫小應(yīng)用程序的initO方法完成對小球坐標(biāo)x,y的初始public void in it()x=0;y=0;步驟3:重寫小應(yīng)用程序的paint(Graphics g)方法完成小球的繪制p ublic void pain t(Gra phics g)g.fillOval(x,y,SIZE,SIZE);3.2將小
3、球舞動(dòng)起來定義一個(gè)線程Ball,完成對小球坐標(biāo)的修改 修改paint方法中繪制小球的方法在DancingBall中聲明一個(gè)線程Ball的對象,并在init()方法中創(chuàng)建。重寫start()方法,在其中運(yùn)行線程對象要使小球運(yùn)動(dòng)起來,即是需要不停地改變小球的坐標(biāo)??梢酝ㄟ^線程不停地改變坐 標(biāo)值,然后調(diào)用repaint()的方法重新繪制小球。任務(wù)一任務(wù)二任務(wù)三任務(wù)四impo rt java.a ppi et.A ppi et; import java.awt.*;p ublic class Dancin gBall exte nds App let final int SIZE=50;Ball ba
4、ll;class Ball exte nds Threadint x=0,y=0,m=2,n=2;/x、y為小球出現(xiàn)的坐標(biāo), m、n為每次改變的數(shù)值p ublic void run()while(true)x=x+m;y=y+n;if(y+SIZE=getHeight()if(x+SIZE=getWidth()rep ai nt();/首先調(diào)用up date清除界面,然后再調(diào)用pai nt方法重繪p ublic void pain t(Gra phics g)g.fillOval(ball.x,ball.y,SIZE,SIZE);思考:如何讓小球出現(xiàn)的初始位置每次都不一樣?解決方案:要使小球的
5、初始位置不一樣,即每次啟動(dòng)線程時(shí)都需要給X、y賦不同的數(shù)值,因此我們可以通過隨機(jī)函數(shù)來實(shí)現(xiàn)。步驟1 :為線程類Ball增加構(gòu)造方法,通過構(gòu)造方法為x,y賦值;Ball(i nt x,i nt y)this.x=x;this.y=y;步驟2:創(chuàng)建Ball類對象時(shí),給構(gòu)造方法傳入隨機(jī)數(shù)。ball=new Ball(i nt)(Math.ra ndom()*400), (in t)(Math.ra ndom()*400);思考:如果要求每次小球都從頂端開始出現(xiàn),又該如何創(chuàng)建呢?3.3接球擋板的設(shè)計(jì) 任務(wù)一:步驟1:int x1,y1;步驟2:完成擋板的繪制 聲明擋板的坐標(biāo)完成g.fillRect(x
6、1,y1,SIZE,10)|;任務(wù)二:完成擋板隨著鼠標(biāo)移動(dòng)步驟 1:主類 DancingBall引用 MouseMotionListener 接口步驟2:在init()方法中為小應(yīng)用程序加載 MouseMontionListener監(jiān)視器 步驟3:重寫MouseMontionListener的抽象方法public void mouseDragged(MouseEve nt arg0) public void mouseMoved(MouseEve nt arg0) x1=arg0.getX();y1=arg0.getY();rep ai nt();任務(wù)三:完成游戲計(jì)分步驟1:完成計(jì)分規(guī)則制定,
7、接住一次加10分,小球掉下一次減20分 步驟2:完成游戲計(jì)分并顯示關(guān)鍵問題:在于如何判斷接住了小球?if(n0& y1-y=SIZE&( Math.abs(x-x1)=0)score=score+10;n=(-1)* n;if(y+SIZE=this.getHeight()score=score-10; n=(-1)* n;else if(y=this.getWidth()m=(-1)*m;else if(x=getHeight()aa=(i nt)(Math.ra ndom()*25);y=0;score=score-10;if(x=getWidth()x=0;try slee p( 80)
8、; catch (Interrup tedExce pti on e) / TODO自動(dòng)生成 catch塊e.prin tStackTrace();repain t();p ublic void in it()for(i nt i=0;iNUM;i+)keyi=newKeys(i nt)(Math.ra ndom()*getWidth(),0,(i nt)(Math.ra ndom()*(5)+1),(i nt)(Math.ra ndom()* (5)+1); keyi.aa=(i nt)(Math.ra ndom()*25);Ilthis.setBackgro un d(Color.blac
9、k);p ublic void start()this.addKeyListe ner(this);for(i nt i=0;ike y.len gth;i+)keyi.start();p ublic void pain t(Gra phics g)g.setColor(Color.black);g.setFont(new Font(” 黑體,Font.BOLD,16); for(i nt i=0;ike y.len gth;i+)g.drawChars(c, keyi.aa, 1,keyi.x,keyi.y);this.showStatus(” 你當(dāng)前的成績?yōu)椋?score);p ublic
10、 void keyT yp ed(KeyEve nt argO) II TODO自動(dòng)生成方法存根p ublic void keyP ressed(KeyEve nt argO) for(i nt i=0;i=getHeight() y=0;if(x=getWidth() x=0;try slee p(10); catch (Interrup tedExce pti on e) II TODO自動(dòng)生成 catch塊e.prin tStackTrace();rep ai nt();p ublic void ini t()for(i nt i=0;is now.len gth;i+)sno wi=n
11、ewSno w(i nt)(Math.ra ndom()*(getWidth(),(i nt)(Math.ra ndom()*(getHeight(),(i nt)(Math.ra ndom()* (5)+1),(int)(Math.ra ndom()* (5)+1);this.setBackgro un d(Color.black);p ublic void start()for(i nt i=0;is now.len gth;i+) sno wi.start();p ublic void pain t(Gra phics g)g.setColor(Color.white);for(i nt
12、 i=0;i=getHeight()aa=(i nt)(Math.ra ndom()*25);y=0;score=score-10;if(x=getWidth()x=0;try slee p( 80); catch (Interrup tedExce pti on e) II TODO自動(dòng)生成 catch塊 e.prin tStackTrace(); repain t();p ublic void in it()for(i nt i=0;iNUM;i+)keyi=newKeys(i nt)(Math.ra ndom()*getWidth(),0,(i nt)(Math.ra ndom()*(5
13、)+1),(i nt)(Math.ra ndom()* (5)+1); keyi.aa=(i nt)(Math.ra ndom()*25);Ilthis.setBackgro un d(Color.black);p ublic void start()this.addKeyListe ner(this);for(i nt i=0;ike y.len gth;i+)keyi.start();p ublic void pain t(Gra phics g)g.setColor(Color.black);g.setFont(new Font(” 黑體,Font.BOLD,16); for(i nt i=0;ike y.len gth;i+)g.drawChars(c, keyi.aa, 1,keyi.x,keyi.y);this.showStatus(” 你當(dāng)前的成績?yōu)椋?score);p ublic void keyT yp ed(KeyEve nt argO) II TODO自動(dòng)生成方法存根P ublic void keyP ressed(KeyEve nt argO) for(i nt i=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育技術(shù)的創(chuàng)新發(fā)展與個(gè)性化設(shè)計(jì)的思維實(shí)踐
- 教育大數(shù)據(jù)洞察市場精準(zhǔn)營銷
- 以教學(xué)為目的的數(shù)字技術(shù)與創(chuàng)意應(yīng)用結(jié)合的實(shí)踐研究
- 以實(shí)踐為導(dǎo)向的終身學(xué)習(xí)體系設(shè)計(jì)策略
- 重復(fù)專利侵權(quán)培訓(xùn)課件
- 抖音商戶運(yùn)營經(jīng)理直播庫存同步制度
- 抖音商戶短視頻轉(zhuǎn)化效果分析反饋制度
- 培訓(xùn)課件的布局要求
- 全球鈾礦資源分布特點(diǎn)及2025年核能產(chǎn)業(yè)產(chǎn)業(yè)鏈分析報(bào)告
- 公交優(yōu)先戰(zhàn)略下2025年城市交通擁堵治理的公共交通運(yùn)營效率研究
- 2025年中國電信云網(wǎng)資源管理技能認(rèn)證考試題及答案
- 高中數(shù)學(xué)集合練習(xí)題160題-包含所有題型-附答案
- 四年級(jí)上冊全部古詩
- 人教部編版七年級(jí)語文上冊《秋天的懷念》示范課教學(xué)課件
- 能源行業(yè)能源管理體系建設(shè)方案
- 中考英語高頻詞匯大綱表(人教版)
- SMP-04-013-00 藥品受托企業(yè)審計(jì)評(píng)估管理規(guī)程
- 店鋪代運(yùn)營合同范本
- 基本流行病統(tǒng)計(jì)分析方法及統(tǒng)計(jì)分析軟件的應(yīng)用(與“檢驗(yàn)”有關(guān)的文檔共102張)
- HYT 057-2011 海洋管理機(jī)關(guān)檔案業(yè)務(wù)規(guī)范(正式版)
- 2024屆安徽省合肥市一六八中學(xué)高一數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含解析
評(píng)論
0/150
提交評(píng)論