




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 目錄 第一章 引言31.背景41.1課程設計內容4第二章 系統介紹51.連連看游戲規則51.1游戲基本規則61.2操作規則61.3勝利和失敗62.游戲流程圖分析6第三章 系統游戲設計91.系統分析91.1游戲系統需求分析91.2系統開發及運行環境91.3系統功能主要要求92.系統總體結構103. 系統各模塊功能介紹10第四章 系統的具體實現111.系統主要運行界面111.1運行界面111.2執行界面,進入游戲正常運行111.3時間到界面121.4贏家界面131.5進度條界面14圖4.5程序運行進度條142.游戲實現代碼142.1主面板內所需要的組件的聲明142.2填充一個矩形框,進行顯示時間
2、142.3主面板及各組件初始化152.4創建時間對象,每隔100毫秒刷新一次152.5分數代碼。153.消除圖片具體情況163.1兩次點擊相同圖片相鄰163.2水平方向消去算法163.3豎直方向消去算法17第五章 程序清單18第六章 結束語26第七章 參考文獻27第一章 引言1.背景游戲“連連看”顧名思義就是找出相關聯的東西,這個連連看在網上基本是用在小游戲中,就是找出相同的兩樣東西,在一定的規則之內可以做為相關聯處理。“連連看”的發展經歷了從桌面游戲、在線游戲、社交游戲三個過程。游戲“連連看”是源自臺灣的桌面小游戲,自從流入大陸以來風靡一時,也吸引眾多程序員開發出多種版本的“連連看”。這其中
3、,顧方編寫的“阿達連連看”以其精良的制作廣受好評,這也成為顧方“阿達系列軟件”的核心產品。并于2004年,取得了國家版權局的計算機軟件著作權登記證書。隨著Flash應用的流行,網上出現了多種在線Flash版本“連連看”。如“水晶連連看”、“果蔬連連看”等,流行的“水晶連連看”以華麗界面吸引了一大批的女性玩家。2008年,隨著社交網絡的普及和開放平臺的興起,“連連看”被引入了社交網絡。“連連看”與個人空間相結合,被快速的傳播,成為一款熱門的社交游戲,其中以開發者Jonevey在Manyou開放平臺上推出的“寵物連連看”最為流行。網絡小游戲、網頁游戲越來越受網民歡迎,除了玩的方法簡單外(不像其他游
4、戲還需要注冊下載繁瑣過程),很多游戲不乏經典。連連看游戲就是典型。不管走到哪個網頁游戲網站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領,是一款適合大眾的經典網絡、單機休閑小游戲。游戲連連看,只要將相同的兩張牌用三根以內的直線連在一起就可以消除,規則簡單容易上手。游戲速度節奏快,畫面清晰可愛,適合細心的玩家。豐富的道具和公共模式的加入,增強游戲的競爭性。多樣式的地圖,使玩家在各個游戲水平都可以尋找到挑戰的目標,長期地保持游戲的新鮮感。該游戲由30張不同的圖片組成,游戲開始將會出現30張隨機組合的圖片,在規則下點擊兩張相同的圖片后圖片將
5、會消失。圖片全部消完為游戲成功。游戲還將設置退出,再來一局的按鈕,并實現該功能,方便用戶進行操作。1.1課程設計內容(1)游戲計分功能當消去兩個相同的圖片后分數將增加100分。(2)退出功能該功能有一個“退出”按鈕,當按下“退出”按鈕后,將直接退出游戲。(3)成功完成任務時顯示的 該功能有,恭喜成功,一個“再來一局”的按鈕,當按下“再來一局”按鈕后,圖片將會重新排列,重新開始游戲。(4)游戲倒計時功能在游戲界面的上方有一個倒計時的進度條,增加游戲的難度,激發玩家的挑戰興趣。 第二章 系統介紹1.連連看游戲規則1.1游戲基本規則用鼠標左鍵點擊方塊,將2個圖案相同的方塊用連線連接起來,連接線不多于
6、3根直線,連接后方塊就會消失。在規定的時間內將30張圖片全部消除。1.2操作規則選擇一個圖片用鼠標左鍵點擊,圖片會變色,然后點擊另一個同樣圖片,如果能夠連線就成功消失,如果不能連線,第一次選擇的圖片就會失效,然后將繼續尋找符合規則的圖片。1.3勝利和失敗把所有的圖片成功消除完畢,則認為是本次游戲成功。選擇圖片時間是有限的,在規定的時間內,若未能將圖片全部消除,則失敗,提醒是否再來一局。2.游戲流程圖分析流程圖分析如下圖2.1所示: 開始鼠標點擊位置的確定判斷是否點擊在圖片方塊塊?判斷是否已選定一個方塊?選定第一個方塊選定第二個方塊判斷是否可以抵消方塊?抵消方塊消除選定方塊的記錄結束圖2.1游戲
7、流程圖此次設計所使用的語言為Java。主要應用到Swing組件,Java小程序,事件及接口等。這些接口為游戲的制作提供了便捷的條件,本系統的主要特點就是運用Swing組件和事件處理技術,進行界面的繪制,鼠標的操作,以及積分的顯示等功能。這次通過連連看的設計開發將對理解Swing組件技術以及事件處理技術在游戲方面的應用起到很大的幫助作用,同時為掌握Java編程技術及二維休閑游戲設計的一般方法打下堅實的基礎。游戲程序設計一般都采用面向對象的設計模式,提供了一個簡單的圖像顯示接口,利用多文檔視圖結構的面向對象設計模式。第三章 系統游戲設計1.系統分析1.1游戲系統需求分析主要設計目標:使用GUI設計
8、連連看,載入圖片信息,進行正確分析系統的功能,總載入30張圖片,且圖片信息成對出現,且可以偶數項刪除,并具有計時等功能游戲中將有“退出”功能,選擇退出命令后程序將終止執行,關閉窗口。還將有“再來一局”功能,選擇再來一局命令后程序將對圖片重新排列,重新開始游戲。該游戲還有一個時間倒計時的進度條,提醒玩家剩余的時間,增加游戲的難度。在界面的頂部有計分功能,當玩家消去圖片后就會贏得相應的分數。1.2系統開發及運行環境硬件平臺:本游戲對硬件要求較低,基本都可以正常運行。軟件平臺:操作系統:Windows系列。開發工具包:JDK Version1.6.2。1.3系統功能主要要求1.系統采用圖片連連看方式
9、.界面美觀,用戶使用靈活,方便快捷.2.計分自動完成,提高工作效率。3.用進度條進行游戲界面的計時功能。4.可方便快捷地進行下一盤游戲,并且兩盤的分數在規定的時間內會疊加起來。 5.操作員可以隨時退出游戲。6.對用戶輸入的信息,系統進行嚴格的信息檢驗,盡可能排除人為的錯誤。7.系統最大限度地實現了易維護性和易操作性。8.系統運行穩定、安全可靠。2.系統總體結構連連看是基于java基本知識設置的一個小游戲,最中間有連連看的主體構成連連看圖片,上面有計分、時間條,下面有退出、再來一局按鍵。一個標準的連連看系統應該包括以下幾大功結構:1、鼠標操作模塊;2、圖像處理模塊;3、菜單模塊;4、顯示模塊。3
10、. 系統各模塊功能介紹系統各功能模塊實現的功能為鼠標操作模塊:玩家在玩游戲時需要運用鼠標與游戲系統進行交互,這個模塊的實現 是運用鼠標事件觸發的,在連連看的游戲場景中運用鼠標進行交互的事件主要有兩個,一個 是用戶點擊游戲場景中的圖片時觸發的事件。另外一種是用戶點擊菜單欄上的菜單按鈕時說 觸發的鼠標事件。當用戶點擊游戲場景中的圖像塊時就會響應鼠標的OnLButtonDown事件,然后進行相應的邏輯判斷。當用戶點擊菜單欄上的菜單命令時就會觸發相應的菜單命令對應的相應的事件。圖像處理模塊: 程序運行后,用戶通過游戲菜單的開始命令進入游戲,在這個模塊里要把資源文件中的圖片進行處理然后加載到游戲場景中這
11、在程序中是通過DrawMap()方法實現的。其中用到的API函數主要是是BitBlt,他的主要功能是將某一內存塊的數據傳送到另一內存塊,前一內存塊被稱為"源",后一內存塊被稱為"目標"圖象程序開發者使用Blit的函數在內存中將某頁面上的一幅位圖經過一定的變換轉移到另一個頁面上。菜單模塊: 玩家在游戲游戲過程中隨時可以通過選擇不同的菜單命令來進行相應的操作,菜單的制作是通過MFC框架中多文檔程序的菜單欄來添加的,菜單包含一下幾個部分:(1)游戲菜單中的開始、放棄和退出命令。界面顯示模塊: 游戲場景中界面的顯示包括以下部分:游戲計分,剩余時間、游戲主場景,游
12、戲完成提示界面。這些顯示信息會隨著游戲的進行而動態改變。 在連連看游戲中。整個連連看游戲的系統是在VC+6.0開發環境中進行開發的,開發過程中大量的使用了微軟提供的API接口方法,減少了程序代碼的編寫量、提高了編程效率。第四章 系統的具體實現1.系統主要運行界面1.1運行界面運行界面如下圖4.1所示: 圖4.1運行界面1.2執行界面,進入游戲正常運行執行界面如下圖4.2所示:圖4.2執行界面1.3時間到界面時間到界面如下圖4.3所示:圖4.3時間到界面1.4贏家界面游戲運行成功界面如下圖4.4所示:圖4.4游戲運行成功界面1.5進度條界面程序運行進度條如下圖4.5所示:圖4.5程序運行進度條2
13、.游戲實現代碼2.1主面板內所需要的組件的聲明主面板內所需要的組件的聲明代碼如下圖4.6所示:圖4.6組件聲明2.2填充一個矩形框,進行顯示時間填充一個矩形框,進行顯示時間代碼如下圖4.7所示: 圖4.7填充矩形框顯示時間2.3主面板及各組件初始化主面板及各組件初始化如下圖4.8所示:圖4.8主面板及各組件初始化2.4創建時間對象,每隔100毫秒刷新一次創建時間對象,每隔100毫秒刷新一次代碼如下圖4.9所示:圖4.9創建時間對象2.5分數代碼。每消除一對圖片,則分數加上100。代碼如下圖4.10所示: 圖4.10 分數代碼3.消除圖片具體情況當點擊兩個按鈕的圖片一樣時,運用消去算法來判斷是否
14、可消去,具體情況如下:3.1兩次點擊相同圖片相鄰當兩次點擊的相同圖片相鄰時,如下圖4.11所示,則消去。 圖4.11 點擊圖片相鄰3.2水平方向消去算法當兩次點擊的相同圖片如下圖4.12所示,則在水平方向用循環算法for (j = 0; j < 7; j+)判斷,設第一次選中按鈕坐標為x0 , y0,第二次選中按鈕坐標為x , y,則先找到grid(x0,j)為0的j,再判斷x水平方向x到j是否grid(x,j)都為0,若是則判斷x0水平方向x0到j是否grid(x0,j)都為0,若是,則再判斷x和x0,若相等消去,若不等判斷在j豎直方向上是否grid(n,j)(n為x到x0之間的數)都
15、為0,若是則消去。 圖4.12水平消去算法圖片3.3豎直方向消去算法豎直方向消去算法。情況與水平方向基本相同,重點提一下圖片4.13所示的情況,其余情況不再重復描述。出現下圖情況則會消去,消去原理與水平方向消去算法相似。 圖4.13豎直消去算法圖片第五章 程序清單26package c02;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;import javax.swing.*;class MyPanel extends JPane
16、l int cnt = 0;public void paint(Graphics g) super.paint(g);g.setColor(Color.red);g.fillRect(this.getWidth() - cnt, 0, cnt, this.getHeight(); /填充一個矩形區域public boolean isEnd() if (cnt+ > this.getWidth()return true;repaint();return false; public class LianLianKan implements ActionListener JFrame main
17、Frame; / 主面板MyPanel time;JPanel centerPanel, southPanel, northPanel; / 3個子面板JButton diamondsButton = new JButton65;/ 游戲按鈕數組JButton exitButton, newlyButton; / 退出,重新開始按鈕JLabel scoreLable; / 分數標簽JButton firstButton, secondButton; / 分別記錄兩次被選中的按鈕Timer timer;int grid = new int87;/ 儲存游戲按鈕位置static boolean p
18、ressInformation = false; / 判斷是否有按鈕被選中int sum=0;int x0 = 0, y0 = 0, x = 0, y = 0, fristMsg = 0, secondMsg = 0; / 游戲按鈕的位置坐標int i, j, k, n;/ 消除方法控制/ =調用圖片=/private static Icon icons = new ImageIcon6 * 5; /靜態數組icons【】用于存放圖片絕對地址private static final String imgDir = "f:/meng"static tryFile dir =
19、new File(imgDir); File imgFiles = dir.listFiles(new FilenameFilter() /獲取f:/meng文件中的圖片public boolean accept(File dir, String name) return name.toLowerCase().endsWith(".jpg"););for (int i = 0; i < 6 * 5; i+) /獲取f:/meng文件中的圖片的絕對路徑放在icons數組中iconsi = new ImageIcon(imgFilesi.getAbsolutePath()
20、;/System.out.println(i+" "+iconsi); catch (Exception e) e.printStackTrace();/ 異常處理public void init() /初始化面板mainFrame = new JFrame("JKJ連連看");/ 設置主面板的名稱為"JKJ連連看"mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 結束窗體所在的應用程序mainFrame.setLayout(new BorderLayout(); /
21、 設置為BorderLayout()布局scoreLable= new JLabel("0");centerPanel = new JPanel();/ 設置面板southPanel = new JPanel();northPanel = new JPanel();northPanel.setLayout(new BorderLayout(); /設置時間分數面板布局為邊界布局mainFrame.add(centerPanel, "Center"); / 添加組件mainFrame.add(southPanel, "South");m
22、ainFrame.add(northPanel, "North");centerPanel.setLayout(new GridLayout(6, 5);/ 設置一個6*5的網格布局for (int cols = 0; cols < 6; cols+) for (int rows = 0; rows < 5; rows+) / =設置圖片=/diamondsButtoncolsrows = new JButton(iconsgridcols + 1rows + 1);diamondsButtoncolsrows.addActionListener(this);c
23、enterPanel.add(diamondsButtoncolsrows);exitButton = new JButton("退出");/ 退出按鈕exitButton.addActionListener(this);newlyButton = new JButton("再來一局");/ 再來一局按鈕newlyButton.addActionListener(this);southPanel.add(exitButton);/ 添加退出按鈕southPanel.add(newlyButton);/ 添加再來一局按鈕scoreLable.setText
24、(String.valueOf(Integer.parseInt(scoreLable.getText();time = new MyPanel();northPanel.add(time, BorderLayout.CENTER); /時間-分數面板上在CENTER位置添加時間northPanel.add(scoreLable, BorderLayout.WEST); /時間-分數面板上在WEST位置添加分數LablemainFrame.setSize(500, 450); / 設置主面板的大小mainFrame.setLocationRelativeTo(null); /設置窗口在屏幕中間
25、顯示mainFrame.setVisible(true);/設置窗口可見public void startt()timer = new Timer(10, this); /創建時間對象,每隔100毫秒計時一次。init();timer.start();public void randomBuild() /初始化存放游戲按鈕位置的grid數組(也就是icon【】下標+1)int randoms, cols, rows; / 變量定義for (int twins = 1; twins <= 15; twins+) randoms = (int) (Math.random() *24);for
26、 (int alike = 1; alike <= 2; alike+) cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);while (gridcolsrows != 0) cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);this.gridcolsrows = randoms;public void score()/ 方法聲明scoreLable.setText(String.valueOf
27、(Integer.parseInt(scoreLable.getText() + 100);public void reload()/ 方法聲明int save = new int30; / 創建聲明數組int n = 0, cols, rows; / 變量定義int grid = new int87; / 創建聲明數組for (int i = 0; i <= 6; i+) for (int j = 0; j <= 5; j+) if (this.gridij != 0) saven = this.gridij;n+;n = n - 1;this.grid = grid; / th
28、is出現在實例方法中,表示使用該方法的當前對象while (n >= 0) / while循環cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);while (gridcolsrows != 0)/ 循環嵌套cols = (int) (Math.random() * 6 + 1);rows = (int) (Math.random() * 5 + 1);this.gridcolsrows = saven; / this出現在實例方法中,表示使用該方法的當前對象n-;mainFrame.setV
29、isible(false);/ 窗口不可見pressInformation = false; / 這里一定要將按鈕點擊信息歸為初始init();for (int i = 0; i < 6; i+)/ for循環for (int j = 0; j < 5; j+)/ 循環嵌套if (gridi + 1j + 1 = 0)diamondsButtonij.setVisible(false);/ 窗口不可見public void estimateEven(int placeX, int placeY, JButton bz) / 點擊按鈕觸發if (pressInformation =
30、false)/ 選擇語句x = placeX;y = placeY;secondMsg = gridxy;secondButton = bz;pressInformation = true; else x0 = x;y0 = y;fristMsg = secondMsg;firstButton = secondButton;x = placeX;y = placeY;secondMsg = gridxy;secondButton = bz;if (fristMsg = secondMsg && secondButton != firstButton) / 相同的情況下能不能消去
31、。xiao();public void xiao() if (x0 = x && (y0 = y + 1 | y0 = y - 1)|(y0 = y) && (x0 = x + 1 | x0 = x - 1) ) / 判斷是否相鄰remove(); else for (j = 0; j < 7; j+) if (gridx0j = 0)/ 判斷第一個按鈕同行哪個按鈕為空if (y > j) / 如果第二個按鈕的Y坐標大于空按鈕的Y坐標說明第一按鈕在第二按鈕左邊for (i = y - 1; i >= j; i-)/ 判斷第二按鈕左側直到第一按鈕
32、中間有沒有按鈕if (gridxi != 0) k = 0;break; else k = 1; / K=1說明通過了第一次驗證if (k = 1) linePassOne();if (y < j) / 如果第二個按鈕的Y坐標小于空按鈕的Y坐標說明第一按鈕在第二按鈕右邊for (i = y + 1; i <= j; i+)/ 判斷第二按鈕左側直到第一按鈕中間有沒有按鈕if (gridxi != 0) k = 0;break; else k = 1;if (k = 1) linePassOne();if (y = j) linePassOne();if (k = 2) if (x0
33、= x) remove();if (x0 < x) for (n = x0; n <= x - 1; n+) if (gridnj != 0) k = 0;break;if (gridnj = 0 && n = x - 1) remove();if (x0 > x) for (n = x0; n >= x + 1; n-) if (gridnj != 0) k = 0;break;if (gridnj = 0 && n = x + 1) remove();for (i = 0; i < 8; i+)/ 列if (gridiy0 =
34、0) if (x > i) for (j = x - 1; j >= i; j-) if (gridjy != 0) k = 0;break; else k = 1;if (k = 1) rowPassOne();if (x < i) for (j = x + 1; j <= i; j+) if (gridjy != 0) k = 0;break; else k = 1;if (k = 1) rowPassOne();if (x = i) rowPassOne();if (k = 2) if (y0 = y) remove();if (y0 < y) for (n
35、 = y0; n <= y - 1; n+) if (gridin != 0) k = 0;break;if (gridin = 0 && n = y - 1) remove();if (y0 > y) for (n = y0; n >= y + 1; n-) if (gridin != 0) k = 0;break;if (gridin = 0 && n = y + 1) remove();public void linePassOne() if (y0 > j)/ 第一按鈕同行空按鈕在左邊for (i = y0 - 1; i >
36、= j; i-)/ 判斷第一按鈕同左側空按鈕之間有沒按鈕if (gridx0i != 0) k = 0;break; else k = 2; / K=2說明通過了第二次驗證if (y0 < j)/ 第一按鈕同行空按鈕在與第二按鈕之間for (i = y0 + 1; i <= j; i+) if (gridx0i != 0) k = 0;break; else k = 2;public void rowPassOne() if (x0 > i) for (j = x0 - 1; j >= i; j-) if (gridjy0 != 0) k = 0;break; else
37、 k = 2;if (x0 < i) for (j = x0 + 1; j <= i; j+) if (gridjy0 != 0) k = 0;break; else k = 2;public void remove() /消除兩個按鈕if(gridx0y0 !=0 && gridxy!= 0)firstButton.setVisible(false); / 不可見secondButton.setVisible(false);score(); /分數加100pressInformation = false;gridx0y0 = 0;gridxy = 0;sum+;i
38、f(sum=15) timer.stop();if (JOptionPane.showConfirmDialog(mainFrame,"恭喜你,你贏了! 想再來一局嗎?", "勝利",JOptionPane.YES_NO_OPTION)= JOptionPane.OK_OPTION) int grid = new int87;this.grid = grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInformation = false;init();timer.start();/啟動線程
39、sum=0; elseSystem.exit(0);public void actionPerformed(ActionEvent e) /接口實現if (e.getSource() = newlyButton) int grid = new int87;/創建數組this.grid = grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInformation = false;init();timer.start();sum=0;if (e.getSource() = exitButton)System.exit(0);if (
40、e.getSource() = timer) if (time.isEnd() timer.stop();/時間到的提示if (JOptionPane.showConfirmDialog(mainFrame,"時間到了,o()o n要再來一局嗎?", "提示",JOptionPane.YES_NO_OPTION)= JOptionPane.OK_OPTION) int grid = new int87;this.grid = grid;randomBuild();mainFrame.setVisible(false);/窗口不可見pressInforma
41、tion = false;init();timer.start();/啟動線程sum=0; elseSystem.exit(0);for (int cols = 0; cols < 6; cols+) for (int rows = 0; rows < 5; rows+) if (e.getSource() = diamondsButtoncolsrows)estimateEven(cols + 1, rows + 1, diamondsButtoncolsrows); public static void main(String args) /主函數LianLianKan llk = new LianLianKan();/創建對象llk.randomBuild();/調用方法llk.startt();第六章 結束語本次java課程設計,通過一學期的學習知識,成功的設計出一個非常經典的連連看小游戲,參考網絡上的知識,進行擴展知識面,本節只要了解了圖形界面的概念,及其應用到實際界面中,深刻的了解了AWT得基本體系結構,SWI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年重癥患者譫妄的管理
- 2025年淄博貨運模擬考試
- 2025年駐馬店貨運從業資格仿真考題
- 警察爸爸講安全
- 小升初-典型應用題
- 25年三月協議離婚房產數字遺產條款
- 2024年份8月聲樂教師課后服務協議與責任劃分細則
- 二零二五版委托招聘協議
- 加盟餐飲店合同范例二零二五年
- 即征即退進項明細科目
- 小學生三減三健課件
- 2025年全國大學生環保知識競答題庫及答案(共180題)
- GB/T 15180-2025重交通道路石油瀝青
- 2024-2025學年下學期高一語文期中必刷常考題之作文
- 安徽省示范高中皖北協作區2025屆高三3月聯考試卷語文試題(含答案)
- 語文-華大新高考聯盟2025屆高三3月教學質量測評試題+答案
- 2025年江蘇省文科大學生自然科學知識競賽題庫及答案(1-1077題)
- 中國農業銀行筆試真題含解析
- 茶臺買賣合同5篇
- 2025年新疆天澤水利投資發展有限公司招聘筆試參考題庫含答案解析
- 2024年北京市中考滿分作文《盤中餐》
評論
0/150
提交評論