vb課程設(shè)計(jì)報(bào)告--英語詞匯游戲_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  VB課程設(shè)計(jì)報(bào)告</b></p><p><b>  題目:英語詞匯游戲</b></p><p>  姓 名: xxx </p><p>  學(xué) 號(hào):xxxxx </p><p>  院 系: xxxx</p><p>  指導(dǎo)老

2、師: xxxx</p><p><b>  目錄</b></p><p>  課程設(shè)計(jì)目的....................1</p><p>  課程設(shè)計(jì)題目及簡(jiǎn)介...............1</p><p>  設(shè)計(jì)方法簡(jiǎn)介.....................1</p><p>

3、;  部分源代碼實(shí)現(xiàn)...................2</p><p>  運(yùn)行結(jié)果截圖顯示.................7</p><p>  心得與體會(huì).......。..............15</p><p><b>  課程設(shè)計(jì)目的:</b></p><p>  隨著計(jì)算機(jī)、計(jì)算機(jī)應(yīng)用技術(shù)的不斷發(fā)

4、展,計(jì)算機(jī)應(yīng)用已經(jīng)深入到政治、經(jīng)濟(jì)、軍事、教育、生活的各個(gè)領(lǐng)域,計(jì)算機(jī)軟件是計(jì)算機(jī)應(yīng)用的核心內(nèi)容,作為開發(fā)計(jì)算機(jī)軟件的程序設(shè)計(jì)顯得尤為重要。VB程序開發(fā)語言以其簡(jiǎn)單易學(xué)的特性,在全社會(huì)得到廣泛的使用和推廣,各行各業(yè)的人員通過學(xué)習(xí)VB程序開發(fā)語言,能夠很快的成為計(jì)算機(jī)和信息技術(shù)應(yīng)用的開發(fā)者。</p><p>  本次課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦的,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)踐有機(jī)的結(jié)合起來,鍛煉

5、學(xué)生的分析解決實(shí)際問題的能力,提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。</p><p>  二.課程設(shè)計(jì)題目及簡(jiǎn)介:</p><p>  英語詞匯連接游戲通過在給出的英語單詞和中文含義之間進(jìn)行連接來學(xué)習(xí)英語。游戲按照英語字典的順序,系統(tǒng)地安排從A到Z的不同游戲小局,用戶可以根據(jù)自己的情況選擇進(jìn)行娛樂學(xué)習(xí),并給出學(xué)習(xí)效果評(píng)價(jià)。通過反復(fù)游戲,用戶可以提高英語單詞詞匯量,在用戶從A到Z地選擇不同游戲小

6、局后,將在顯示界面上出現(xiàn)10個(gè)英語單詞的英文及對(duì)應(yīng)中文卡片,同時(shí)進(jìn)行10s計(jì)時(shí),時(shí)間到了,將出現(xiàn)下一組10個(gè)英語單詞的英文及對(duì)應(yīng)的中文卡片,直至游戲小局結(jié)束。同時(shí),對(duì)連接正確的進(jìn)行計(jì)數(shù),給出學(xué)習(xí)效果。</p><p><b>  設(shè)計(jì)方法簡(jiǎn)介:</b></p><p>  本次課程設(shè)計(jì)英語單詞按照文件進(jìn)行組織,從A到Z組織成26個(gè)文件。每個(gè)文件每一行由單詞英文,單詞中

7、文構(gòu)成,例如:?jiǎn)卧~1英文、單詞1中文、單詞2英文、單詞2中文、......、單詞n英文,單詞n中文。</p><p><b>  數(shù)據(jù)流程圖如下:</b></p><p><b>  功能結(jié)構(gòu)圖如下:</b></p><p>  部分源代碼實(shí)現(xiàn)如下:</p><p>  ublic Class wo

8、rdlink</p><p>  Dim currentgame As String = ""</p><p>  Dim gamenow As String = "0"</p><p>  Dim gameover As Boolean = False</p><p>  Dim words(10,

9、2) As String</p><p>  Dim wordscoor(10, 2) As String</p><p>  Dim first As Integer = -1</p><p>  Dim second As Integer = -1</p><p>  Dim nums As Integer = 0</p>

10、<p>  Dim totalwords As String = ""</p><p>  Dim wordstring As String = ""</p><p>  Dim currentwords As Integer = 1</p><p>  Dim openmidi As Boolean = False

11、</p><p>  Dim seconds As Integer = 0</p><p>  Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" ()</p><p>  Private Sub game_SelectedIndexCh

12、anged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles game.SelectedIndexChanged</p><p>  Dim filename As String</p><p>  currentgame = game.GetItemText(game.SelectedItem)<

13、/p><p>  filename = currentgame + ".text"</p><p>  If readwords(filename) Then</p><p><b>  nums = 0</b></p><p>  matchnum.Text = nums.ToString</p&

14、gt;<p>  ProgressBar1.Value = 0</p><p>  checkclear(0)</p><p>  checkclear(3)</p><p>  first = -1</p><p>  second = -1</p><p>  wordstring = getword

15、s()</p><p>  splitword()</p><p>  ProgressBar1.Step = Int(550 / (5 * currentwords / 2))</p><p>  checkclear(2)</p><p>  Timer2.enabled = True</p><p><b&

16、gt;  End If</b></p><p><b>  End Sub</b></p><p>  Private Function readwords(ByVal file As String) As Boolean</p><p>  readwords = False</p><p>  If Sy

17、stem.IO.File.Exists(file) Then</p><p>  totalwords = System.IO.File.ReadAllText(file)</p><p>  If totalwords.Trim.Length <= 0 Then</p><p>  MsgBox(file + "文件沒有內(nèi)容!", Msg

18、BoxStyle.Exclamation, "請(qǐng)檢查文件!")</p><p>  gameover = True</p><p><b>  Else</b></p><p>  gameover = False</p><p>  readwords = True</p><p

19、><b>  End If</b></p><p><b>  Else</b></p><p>  MsgBox(file + "文件不存在!", MsgBoxStyle.Exclamation, "請(qǐng)檢查文件!")</p><p>  gameover = True<

20、/p><p><b>  End If</b></p><p>  End Function</p><p>  Private Function getwords() As String</p><p>  Dim mystr As String = ""</p><p>  D

21、im temp As String = ""</p><p>  Dim i As Integer = 0</p><p>  Do While i < 20</p><p>  temp = totalwords.Substring(0, totalwords.IndexOf(",") + 1)</p>

22、<p>  totalwords = totalwords.Substring(totalwords.IndexOf(",") + 1)</p><p>  If totalwords.Trim.Length >= 0 And temp.Trim.Length > 1 Then</p><p>  mystr = mystr + temp</

23、p><p>  currentwords = i + 1</p><p><b>  Else</b></p><p>  mystr = mystr + ","</p><p><b>  End If</b></p><p><b>  Loop

24、</b></p><p>  If totalwords.Trim.Length > 0 Then</p><p>  gameover = False</p><p><b>  Else</b></p><p>  gameover = True</p><p><b&

25、gt;  End If</b></p><p>  getwords = mystr</p><p>  End Function</p><p>  Private Sub splitword()</p><p>  Dim aword() As String</p><p>  Dim i, j As

26、Integer</p><p>  Dim splitchar() As String = {","}</p><p>  Dim gen As New System.Random</p><p>  Dim ok As Boolean = False</p><p>  Dim tempstr As String<

27、/p><p>  tempstr = wordstring</p><p>  For i = 0 To 9</p><p>  wordscoor(i, 0) = ""</p><p>  wordscoor(i, 1) = ""</p><p><b>  Next&l

28、t;/b></p><p><b>  i = 0</b></p><p><b>  j = 0</b></p><p>  aword = tempstr.Split(splitchar(0))</p><p>  For i = 0 To 9</p><p>  

29、words(i, 0) = aword(2 * i)</p><p>  words(i, 1) = aword(2 * i + 1)</p><p><b>  Next</b></p><p>  For i = 0 To 9</p><p>  ok = False</p><p>  Do

30、 While Not ok</p><p>  j = Int(gen.NextDouble * 10)</p><p>  tempstr = wordscoor(j, 0)</p><p>  If System.String.IsNullOrEmpty(tempstr) Then</p><p>  wordscoor(j, 0) =

31、words(i, 0)</p><p><b>  ok = True</b></p><p><b>  End If</b></p><p><b>  Loop</b></p><p><b>  Next</b></p><p&

32、gt;  For i = 0 To 9</p><p>  ok = False</p><p>  Do While Not ok</p><p>  j = Int(gen.NextDouble * 10)</p><p>  tempstr = wordscoor(j, 1)</p><p>  If Syste

33、m.String.IsNullOrEmpty(tempstr) Then</p><p>  wordscoor(j, 1) = words(i, 1)</p><p><b>  ok = True</b></p><p><b>  End If</b></p><p><b>  L

34、oop</b></p><p><b>  Next</b></p><p>  Me.Label1.Text = wordscoor(0, 0)</p><p>  Me.Label2.Text = wordscoor(1, 0)</p><p>  Me.Label3.Text = wordscoor(2

35、, 0)</p><p>  Me.Label4.Text = wordscoor(3, 0)</p><p>  Me.Label5.Text = wordscoor(4, 0)</p><p>  Me.Label6.Text = wordscoor(5, 0)</p><p>  Me.Label7.Text = wordscoor(6

36、, 0)</p><p>  Me.Label8.Text = wordscoor(7, 0)</p><p>  Me.Label9.Text = wordscoor(8, 0)</p><p>  Me.Label10.Text = wordscoor(9, 0)</p><p>  Me.Label11.Text = wordscoor

37、(0, 1)</p><p>  Me.Label12.Text = wordscoor(1, 1)</p><p>  Me.Label13.Text = wordscoor(2, 1)</p><p>  Me.Label14.Text = wordscoor(3, 1)</p><p>  Me.Label15.Text = words

38、coor(4, 1)</p><p>  Me.Label16.Text = wordscoor(5, 1)</p><p>  Me.Label17.Text = wordscoor(6, 1)</p><p>  Me.Label18.Text = wordscoor(7, 1)</p><p>  Me.Label19.Text = w

39、ordscoor(8, 1)</p><p>  Me.Label20.Text = wordscoor(9, 1)</p><p><b>  End Sub</b></p><p>  Private Sub musicplay_CheckedChanged(ByVal sender As System.Object, ByVal e As

40、 System.EventArgs) Handles musicplay.CheckedChanged</p><p><b>  End Sub</b></p><p>  Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer

41、2.Tick</p><p>  If openmidi And musicplay.Checked Then</p><p>  mciExecute("close sound")</p><p>  mciExecute("open ")</p><p>  mciExecute("pla

42、y sound")</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub wordlink_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

43、Handles MyBase.Load</p><p>  Timer2.Enabled = True</p><p><b>  End Sub</b></p><p>  Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

44、Handles Label1.Click</p><p>  Dim wd As String = ""</p><p>  Dim i As Integer</p><p>  wd = Label1.Text.Trim</p><p>  If wd.Length > 0 Then</p><

45、p>  If first >= 0 Or second >= 0 Then</p><p>  If first >= 0 Then</p><p>  If words(first, 1).ToString.Trim = wd Then</p><p>  nums = nums + 1</p><p>  matc

46、hnum.Text = nums.ToString</p><p>  Label1.Enabled = False</p><p>  first = -1</p><p>  second = -1</p><p>  checkclear(1)</p><p><b>  End If</b>

47、;</p><p><b>  Else</b></p><p>  If words(second, 0).ToString.Trim = wd Then</p><p>  nums = nums + 1</p><p>  Label1.Enabled = False</p><p>  m

48、atchnum.Text = nums.ToString</p><p>  first = -1</p><p>  second = -1</p><p>  checkclear(1)</p><p><b>  End If</b></p><p><b>  End If<

49、;/b></p><p><b>  Else</b></p><p>  For i = 0 To 9</p><p>  If words(i, 0).ToString.Trim = wd Then</p><p>  Label1.Enabled = False</p><p><

50、;b>  first = 1</b></p><p><b>  Exit For</b></p><p>  ElseIf words(i, 1).ToString.Trim = wd Then</p><p>  second = i</p><p>  Label1.Enabled = False

51、</p><p><b>  Exit For</b></p><p><b>  End If</b></p><p><b>  Next</b></p><p><b>  End If</b></p><p><b&g

52、t;  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick</p><p>  If

53、 ProgressBar1.Value + 1 <= 100 Then</p><p>  seconds = seconds + 1</p><p>  secnum.Text = seconds.ToString</p><p><b>  Else</b></p><p>  Timer1.Enabled =

54、 False</p><p>  ProgressBar1.Value = 0</p><p>  checkclear(2)</p><p>  checkclear(0)</p><p>  checkclear(3)</p><p>  first = -1</p><p>  secon

55、d = -1</p><p>  If Not gameover Then</p><p>  wordstring = getwords()</p><p>  ProgressBar1.Step = Int(550 / (5 * currentwords / 2))</p><p>  splitword()</p><

56、;p>  checkclear(2)</p><p>  Timer1.Enabled = True</p><p><b>  Else</b></p><p><b>  nums = 0</b></p><p>  seconds = 0</p><p><

57、b>  End If</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub allover_Click(ByVal sender As System.Object, ByVal e As System.Ev

58、entArgs) Handles allover.Click</p><p>  Application.Exit()</p><p><b>  End Sub</b></p><p><b>  End Class</b></p><p><b>  運(yùn)行結(jié)果截圖顯示</b>

59、;</p><p><b>  主窗體效果如圖</b></p><p>  窗體main添加進(jìn)度控件效果</p><p>  窗體mian添加時(shí)間按鈕控件效果</p><p>  窗體mian添加多個(gè)標(biāo)簽控件效果</p><p><b>  實(shí)例全局變量初始化</b><

60、/p><p><b>  代碼設(shè)計(jì)窗口</b></p><p>  輸入生成單詞文件名稱的代碼效果</p><p>  輸入讀取文件內(nèi)容代碼效果</p><p>  變量,控制賦初值代碼輸入后效果</p><p>  變量,控件賦初值代碼輸入后效果</p><p>  單詞序列

61、分組,排列和游戲計(jì)時(shí)設(shè)置代碼輸入效果</p><p><b>  心得與體會(huì):</b></p><p>  VB程序設(shè)計(jì)的入門學(xué)習(xí)并不難,但卻是一個(gè)十分重要的過程,因?yàn)槌绦蛟O(shè)計(jì)思想的形成,以及之前學(xué)習(xí)積累的經(jīng)驗(yàn),很快就對(duì)VB有了一定的了解。下面就是我這段時(shí)間學(xué)習(xí)的新的與體會(huì)。</p><p>  我認(rèn)為作為學(xué)習(xí)程序設(shè)計(jì)最重要的一點(diǎn)是要注重理解一

62、些重要的概念.VB程序設(shè)計(jì)本身并不復(fù)雜,翻開一本程序設(shè)計(jì)學(xué)習(xí)的書籍,看到的無非就是變量,函數(shù),條件語句,循環(huán)語句等概念.但要真正能進(jìn)行程序設(shè)計(jì),需要深入理解這些概念.因此,在 程序入門階段還是應(yīng)該重視概念的學(xué)習(xí).我們學(xué)習(xí)VB并沒有從正常的途徑,而是通過老師的演示與講解,了解并學(xué)習(xí)了這門課程,可以說VB語言相對(duì)來說比其他語言簡(jiǎn)單,從他的語法就可以看出</p><p>  其次,自己動(dòng)手編寫程序。程序設(shè)計(jì)入門階段要經(jīng)

63、常自己動(dòng)手抄寫或編寫一些小程序,親自動(dòng)手進(jìn)行程序設(shè)計(jì)是創(chuàng)造性思維應(yīng)用的體現(xiàn),是培養(yǎng)邏輯思維的好方法.因此一定要多動(dòng)手編寫程序,而且要從小程序開發(fā)開始,逐漸提高寫程序的能力.只有不斷的從自己的程序中積累經(jīng)驗(yàn),從中進(jìn)步,才能寫出好的程序。程序設(shè)計(jì)課是高強(qiáng)度的腦力勞動(dòng),不是聽會(huì)的,也不是看會(huì)的,而是練會(huì)的.只有自己動(dòng)手,編寫一些程序,才會(huì)有成就感,進(jìn)而對(duì)課程產(chǎn)生興趣,學(xué)起來才比較從容.動(dòng)手能力的培養(yǎng)是這門課和以往課程最大的不同之處.重點(diǎn)放在思

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論