




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、山西財經大學JAVA實用教程實驗報告年 月 日實驗題目捕魚達人選課課號學院班級姓名學號理論課教師上機指導教師實驗目的及要求:捕魚達人游戲的要求:1.在魚池有很多魚且魚各自游動2.有一張漁網,隨鼠標移動點擊鼠標即可抓住漁網中的與3.抓到魚進行積分實驗原理、詳細操作步驟及程序代碼:1.理清對象之間的數據關系。對象:窗口魚池,多條魚,漁網;2.數據模型:魚和漁網的width,height,x,y;3.類的設計import java.awt.*;import java.awt.event.*;import java.awt.image.Bufferedlmage;import java.io.File
2、;import javax.imagei om agelO;import javax.swing.*;import java.util.Random;public class FishDemo extends Threadpublic static void main(String args) throws ExceptionFishDemo fish=new FishDemo();fish.start();public void run() JFrame frame=new JFrame(”捕魚達人”);Pool pool;try pool = new Pool();frame.add(po
3、ol);frame.setSize(800,510);frame.setResizable(false);frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE );frame.setVisible(true);pool.action(); catch (Exception e) e.printStackTrace();class Pool extends JPanel Bufferedlmage bg;Fish allfish;Net net;int score;public Pool() throws Exception bg = lmage
4、lO.read(new File(bg.jpg);allfish = new Fish9 + 2 + 9;for (int i = 0; i 9; i+) allfishi = new Fish(fish0 + (i + 1); allfishi + 9 = newFish(fish0 + (i + 1);allfishallfish.length-2 = new Fish(fish13);allfishallfish.length-1 = new Fish(fish14); net=new Net();score=0;public void action() throws Interrupt
5、edException for (int i = 0; i allfishength; i+) allfishi.start();MouseAdapter l=new MouseAdapter() public void mouseEntered(MouseEvent e) net.show=true;public void mousePressed(MouseEvent e) for (int i = 0; i allfishength; i+) Fish fish=allfishi;if(fish.catain(net.x,net.y) fish.catchFish();score+=fi
6、sh.width/10; public void mouseMoved(MouseEvent e) int x=e.getX();int y=e.getY();net.x=x;net.y=y;public void mouseExited(MouseEvent e) net.show=false;this.addMouseListener(l); this.addMouseMotionListener(l);while (true) repaint();Thread.sleep(1000 /24);public void paint(Graphics g) g.drawlmage(bg, 0,
7、 0, null);for (int i = 0; i allfishength; i+) Fish fish = allfishi;g.drawlmage(fish.image, fish.x, fish.y, null);if(net.show)g.drawlmage(net.image,net.x-net.width/2,net.y-net.height/2, null);g.setColor(Color.white);g.setFont(new Font(”黑體, Font.BOLD, 15);g.drawString(”得分:+score, 10, 20);class Net int
8、 x;int y;int width;int height;boolean show;BufferedImage image;public Net() throws Exception image = lmagelO.read(new File(net09.png);width=image.getWidth();height=image.getHeight();x=0;y=0;show=false;class Fish extends Thread int x;int y;int height;int width;BufferedImage image;Bufferedlmage images
9、;int index;int step;public Fish(String pre) throws Exception images = new Bufferedlmage10;for (int i = 0; i 9; i+) String filename = pre + _0 + (i + 1) + .png; imagesi =lmagelO.read(new File(filename);System.out.println(filename);images9 = ImageIO.read(new File(pre + _10.png); image =images0;width = image.getWidth();height = image.getHeight();Random random = new Random。;x = random.nextlnt(800 - width);y = random.nextlnt(480 - height);ste
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍛煉身體提高免疫力
- 預防傳染病手抄報設計
- 針灸治療原則與治療作用
- 院前急救呼叫流程
- 防艾知識競答
- 企業股份制改革實施方案
- 四年級數學(簡便運算)計算題專項練習與答案
- 浙江省嘉興市2024-2025學年八年級下學期3月素養調研測試數學試題(原卷版+解析版)
- 供應鏈協同效率提升規范
- 醫藥行業智能藥品配送解決方案
- Polarion-ALM支持機載軟件研發生命周期管理和合規性認證最佳實踐
- 中央2024年農業農村部機關服務局招聘事業編制工作人員筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 博物館疫情防控方案與參觀人數控制
- 2024年通訊機房、設備安全操作規程(2篇)
- 四川開放大學2024年秋《土木工程CAD》形考作業1-2終考答案
- 形勢與政策總體國家安全觀
- 智能運維知識庫建設方案設計與實施規劃
- 《即時檢驗(POCT)室內質量控制指南》
- 互聯網+大學創新創業大賽金獎計劃書(完整詳細版)
- 中國高血壓防治指南(2024年修訂版)要點解讀
- 室外消防管道保溫施工方案
評論
0/150
提交評論