版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、五子棋游戲?qū)嶒瀳蟾?課程: 名稱 計算機程序設(shè)計(VB) 學(xué) 號 姓 名 班 級 提交時間 五子棋軟件設(shè)計 一、實驗?zāi)康?1通過五子棋軟件設(shè)計或者自擬題目設(shè)計,鞏固本課程所學(xué)的各個章節(jié)重點知識,自擬題 目的同學(xué)需盡早向教師提出自己的想法及設(shè)計方案。 2通過開發(fā)一個較大的系統(tǒng),增強軟件開發(fā)能力。 3通過調(diào)試系統(tǒng),增強邏輯思維能力。 二、實驗內(nèi)容 1基本要求: (1)輸入兩個對手名字,然后進入游戲界面。 (2)用鼠標點擊的方式在棋盤上擺放棋子,黑白交替。(棋盤 15*15 ) (3)可以悔棋。 (4)五子連在一起的時候能判斷勝利,并且顯示出勝利者的名字。 (5)能夠?qū)⑵寰值慕Y(jié)果保存,保存該棋局結(jié)束
2、的狀態(tài)、對手名字、棋局名字(棋局名字 在保存時由用戶在相應(yīng)的界面下添入) (此功能要求用數(shù)據(jù)庫和文件兩種技術(shù)實現(xiàn)) 。 (6)棋局能夠恢復(fù),即重新打開,打開后出現(xiàn)棋局結(jié)束的狀態(tài)、對手名字(此功能要求用 數(shù)據(jù)庫和文件兩種技術(shù)實現(xiàn)) 。 2其它要求: (1)界面友好、漂亮。 (2)程序盡可能無 bug。 (3)程序健壯性強, 基本上達到無論用戶如何操作,軟件都不出錯,都有相應(yīng)的處理方法。 3設(shè)計步驟 (1)首先做界面 界面包括幾個窗體,窗體上有相應(yīng)的控件。 因為需要畫棋盤,所以必須有圖形容器,這里用 picturebox 框 第一個窗體是登陸界面, 因為玩家姓名需要在程序中不斷變換, 因此需要將玩
3、家名定義成兩 個變量,又因為這兩個變量在幾個窗體中都用到,所以在模塊中定義為全局變量 當五子棋主界面啟動之后,首先系統(tǒng)要自動繪制棋盤。 思路: 用直線繪制棋盤 直線是由點繪制的 -每個點都有坐標 改變坐標系為用戶坐標系 用戶坐標系的定義要在窗體啟動時實現(xiàn)。 (2)坐標系的兩個頂點坐標的確定? 考慮到五子棋 15*15 ,確定棋盤坐標系頂點為 (-8, 8),(8, -8) (3)棋子的繪制與存儲棋子的繪制用實心圓模式,顏色為黑色及白色兩種。 棋子在內(nèi)存中的存儲方式: 因為表示各個棋子的數(shù)據(jù)類型都相同, 所以考慮用數(shù)組存儲, 因 為棋盤是二維的,因此棋子用二維數(shù)組 a 存儲。 a(i,j) 表示
4、用戶坐標( i,j )的棋子狀態(tài), 0 表 示此處無棋子, 1 表示此處為黑子, 2 表示此處為白子,下棋初始時,棋盤所有位置的初始 狀態(tài)都為 0 (4)下棋子的步驟鼠標點擊棋盤交叉點附近的位置,系統(tǒng)應(yīng)實現(xiàn)自動識別鼠標點擊位置附 近的交叉點 解決方法: 坐標系的變換已經(jīng)將棋盤交叉點坐標整數(shù)化, 因此系統(tǒng)所需要實現(xiàn)的功能即是將 鼠標所點擊的位置坐標化為整數(shù)即可,例如將(6.2, -5.3)變成( 6, -5)。在交叉點上交替下 黑白棋子。 解決方法:定義一個邏輯數(shù)據(jù)類型變量 blackwhite ,該變量的值為真時下黑子,為假時下白 子,每下一個棋子,該變量的值都要取反(NOT )。 判斷贏棋每
5、次下子時都必須進行贏棋判斷, 判斷的依據(jù)是 5 個子按照橫線、 豎線或斜線連成 一行。 解決方法: 2 層循環(huán)。 當有一方勝利時,棋局結(jié)束,此時在棋盤上繼續(xù)點擊,將不再下棋。 解決方法: 設(shè)置一個邏輯變量 wuziqi ,其值為真時說明棋局沒有結(jié)束, 可以在棋盤上放棋子, 該值為假時,說明該棋局結(jié)束,不能放棋子。 (6)五子棋保存棋局 思路:保存棋局的功能即把內(nèi)存中與棋局相關(guān)的數(shù)據(jù)(棋局名稱、棋子位置、棋子顏色、棋 局狀態(tài)(即棋局是否結(jié)束) )存入外存中,以便以后能夠恢復(fù)棋局。保存的實現(xiàn)用兩種技術(shù) 實現(xiàn):文件和數(shù)據(jù)庫。 采用數(shù)據(jù)庫技術(shù)實現(xiàn)棋局保存: 數(shù)據(jù)庫設(shè)計: 數(shù)據(jù)表字段:棋局名、 x 坐標
6、、 y 坐標、該點狀態(tài)值、下棋狀態(tài)。 每條記錄表示棋盤上一個存儲的點的信息。 要實現(xiàn)用數(shù)據(jù)庫保存數(shù)據(jù),就必須使程序連接到數(shù)據(jù)庫上,這里用的是 data 控件,通過在 程序中對 data 控件屬性的設(shè)置來連接數(shù)據(jù)庫、數(shù)據(jù)表。 首先判斷如果輸入的棋局名和當前記錄的棋局名相等, 說明表中有輸入棋局名對應(yīng)的棋局信 息,將其刪除,判斷過程是將用戶輸入的棋局名(字符串)從記錄集(即表)的棋局字段頂 端至下逐一比較 在表的最后,也就是最后一條記錄后加上新保存棋局的各條記錄 因為棋盤上空點居多,大部分點的信息為0,因此只需保存有棋子的點的信息 用文件技術(shù)進行棋局保存,思路相同。 (7)五子棋恢復(fù)棋局 思路:首
7、先從數(shù)據(jù)庫文件中找到要恢復(fù)棋局的數(shù)據(jù)(即曾經(jīng)保存的數(shù)據(jù)) ,然后把這些數(shù)據(jù) 賦值給內(nèi)存中相應(yīng)的數(shù)組或者變量中, 按照這些數(shù)據(jù)重新繪制棋盤和棋子, 即完成了對棋局 的恢復(fù)。 窗體啟動事件應(yīng)該完成的事情: 組合框中應(yīng)該顯示曾經(jīng)保存的棋局名。 因為每次保存棋局時, 都是將棋局所有棋子的記錄添 加在表的最后,因此表中關(guān)于棋局名的記錄只能是類似于aaabbbbccccc的形式,而不可能是 abbcacc的形式,根據(jù)這個特點編程序取出表中不同的棋局名。 具體算法: 用一個字符串變量 strfile 初始值為空, 從表的頂端向下依次移動記錄指針, 如果當前記錄的 棋局名字段和 strfile 不相等, 說明
8、進入另一個棋局的記錄中, 將該棋局記錄的棋局名賦值給 strfile ,并加入到組合框中,一直到表中最后一個記錄 因為要從數(shù)據(jù)庫中取出相關(guān)數(shù)據(jù)到a數(shù)組中,因此要將 a數(shù)組所有數(shù)據(jù)清零。 要建立一個 data 控件,與數(shù)據(jù)庫連接起來,而后識別棋局(即表中的棋局名字段與在列表 框中選擇的棋局名比較) ,將數(shù)據(jù)庫該棋局中所有信息都賦值給 a 數(shù)組及相關(guān)變量。 剛才僅僅是數(shù)據(jù)的恢復(fù), 即將數(shù)據(jù)庫中已經(jīng)保存過的數(shù)據(jù)恢復(fù)到內(nèi)存中, 下一步應(yīng)該根據(jù)內(nèi) 存中的數(shù)據(jù)重新繪制棋盤以及棋子。 重新繪制棋盤是獨立的一塊功能,因此考慮用全局子過程來實現(xiàn),該子過程定義在模塊中。 思路如下: 清屏繪制棋盤根據(jù) a 數(shù)組中的
9、每一項的兩個下標來決定繪制棋子的位置, 根據(jù)每一項的 值是 1 還是 2 來決定在該位置繪制何顏色的棋子。 決定該黑白方走的 blackwhite 變量當時沒有保存,可以采用在數(shù)據(jù)庫中保存的方式來解決, 本例中解決方法是通過數(shù)黑白棋子個數(shù)來決定恢復(fù)棋局后該誰走的。 因此設(shè)置了一個變量做計數(shù)器,每走一步棋計數(shù)器的值加一。 用文件技術(shù)實現(xiàn)棋局恢復(fù),思路相同。 (8)悔棋 悔一步棋: 用幾個變量來表示關(guān)于一步棋的幾個信息, 每次下子都將該子的信息賦值給那幾 個變量,悔一步棋即將那幾個變量所表示的點的 a 數(shù)組信息清零。而后調(diào)用 paint ()過程 重畫。 以上是教師帶著學(xué)生完成的軟件功能。 遺留問
10、題:保存棋手姓名和棋局名并在恢復(fù)棋局的時候顯示。 (需要同學(xué)們自己完成) 思路:在數(shù)據(jù)表中多建立兩個字段,分別表示兩個棋手姓名,同其它數(shù)據(jù)的保存類似。 三、設(shè)計日期 十二月 四、完成日期 十二月 五、實驗體會 其實,一開始學(xué)習(xí) vb 我就對它不抱有一定的熱情,可能是因為要用到計算機以及編程問 題,當時一想到有代碼, 就會無比的苦惱,但是為了讓這門課順利通過,我還是懷著一顆必 須要學(xué)的心情。 起初,我對待這門新課程和其他課程一樣,保持著必須認真聽講的決心。但 是由于理論課太過枯燥, 沒學(xué)幾次, 我就敗下陣來,開始有一節(jié)沒一節(jié)的聽,但是心里還是 存有愧疚, 就得自己不該這樣懶惰, 所以總是坐在前邊
11、幾排座位上, 逼著自己一定要學(xué)些什 么,這總歸要比坐在后邊效果要好一些。在學(xué)了這半學(xué)期 vb 之后,我同樣有了一些體會, 雖然不會比創(chuàng)新程序的同學(xué)深刻, 但是也讓我相信了, 起碼在老師他自己的課堂上, 他講的 要點都是對的。 1、一定要認真聽講做筆記,這是提高效率最快的方法,就像老師說的。 有了上機課, 我才能真正懂得聽課的重要性, 其實有些課件雖然老師為了學(xué)生能夠及時的 進行自我復(fù)習(xí)傳上去一些,但有些東西終歸是老師上課講的,而并沒有寫入課件的。所以, 當真正自己寫的時候,一遍一遍的被程序提示出錯,內(nèi)心其實很著急,因為老師只有一個, 而且也不會圍著你團團轉(zhuǎn), 所以這時候, 請教同學(xué)是唯一的方法
12、, 但是這唯一的方法也不是 時時都能發(fā)揮作用, 同學(xué)也有不會, 還是需要老師。其實我知道, 大部分的問題都是上課老 師已經(jīng)講過的, 只是自己沒聽。 或者是一知半解, 經(jīng)常寫丟一些重要程序, 導(dǎo)致程序一直無 法運行。比如我經(jīng)常把退出子過程 exit sub 弄丟,自己當時沒覺得它很重要,雖然老師講過 如果沒有這個,后邊的程序會很麻煩。當時,我也只是那么一聽,沒在意,后來編程黑白子 豎方向贏棋時沒把它加上, 之后麻煩就出現(xiàn)了, 我的黑白子一直都沒法完成豎方向贏棋總是 有一個方向沒法判斷, 起初老師告訴我看看是否有算法上的錯誤, 但是,我找了一節(jié)多課 (我 承認我這個人太固執(zhí),必須要知道為什么錯了,
13、才會做下一步) ,我覺得我的算法一定沒問 題,但是不明白為什么錯,后來在讀別人的程序時,才發(fā)現(xiàn)是我的exit sub 沒寫,造成的, 只有退出我上一個的子過程, 這個過程才能正常運行。 所以可見沒聽老師的話, 是多么可怕, 尤其還是在我也沒聽他講課的前提下根本不懂代碼意思, 亂刪改造成的后果。 所以,不 管是在哪里,學(xué)知識是對任何事情在打基礎(chǔ)。做每一步都要問一句問什么,凡是都有原因。 2、學(xué)會獨立思考,多問自己為什么,求幫助是下策 在最初的的上機試驗里, 我總會問老師一些我自己可以解決的問題, 自己不愿動腦想, 希 望以最快捷的方式,獲得最佳的結(jié)果。但是,往往會被老師教育一下,因為在其中,有一
14、半 是拼寫錯誤,而自己沒注意,另一半是寫程序時不夠完整 (認真說起來是根本沒怎么想,只 是將課上抄錄下來的不完整筆記,憑借自己的主觀意愿,編寫的程序,不問為什么)。其實 后來想一想,確實是自己的問題,既耽誤自己時間,也耽誤老師時間。這些程序老師只是給 一個思路, 教你如何編寫程序, 但是完整的需要自己來做,這些都需要弄清思路,才會懂得 我需要什么, 從而編寫出什么, 這樣犯錯幾率才會大大減少。 這也是鍛煉自己思路邏輯性的 時候, 也是老師讓我們學(xué)的地方。只是當時沒有聽進去。 就像老師說的,只有這樣才能將程 序融為自己的,真正有能力去編自己想要邊的程序。 3、任何新鮮的事物都需要一個熟悉的過程,
15、凡是要趁熱打鐵,效率才會高。 其實, 這也是老師經(jīng)常說的,可我們總是在做錯事之后, 才會想起來, 原來某某某說的話 是多么的對,但是總是忽略它事前的作用。我確實每次上完課,筆記連翻都不翻,到真正上 機的時候才會開始琢磨這個程序的意思,所以每一次的上機,我的速度都是比別人慢好多, 而且尤其是筆記也沒有記得很全的時候(也沒有及時的補) ,上機時間都不夠我完成上次所 講的程序的。所以會很后悔,沒有好好聽講,沒有好好記筆記、補筆記,造成了效率低下的 局面。所以,凡事都要趁熱打鐵,才會盡快吸收。 4、 任何事情都不是一氣呵成,事先的計劃會是你事半功倍, 而實踐是檢驗真理的唯一標準, 程序亦是如此。 這是
16、我這兩天在研究程序為什么這么寫的原因時, 才開始領(lǐng)悟到的。 這一點老師也有可能 說過。我在拋開老師所編寫的五子棋的程序下,想通過自己的思考,把五子棋的思路捋順, 所以開始自己畫結(jié)構(gòu)圖 (真正開始有這種想法的是在我看到老師給我們展示的他的往屆同學(xué) 做貪吃蛇的心得中,才發(fā)覺重要性) 。一開始我花了一個很短的一段時間,畫出一個我自認 為很滿意思路圖, 但是當我在重新用一些數(shù)去實驗, 當我再對比我寫的圖與老師編寫的程序 有何不同的時候,就會發(fā)現(xiàn),有很多漏洞。比如,我想到了有下棋,但沒有想到下棋前要清 屏,防止程序之前有任何痕跡, 防止出錯;還有我想到了下棋之后要判斷贏棋,但是當我到 贏棋的那一步思路,
17、 我才想到, 要判斷贏棋, 就必須有五個相同顏色的子連一起, 那么在這 之前我就要加上關(guān)于數(shù)組的賦值,來代表每一種顏色的棋子,從而構(gòu)造if 條件語句,完成 應(yīng)其目的等等。其實這些都不是我一開始做程序就想到的,只有當按照計劃實施的過程中, 才能驗證思路的正確性, 才能知道自己的思路與邏輯缺陷在哪里, 從而彌補不足。 這也是將 自己的邏輯思維進一步完善的過程,也是老師想讓我們得到的東西。 所以,通過這次的課程, 我能體會到老師的良苦用心, 也感謝老師一直不厭倦的一遍遍教 我們,一遍遍告訴我們不愿意聽的忠言。我會將我從這里學(xué)到的態(tài)度,以及做事的思維方式, 運用到其他事情上,哪怕是一點點,也會讓我的效
18、率比以往更有提高。 六、全部界面和代碼 Form 1 Private Sub Comma nd1_Click() If Trim(Text1.Text) = Or Trim(Text2.Text) = Then MsgBox 請輸入玩家姓名! End If If Trim(Text1.Text) = Trim(Text2.Text) The n MsgBox 不能輸入相同姓名!” Exit Sub End If b = Text1.Text w = Text2.Text Form2.Show Un load Me End Sub Form 2 葉丈 和幵廠休4f 拱劫 另存為 保旋 (L U込
19、 1j允的艾給 保存眾場文 ELFE沁E 5243n.fn21l93l L 諛傍專旳仏 I dUM 剛 Wbl Z1 件 打開 打聲局丈 扶垠近的文襠 育吃范西1): Dim m As Integer Dim n As Integer Dim i As Integer Dim j As Integer Private Sub Form_Load() Form2.Picture1.Scale (-8, 8)-(8, -8) End Sub Private Sub 開始游戲 _Click() Picture1.Cls For i = -7 To 7 Picture1.Line (-7, i)-(7
20、, i), QBColor(0) Picture1.Line (i, -7)-(i, 7), QBColor(0) Next For i = -11 To 11 For j = -11 To 11 a(i, j) = 0 Next Next Label1.Caption = 該黑方 + b + 走 blackwhite = True wuziqi = True End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) m = CInt(X) n =
21、CInt(Y) If CInt(X) = -7 And CInt(X) = 7 And CInt(Y) = -7 And wuziqi = True Then Picture1.FillStyle = 0 If blackwhite = True And a(m, n) = 0 Then Picture1.FillColor = QBColor(0) Picture1.Circle (m, n), 0.3, QBColor(0) a(m, n) = 1 Label1.Caption = 該白方 + w + 走 blackwhite = False End If If blackwhite =
22、False And a(m, n) = 0 Then Picture1.FillColor = QBColor(15) Picture1.Circle (m, n), 0.3, QBColor(15) a(m, n) = 2 Label1.Caption = 該黑方 + b + 走 blackwhite = True End If For i = m - 4 To m If a(i, n) = 1 And a(i + 1, n) = 1 And a(i + 2, n) = 1 And a(i + 3, n) = 1 And a(i + 4, n) = 1 Then MsgBox 黑方勝利! w
23、uziqi = False Exit Sub End If If a(i, n) = 2 And a(i + 1, n) = 2 And a(i + 2, n) = 2 And a(i + 3, n) = 2 And a(i + 4, n) = 2 Then MsgBox 白方勝利! wuziqi = False Exit Sub End If Next For j = n - 4 To n If a(m, j) = 1 And a(m, j + 1) = 1 And a(m, j + 2) = 1 And a(m, j + 3) = 1 And a(m, j + 4) = 1 Then Ms
24、gBox 黑方勝利! wuziqi = False Exit Sub End If If a(m, j) = 2 And a(m, j + 1) = 2 And a(m, j + 2) = 2 And a(m, j + 3) = 2 And a(m, j + 4) = 2 Then MsgBox 白方勝利! II wuziqi = False Exit Sub End If Next For i = 4 To 0 Step -1 If a(m - i, n + i) = 1 And a(m - i + 1, n + i - 1) = 1 And a(m - i + 2, n + i - 2)
25、= 1 And a(m - i + 3, n + i - 3) = 1 And a(m - i + 4, n + i - 4) = 1 Then MsgBox 黑方勝利! wuziqi = False Exit Sub End If If a(m - i, n + i) = 2 And a(m - i + 1, n + i - 1) = 2 And a(m - i + 2, n + i - 2) = 2 And a(m - i + 3, n + i - 3) = 2 And a(m - i + 4, n + i - 4) = 2 Then MsgBox 白方勝利! wuziqi = False
26、 Exit Sub End If Next For i = 4 To 0 Step -1 If a(m + i, n + i) = 1 And a(m + i - 1, n + i - 1) = 1 And a(m + i - 2, n + i - 2) = 1 And a(m + i - 3, n + i - 3) = 1 And a(m + i - 4, n + i - 4) = 1 Then MsgBox 黑方勝利! wuziqi = False Exit Sub End If If a(m + i, n + i) = 2 And a(m + i - 1, n + i - 1) = 2
27、And a(m + i - 2, n + i - 2) = 2 And a(m + i - 3, n + i - 3) = 2 And a(m + i - 4, n + i - 4) = 2 Then MsgBox 白方勝利! wuziqi = False Exit Sub End If Next End If End Sub Private Sub 保存棋局 _Click() Form3.Show End Sub Private Sub 打開已保存棋局 _Click() Form4.Show End Sub Private Sub 悔棋 _Click() If wuziqi = True T
28、hen a(m, n) = 0 Call paint End If End Sub Private Sub 保存棋局文件 _Click() CommonDialog1.Filter = *.wzq/*.wzq CommonDialog1.Action = 2 Open CommonDialog1.FileName For Output As #1 Print #1, wuziqi For i = -7 To 7 For j = -7 To 7 If a(i, j) 0 Then Print #1, i Print #1, j Print #1, a(i, j) Print #1, b Prin
29、t #1, w End If Next Next Close #1 End Sub Private Sub 打開棋局文件 _Click() For i = -7 To 7 For j = -7 To 7 a(i, j) = 0 Next Next CommonDialog1.Filter = *.wzq/*.wzq CommonDialog1.Action = 1 Open CommonDialog1.FileName For Input As #1 Line Input #1, strwzq wuziqi = CBool(strwzq) Do While Not EOF(1) Line In
30、put #1, stri Line Input #1, strj Line Input #1, stra Line Input #1, strb Line Input #1, strw a(Val(stri), Val(strj) = Val(stra) Loop Close #1 Call paint End Sub Form 3 Dim reco unt As In teger Private Sub Comma nd1_Click() With Data1 五子棋棋庫.mdb .RecordSource =五子棋棋庫 .Refresh If Trim(Text1.Text) = The
31、n MsgBox 棋局名不能為空” Exit Sub End If If .Recordset.RecordCou nt 0 The n .Recordset.MoveLast reco unt = .Recordset.RecordCo unt .Recordset.MoveFirst For i = 1 To reco unt If .Recordset.Fields(” 棋局名)=Text1.Text Then .Recordset.Delete End If If Not .Recordset.EOF Then .Recordset.MoveNext End If Next End I
32、f For i = -7 To 7 For j = -7 To 7 If a(i, j) 0 Then .Recordset.AddNew .Recordset.Fields( 棋局名 ) = Text1.Text .Recordset.Fields( 執(zhí)黑棋者 ) = b .Recordset.Fields( 執(zhí)白棋者 ) = w .Recordset.Fields(X 坐標 ) = i .Recordset.Fields(Y 坐標 ) = j .Recordset.Fields( 該點狀態(tài)值 ) = a(i, j) .Recordset.Fields( 下棋狀態(tài) ) = wuziqi .Recordset.Update End If Next Next Unload Me End With End Sub Form 4 Dim reco unt As In teger Private Sub Form_Load() Combol.Text =請選擇所要打開的棋局 ” strf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚慶行業(yè)前臺工作總結(jié)
- 定制家具設(shè)計師工作要點
- 《美麗的海洋世界》課件
- 購物服務(wù)員工作總結(jié)
- 前臺文員情緒智力提升方案計劃
- 《苗木霜害怎么預(yù)防》課件
- 2024年廣東省汕尾市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年甘肅省嘉峪關(guān)市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年四川省雅安市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2021年云南省楚雄自治州公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 培智三年級上冊生活語文期末測試卷(A)
- GB/T 13296-2023鍋爐、熱交換器用不銹鋼無縫鋼管
- JCT2381-2016 修補砂漿標準
- 新加坡學(xué)習(xí)匯報
- 人工智能與機器學(xué)習(xí)基礎(chǔ)課程
- 辦公大樓物業(yè)服務(wù)投標方案(完整技術(shù)標)
- 高速公路隧道工程施工方案
- 中國營養(yǎng)科學(xué)全書
- 針灸推拿試題(附參考答案)
- 《機械制圖》說課課件-畫組合體視圖的方法和步驟
- 2023-2024學(xué)年成都市錦江區(qū)四年級數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含答案
評論
0/150
提交評論