




已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java課程設(shè)計(jì)拼圖游戲 班級(jí):信101學(xué)號(hào):2010414126 姓名:孫 杰 指導(dǎo)老師:李紅強(qiáng)基于Java的拼圖游戲設(shè)計(jì)游戲?qū)崿F(xiàn)功能解析及界面游戲規(guī)則介紹1)本游戲是一個(gè)Java語(yǔ)言的拼圖游戲,有一個(gè)格子是空的,其他格子內(nèi)隨機(jī)放置由要拿來(lái)拼圖的圖片切割成的若干個(gè)小圖片,圖片的切割按照一定的公式計(jì)算,因?yàn)?,該通過(guò)單擊任意一個(gè)與空格子相鄰的方塊可以把該方游戲中設(shè)有拼圖游戲的等級(jí),根據(jù)不同的等級(jí),按照公式會(huì)切割成不同的小圖片塊數(shù)。2)在開始游戲之前,可以選擇游戲等級(jí)后再點(diǎn)擊“開始”菜單里的“新游戲”,進(jìn)行拼圖游戲,通過(guò)將空格旁邊的小圖片移入空格子內(nèi)(不斷的移動(dòng)方塊),來(lái)實(shí)現(xiàn)拼圖,直到方塊一行一行的按圖片的原始樣子拼好即可完成該游戲。3)游戲拼完后,會(huì)彈出一個(gè)“信息”框,顯示你玩游戲所用的步數(shù)與時(shí)間,點(diǎn)擊“確定”后,會(huì)彈出一個(gè)“輸入”框,可以在里面輸入游戲者的姓名,單擊“確定”后會(huì)彈出游戲的記錄框。4)游戲的簡(jiǎn)單規(guī)則在游戲界面的“關(guān)于”菜單內(nèi)的“幫助”信息框內(nèi)已經(jīng)簡(jiǎn)單介紹了。游戲前可以先預(yù)覽看看。游戲?qū)崿F(xiàn)功能主窗口界面 1) 游戲初始狀態(tài) 當(dāng)游戲剛運(yùn)行時(shí),會(huì)出現(xiàn)如下界面,本游戲中已經(jīng)存在了三張圖片,如過(guò)游戲者想拼自己感興趣的圖片的話,可以將自己的圖片放入到“background”(背景圖片)文件夾中,再進(jìn)行“選擇”-“背景圖片”中選擇你自己的圖片,然后選擇“等級(jí)”-“困難”或“普通”或“簡(jiǎn)單”,進(jìn)行等級(jí)選擇,最后選擇“開始”-“新游戲”就可以拼自己想拼的圖了。初始窗口如圖1所示:圖1 游戲初始窗口2)游戲進(jìn)行狀態(tài) 當(dāng)游戲者選擇好圖片與等級(jí)后,就可以進(jìn)行拼圖游戲了及進(jìn)入游戲的進(jìn)行狀態(tài)。3)游戲暫停狀態(tài) 當(dāng)游戲者,在游戲過(guò)程中半途暫停游戲的話,將出現(xiàn)如圖3所示的游戲暫停狀態(tài)的界面。當(dāng)游戲者又想繼續(xù)游戲時(shí),直接單擊界面上的“繼續(xù)”字樣,就可以繼續(xù)游戲了。 圖2 游戲暫停狀態(tài)主窗口菜單在游戲的主窗口菜單中包括如下幾個(gè)菜單:(1)“開始”菜單。包括了,“新游戲” 、“成績(jī)記錄” 、“圖片預(yù)覽” 、“退出游戲” 。如圖4所示。 “新游戲” :?jiǎn)螕艨梢蚤_始游戲,如圖2所示游戲進(jìn)行狀態(tài)。 “成績(jī)記錄” :?jiǎn)螕艨梢圆榭从螒蛘叩挠螒虺煽?jī)記錄。如圖5所示。初始的成績(jī)記錄。 “圖片預(yù)覽” :在游戲過(guò)程中可以單擊預(yù)覽圖片,對(duì)照著拼,如圖6所示。 “退出游戲” :游戲者要結(jié)束游戲可直接單擊退出游戲。 (2)“選擇”菜單。包括了,“等級(jí)”、“背景圖片”。如圖7所示。當(dāng)運(yùn)行游戲時(shí),如果沒(méi)有把“background”這個(gè)文件夾放入主程序的目錄下,在運(yùn)行游戲選擇背景圖片時(shí),將沒(méi)有圖片可選,這是可以按照“初始狀態(tài)”界面上的提示進(jìn)行操作。若正常的有“background”在主程序路徑下的話,運(yùn)行游戲選擇背景圖片的話,就可以選擇圖片了,界面如圖3所示。 “等級(jí)” :在游戲者開始游戲之前,要進(jìn)行游戲等級(jí)選擇,共有困難、普通、簡(jiǎn)單三種選擇。其圖片的切割塊數(shù),會(huì)根據(jù)選擇的等級(jí)不同,而有所不同。 “背景圖片” :這里保存了所要拼的所有圖片。在游戲前要進(jìn)行選擇。 圖3 (3)“關(guān)于”菜單。包括了“幫助”、“關(guān)于”兩個(gè)下拉菜單。“幫助”:在游戲時(shí),可以單擊查看游戲的簡(jiǎn)單規(guī)則。“關(guān)于”:可查看該游戲的版本、作者、與作者的Email的相關(guān)信息游戲過(guò)程中的出現(xiàn)的相關(guān)窗體 (1)提示信息窗口 當(dāng)游戲者運(yùn)行游戲時(shí),如果沒(méi)有把“background”這個(gè)文件夾放入主程序的目錄下,在運(yùn)行游戲選擇背景圖片時(shí),將沒(méi)有圖片可選,若此時(shí)直接“開始”-“新游戲”,將會(huì)彈出如下提示信息框。界面如圖4所示。圖4 提示信息框 (2) 拼圖成功界面 若選擇abc.jpg圖片拼圖時(shí),若拼圖成功,界面如圖5所示。圖5 拼圖成功 (3)成績(jī)記錄輸入框 當(dāng)游戲者完成拼圖游戲后,將出現(xiàn)一個(gè)成績(jī)記錄框(“輸入”框),輸入游戲者的姓名。如圖6所示。輸入后單擊確定按鈕,將彈出總的成績(jī)記錄框。如圖7所示。圖6(a) 輸入前 圖6 (b) 輸入后 圖7 成績(jī)記錄框游戲程序?qū)崿F(xiàn)程序類主要功能介紹 該游戲程序中包括11個(gè)類。包括: ButtonClick.class、CardFrame.class、GameOver.class、Data.class 、Grades.class、Matrix.class、MenuFrame.class、 point.class、Puzzle.class、ShowImage.class、Split.class。其中主要的類實(shí)現(xiàn)的功能如下:1) ButtonClick.class該類主要是實(shí)現(xiàn)鼠標(biāo)事件,讓玩家在用鼠標(biāo)點(diǎn)擊能夠移動(dòng)拼圖的小圖片,移動(dòng)到周圍空格的地方2) CardFrame.class該類主要實(shí)現(xiàn),初始界面的相關(guān)提示信息。3)GameOver.class 該類主要實(shí)現(xiàn)游戲過(guò)程中的計(jì)時(shí)、暫停、結(jié)束等功能,游戲結(jié)束時(shí)的信息。4) Data.class 該類主要實(shí)現(xiàn)保存游戲者的游戲成績(jī)記錄的相關(guān)數(shù)據(jù)。5)Grades.class 該類主要實(shí)現(xiàn)成績(jī)記錄的初始化,在拼圖成功后可記錄游戲者姓名的功能,并直接提取等級(jí)、步數(shù)與時(shí)間等信息的功能。保存成績(jī)記錄信息,以便游戲者查看。6)MenuFrame.class 該類主要實(shí)現(xiàn)有主菜單與子菜單的功能。并設(shè)置相關(guān)的快捷鍵功能。7)Puzzle.class 該類是該游戲程序的主程序,從游戲界面大小到游戲過(guò)程中出現(xiàn)的所有信息框等相關(guān)功能都都到了實(shí)現(xiàn),調(diào)用相關(guān)類實(shí)現(xiàn)其功能。8)ShowImage.class 該類主要實(shí)現(xiàn)圖片的提取與切割的功能。程序的運(yùn)行將文件Arg.java,ButtonClick.java,CardFrame.java,GameOver.java,Grades.java,Matrix.java,MenuFrame.java,point.java,Puzzle.java,ShowImage.java,Split.java及background保存到同一個(gè)文件夾中。利用javac命令對(duì)文件進(jìn)行編譯,使用命令如下:Javac Puzzle.java之后,利用java命令執(zhí)行程序,使用命令如下:Java Puzzle便得到拼圖程序運(yùn)行界面。4 小結(jié) 本文是基于JAVA的拼圖游戲的程序?qū)崿F(xiàn),界面中有一個(gè)格子是空的,其他格子內(nèi)隨機(jī)放置由要拿來(lái)拼圖的圖片切割成的若干個(gè)小圖片,圖片的切割按照一定的公式計(jì)算,因?yàn)?,該通過(guò)單擊任意一個(gè)與空格子相鄰的方塊可以把該方游戲中設(shè)有拼圖游戲的等級(jí),根據(jù)不同的等級(jí),按照公式會(huì)切割成不同的小圖片塊數(shù)。在開始游戲之前,可以選擇游戲等級(jí)后再進(jìn)行拼圖游戲,通過(guò)將空格旁邊的小圖片移入空格子內(nèi)(不斷的移動(dòng)方塊),來(lái)實(shí)現(xiàn)拼圖,直到方塊一行一行的按圖片的原始樣子拼好即可完成該游戲。游戲拼完后,會(huì)彈出一個(gè)信息框,顯示你玩游戲所用的步數(shù)與時(shí)間,點(diǎn)擊“確定”后,會(huì)彈出一個(gè)“輸入”框,可以在里面輸入游戲者的姓名,單擊“確定”后會(huì)彈出游戲的記錄框??煽吹阶约旱呐判?。 該游戲最終能夠順利的運(yùn)行,功能基本都以實(shí)現(xiàn)。由于時(shí)間與能力有限,該游戲還有很大的優(yōu)化與擴(kuò)展空間,還有待改進(jìn)。附錄:源代碼Arg.javapublic interface Argpublic static final String path = background;public static final String rc = Game.rc;ButtonClick.javaimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JOptionPane;public class ButtonClick implements ActionListenerprivate JButton button;private point pint;private int row;private int cal;private int matrix;private GameOver gOver;private boolean end;public ButtonClick(JButton b, point p, int m, int r, int c, GameOver g)button = b;pint = p;matrix = m;row = r;cal = c;gOver = g;end = false;public void actionPerformed(ActionEvent e)if (end | !pint.neighbor(row, cal)return;int r = pint.getRow();int c = pint.getCal();buttonrc.setIcon(buttonrowcal.getIcon();buttonrowcal.setIcon(null);pint.set(row, cal);int t = matrixrc;matrixrc = matrixrowcal;matrixrowcal = t;end = gOver.judge();CardFrame.javaimport java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowAdapter;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;public abstract class CardFrame extends MenuFrameprivate CardLayout card;private Container con;protected JPanel panel = new JPanel(), new JPanel();public CardFrame()con = this.getContentPane();card = new CardLayout();con.setLayout(card);panel0.setLayout(null);JLabel label;label = new JLabel(請(qǐng)輸入你的圖片到);label.setBounds(10, 15, 190, 30);panel0.add(label);label = new JLabel(背景圖片文件夾。n);label.setBounds(10, 30, 190, 45);panel0.add(label);label = new JLabel(單擊選擇-背景圖片);label.setBounds(10, 50, 190, 65);panel0.add(label);label = new JLabel(選擇圖片。n);label.setBounds(10, 65, 190, 80);panel0.add(label);label = new JLabel(接著, 單擊 開始-新游戲 可以);label.setBounds(10, 85, 190, 100);panel0.add(label);label = new JLabel(開始游戲。);label.setBounds(10, 100, 190, 115);panel0.add(label);panel1.setLayout(new BorderLayout();JButton button = new JButton(繼 續(xù));button.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)FrameGetFocus(););panel1.add(button, BorderLayout.CENTER);con.add(panel0, 游戲);con.add(panel1, 暫停);card.show(con, 游戲);this.addWindowListener(new WindowAdapter()public void windowDeactivated(WindowEvent e)FrameLostFocus(););protected void nextCard()card.next(con);protected abstract void FrameLostFocus();protected abstract void FrameGetFocus();GameOver.javaimport java.util.Date;public class GameOverprivate boolean gameOver;private boolean stop;private int matrix;private Puzzle Main;private int step;private long now;private long countTime;public GameOver (Puzzle frm)Main = frm;public void start(int m)gameOver = false;matrix = m;step = 0;Date d = new Date();now = d.getTime();stop = false;countTime = 0;public boolean judge()if (gameOver)return true;step+;int c = 1;for (int i = 0; i matrix.length; i+)for (int j = 0; j datatype.time | (t = datatype.time & s = datatype.step)return; = JOptionPane.showInputDialog(null,你打破了記錄!n請(qǐng)輸入你的名字。);datatype.time = t;datatype.step = s;tryPrintStream f = new PrintStream(Arg.rc);f.printf(%s %d %dn, , data0.time, data0.step);f.printf(%s %d %dn, , data1.time, data1.step);f.printf(%s %d %dn, , data2.time, data2.step);f.close();catch (Exception e)JOptionPane.showMessageDialog(null, Arg.rc + has broken!);show();public void show()trycreatData();readData();String title = .format(%8s%15s%8s%8sn, 等級(jí), 姓名, 時(shí)間, 步數(shù));String h = .format(%8s%15s%8d%8dn, 困難, , data0.time, data0.step);String n = .format(%8s%15s%8d%8dn, 普通, , data1.time, data1.step);String e = .format(%8s%15s%8d%8dn, 簡(jiǎn)單, , data2.time, data2.step);JOptionPane.showMessageDialog(null, title+h+n+e);catch (Exception e)JOptionPane.showMessageDialog(null, Arg.rc + has broken!);Matrix.javaimport java.awt.image.BufferedImage;import javax.swing.JPanel;import javax.swing.JButton;import javax.swing.ImageIcon;public class Matrixprivate JButton button;private JPanel panel;private int row;private int cal;private int matrix;private GameOver gOver;public Matrix(JButton b, JPanel p, int len, GameOver g)this.button = b;this.panel = p;this.gOver = g;row = b.length;cal = b0.length;matrix = new introwcal;matrixrow-1cal-1 = row * cal;gOver.start(matrix);panel.removeAll();point pint = new point(row-1, cal-1);for (int i = 0; i row; i+)for (int j = 0; j cal; j+)buttonij = new JButton();buttonij.setBounds(j*len, i*len, len, len);buttonij.addActionListener(new ButtonClick(button, pint, matrix, i, j, gOver);panel.add(buttonij);public void init(BufferedImage image)if (button = null | image = null)return;ImageIcon icon;int r, c, rad, d, m;boolean visit = new booleanrow*cal-1;for (int i = 0; i row*cal - 1; i+)r = i / cal;c = i % cal;rad = (int)(Math.random()*(row*cal-1-i);for (d = m = 0; d row*cal - 1 & m = rad; d+)if (!visitd)m+;matrixi/cali%cal = d;visit-d = true;icon = new ImageIcon(imaged/cald%cal);buttoni/cali%cal.setIcon(icon);MenuFrame.java import java.io.File;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JRadioButtonMenuItem;import javax.swing.ButtonGroup;import javax.swing.KeyStroke;public abstract class MenuFrameextends JFramepublic final static int heightTitle = 30;public final static int widthTitle = 6;public final static int heightMenu = 27;private JMenu m = new JMenu(開始(B),new JMenu(選擇(O),new JMenu(關(guān)于(A) ;private JMenu mm = new JMenu(等級(jí)(L),new JMenu(背景圖片(B);private boolean update;private int type;private String filename;protected ButtonGroup bgrp = new ButtonGroup();protected ButtonGroup fgrp = new ButtonGroup();public MenuFrame()super(拼圖游戲);addMenu();this.setResizable(false);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setSize(widthTitle, heightTitle+heightMenu);this.setLocation(this.getToolkit().getScreenSize().width/3 - this.getWidth()/3,this.getToolkit().getScreenSize().height/3 - this.getHeight()/3);private void addMenu()JMenuBar mBar = new JMenuBar();this.setJMenuBar(mBar);mBar.add(m0);mBar.add(m1);mBar.add(m2);m0.setMnemonic(B);m1.setMnemonic(O);m2.setMnemonic(A);initMenuBegin();initMenuOption();initMenuAbout();update = false;public abstract void menuNewClick();public abstract void menuGradesClick();public abstract void menuShowClick();public abstract void menuExitClick();private void menuLevelClick(String nm)type = 3;if (nm.equals(困難)type = 0;else if (nm.equals(普通)type = 1;else if (nm.equals(簡(jiǎn)單)type = 2;private void menuBackgroundClick(String nm)filename = nm;public abstract void menuHelpClick();public abstract void menuAboutClick();public int getType()return type;public String getFilename()return filename;private void initMenuBegin()JMenuItem mI = new JMenuItem(新游戲(N),new JMenuItem(成績(jī)記錄(G),new JMenuItem(退出游戲(E);mI0.setMnemonic(N);mI1.setMnemonic(G);mI2.setMnemonic(E);mI0.setAccelerator(KeyStroke.getKeyStroke(ctrl N);mI2.setAccelerator(KeyStroke.getKeyStroke(ctrl W);mI0.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuNewClick(););mI1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuGradesClick(););mI2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuExitClick(););m0.add(mI0);m0.add(mI1);m0.add(mI2);m0.insertSeparator(2);private void initMenuOption()mm0.setMnemonic(L);mm1.setMnemonic(B);m1.add(mm0);m1.add(mm1);initMenuLevel();initMenuBackground();private void initMenuLevel()JRadioButtonMenuItem mi = new JRadioButtonMenuItem(困難),new JRadioButtonMenuItem(普通),new JRadioButtonMenuItem(簡(jiǎn)單) ;for (int i = 0; i 3; i+)mii.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JRadioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSource();menuLevelClick(mi.getText(););bgrp.add(mii);mm0.add(mii);mi1.setSelected(true);menuLevelClick(mi1.getText();public void initMenuBackground()mm1.removeAll();File bkg = new File(Arg.path);if (!bkg.exists()return;File list = bkg.listFiles();JRadioButtonMenuItem mi;int j = 0;for (int i = 0; i list.length; i+)if (!listi.isFile() | listi.isHidden()continue;mi = new JRadioButtonMenuItem(listi.getName();mi.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)JRadioButtonMenuItem mi = (JRadioButtonMenuItem)e.getSource();menuBackgroundClick(mi.getText(););fgrp.add(mi);mm1.add(mi);mi.setSelected(j = 0);if (j = 0)menuBackgroundClick(mi.getText();j+;private void initMenuAbout()JMenuItem mI = new JMenuItem(幫助(H),new JMenuItem(關(guān)于(A);mI0.setMnemonic(H);mI1.setMnemonic(A);mI0.setAccelerator(KeyStroke.getKeyStroke(F1);mI0.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuHelpClick(););mI1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuAboutClick(););m2.add(mI0);m2.add(mI1);public void updateMenuBegin()update = !update;if (!update)m0.remove(2);return;JMenuItem mi = new JMenuItem(圖片預(yù)覽(S);mi.setMnemonic(S);mi.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)menuShowClick(););m0.insert(mi, 2);point.javapublic class pointint row;int cal;public point(int r, int c)row = r;cal = c;public void set(int r, int c)row = r;cal = c;public int getRow()return row;public int getCal()return cal;public boolean neighbor(int r, int c)int n = Math.abs(row - r) + Math.abs(cal - c);return n = 1;Puzzle.javaimport java.awt.image.BufferedImage;import javax.swing.JButton;import javax.swing.ImageIcon;import javax.swing.JOptionPane;import javax.swing.JRadioButtonMenuItem;public class Puzzle extends CardFrameprivate boolean start;private int fWidth = this.getWidth();private int fHeight = this.getHeight();private GameOver gOver;private boolean index = true;public Puzzle()start = false;ImageIcon icon = new ImageIcon(icon/OK.png);this.setSize(200 + fWidth, 200 + fHeight);this.setIconImage(icon.getImage();this.setVisible(true);private void startGame()if (start)return;start = true;updateMenuBegin();public void endGame()updateMenuBegin();initMenuB
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈爾濱劍橋?qū)W院《工程光學(xué)基礎(chǔ)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西職業(yè)技術(shù)學(xué)院《建筑工程計(jì)量與計(jì)價(jià)實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏職業(yè)技術(shù)學(xué)院《民間剪紙藝術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南旅游職業(yè)學(xué)院《財(cái)務(wù)數(shù)據(jù)模型分析與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇醫(yī)藥職業(yè)學(xué)院《合唱與合唱指揮2》2023-2024學(xué)年第二學(xué)期期末試卷
- 贛州師范高等??茖W(xué)?!端牡刭|(zhì)學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津醫(yī)科大學(xué)臨床醫(yī)學(xué)院《微生物學(xué)與免疫學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2030年中國(guó)車輪輪輞平板卷圓機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 西安明德理工學(xué)院《中學(xué)化學(xué)改革研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 成都醫(yī)學(xué)院《阿拉伯語(yǔ)聽力二》2023-2024學(xué)年第二學(xué)期期末試卷
- 自適應(yīng)光學(xué)在眼底成像中的突破
- 黑龍江省雞西市2024年中考數(shù)學(xué)全真模擬試題含解析
- 七年級(jí)英語(yǔ)下學(xué)期期末考試(無(wú)錫卷)七年級(jí)英語(yǔ)下冊(cè)單元重難點(diǎn)易錯(cuò)題精練(牛津譯林版)
- 高標(biāo)準(zhǔn)農(nóng)田設(shè)計(jì)實(shí)施方案(技術(shù)標(biāo))
- 2024廣東茂名市住房和城鄉(xiāng)建設(shè)局招聘10人歷年(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- JT-T-155-2021汽車舉升機(jī)行業(yè)標(biāo)準(zhǔn)
- 煙囪工程技術(shù)標(biāo)準(zhǔn)
- 農(nóng)田耕作機(jī)械合同模板范文
- 完整版2024年“安全生產(chǎn)月”課件
- 國(guó)際談判與國(guó)際公文寫作-知到答案、智慧樹答案
- 中外園林漫賞智慧樹知到期末考試答案2024年
評(píng)論
0/150
提交評(píng)論