找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
感激所有對伊莉作出奉獻的人尊貴會員無限觀看附件圖片伊莉需要你的贊助和支持
fc2進擊的巨vr世紀帝國中字無碼 ge
abf 099我的弟子sara退魔師レ幼稚園南橘子幸福家里

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

城管沒收百姓烤爐 結

[繁]轉生貴族憑鑑定技

快艇正妹豪乳吸睛

(4月新番)[繁]為美好

✡ 斗破蒼穹 年番/鬥

[簡]狼與辛香料 Merch
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4410|回復: 5
打印上一主題下一主題

[求助]Visual basic 6.0圈圈叉叉的遊戲[複製鏈接]

Rank: 2Rank: 2

帖子
202
積分
946 點
潛水值
19679 米
跳轉到指定樓層
樓主
發表於 2009-4-23 04:37 PM|只看該作者|倒序瀏覽
本帖最後由 arthurliuliu 於 2010-6-23 08:59 AM 編輯
  1. - -----------------------------------------------
  2. Const row = 10
  3. Const col = 10
  4. Dim state(row, col) As Integer
  5. Dim xgrid As Integer
  6. Dim ygrid As Integer
  7. ' -----------------------------------------------
  8. Private Sub Form_Activate()
  9. xgrid = ScaleWidth / col         ' 求小方格寬度
  10. ygrid = ScaleHeight / row        ' 求小方格高度
  11. For i = 0 To (row - 1)
  12.     For j = 0 To (col - 1)
  13.         X1 = i * xgrid           ' 矩形左上角
  14.         Y1 = j * ygrid
  15.         X2 = (i + 1) * xgrid     ' 矩形右下角
  16.         Y2 = (j + 1) * ygrid
  17.         Line (X1, Y1)-(X2, Y2), , B   ' 繪方格
  18.     Next j
  19. Next i
  20. End Sub
  21. ' -----------------------------------------------
  22. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  23. Dim r As Integer
  24. r = 140
  25. X = X \ xgrid                    ' 求欲處理的方格位置
  26. Y = Y \ ygrid
  27. cx = (X * xgrid + (X + 1) * xgrid) / 2   ' 中心點
  28. cy = (Y * ygrid + (Y + 1) * ygrid) / 2
  29. black = RGB(0, 0, 0)
  30. white = RGB(255, 255, 255)
  31. If (Button = 1) Then             ' 按滑鼠左邊鍵
  32.     If state(X, Y) = 0 Then
  33.         Circle (cx, cy), r, black        ' 繪圓
  34.         state(X, Y) = 1
  35.     ElseIf state(X, Y) = 1 Then
  36.         Circle (cx, cy), r, white        ' 清除圓
  37.         state(X, Y) = 0
  38.     End If
  39. End If
  40. If (Button = 2) Then             ' 按滑鼠右邊鍵
  41.     If state(X, Y) = 0 Then      ' 繪交叉線
  42.         Line (cx - r, cy - r)-(cx + r, cy + r), black
  43.         Line (cx - r, cy + r)-(cx + r, cy - r), black
  44.         state(X, Y) = 2
  45.     ElseIf state(X, Y) = 2 Then  ' 清除交叉線
  46.         Line (cx - r, cy - r)-(cx + r, cy + r), white
  47.         Line (cx - r, cy + r)-(cx + r, cy - r), white
  48.         state(X, Y) = 0
  49.     End If
  50. End If
  51. End Sub
複製代碼

利用上式程式改寫成圈圈叉叉的遊戲,叉叉或圈圈連續3個
連成一直線,會出現"GAME OVER"字樣。...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持1
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Joseph77 該用戶已被刪除
頭香
發表於 2009-4-25 03:27 PM|只看該作者
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
本帖最後由 arthurliuliu 於 2010-6-23 08:59 AM 編輯
  1. Const row = 10
  2. Const col = 10
  3. Dim state(row, col) As Integer
  4. Dim xgrid As Integer
  5. Dim ygrid As Integer
  6. ' -----------------------------------------------
  7. Private Sub Form_Activate()
  8. xgrid = ScaleWidth / col         ' 求小方格寬度
  9. ygrid = ScaleHeight / row        ' 求小方格高度
  10. For i = 0 To (row - 1)
  11.     For j = 0 To (col - 1)
  12.         X1 = i * xgrid           ' 矩形左上角
  13.         Y1 = j * ygrid
  14.         X2 = (i + 1) * xgrid     ' 矩形右下角
  15.         Y2 = (j + 1) * ygrid
  16.         Line (X1, Y1)-(X2, Y2), , B   ' 繪方格
  17.     Next j
  18. Next i
  19. End Sub
  20. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  21. Dim r As Integer
  22. Dim PicState As Integer
  23. r = 140
  24. X = X \ xgrid                    ' 求欲處理的方格位置
  25. Y = Y \ ygrid
  26. cx = (X * xgrid + (X + 1) * xgrid) / 2   ' 中心點
  27. cy = (Y * ygrid + (Y + 1) * ygrid) / 2
  28. black = RGB(0, 0, 0)
  29. white = RGB(255, 255, 255)
  30. FormColor = Form1.BackColor            =============>增加此敍述
  31. If (Button = 1) Then             ' 按滑鼠左邊鍵
  32.     If state(X, Y) = 0 Then
  33.         Circle (cx, cy), r, black        ' 繪圓
  34.         state(X, Y) = 1
  35.         GameOver = IsGameOver(X, Y, 1)    ========>增加此敍述
  36.         If GameOver = "Game Over" Then MsgBox "game over" & vbCrLf & vbCrLf & "O 獲勝!!"        ========>增加此敍述
  37.     ElseIf state(X, Y) = 1 Then
  38.         Circle (cx, cy), r, FormColor        ' 清除圓
  39.         state(X, Y) = 0
  40.     End If
  41. End If
  42. If (Button = 2) Then             ' 按滑鼠右邊鍵
  43.     If state(X, Y) = 0 Then      ' 繪交叉線
  44.         Line (cx - r, cy - r)-(cx + r, cy + r), black
  45.         Line (cx - r, cy + r)-(cx + r, cy - r), black
  46.         state(X, Y) = 2
  47.         GameOver = IsGameOver(X, Y, 2)  ========>增加此敍述
  48.         If GameOver = "Game Over" Then MsgBox "game over" & vbCrLf & vbCrLf & "X 獲勝!!"     ========>增加此敍述
  49.     ElseIf state(X, Y) = 2 Then  ' 清除交叉線
  50.         Line (cx - r, cy - r)-(cx + r, cy + r), FormColor   '這裡建議改成表單的背景顏色
  51.         Line (cx - r, cy + r)-(cx + r, cy - r), FormColor
  52.         state(X, Y) = 0
  53.     End If
  54. End If
  55. End Sub


  56. Function IsGameOver(X_val As Single, Y_val As Single, status As Integer) As String
  57. Dim num1, num2, num3, num4 As Integer
  58. Dim X1, X2, Y1, Y2 As Single
  59. Dim i, j, k, L, m, n, p, q As Integer
  60. num1 = 1
  61. num2 = 1
  62. num3 = 1
  63. num4 = 1
  64. X2 = X_val
  65. Y2 = Y_val

  66. '------判斷橫的-------------------------------
  67. X1 = X2: Y1 = Y2
  68. For i = X1 - 1 To 0 Step -1
  69.   If state(i, Y1) = status Then
  70.      num1 = num1 + 1
  71.   Else
  72.      Exit For
  73.   End If
  74. Next
  75. X1 = X2
  76. For j = X1 + 1 To 9
  77.   If state(j, Y1) = status Then
  78.      num1 = num1 + 1
  79.   Else
  80.      Exit For
  81.   End If
  82. Next
  83. '||||||判斷直的||||||||||||||||||||||||||||||||||||
  84. X1 = X2: Y1 = Y2
  85. For k = Y1 - 1 To 0 Step -1
  86.   If state(X1, k) = status Then
  87.      num2 = num2 + 1
  88.   Else
  89.      Exit For
  90.   End If
  91. Next
  92. Y1 = Y2
  93. For L = Y1 + 1 To 9
  94.   If state(X1, L) = status Then
  95.      num2 = num2 + 1
  96.   Else
  97.      Exit For
  98.   End If
  99. Next
  100. '///////判斷右上~左下////////////////////////////////////
  101. X1 = X2: Y1 = Y2
  102. For m = X1 - 1 To 0 Step -1
  103.   Y1 = Y1 + 1
  104.   If Y1 <= 9 Then
  105.     If state(m, Y1) = status Then
  106.        num3 = num3 + 1
  107.     Else
  108.        Exit For
  109.     End If
  110.   End If
  111. Next
  112. X1 = X2: Y1 = Y2
  113. For n = X1 + 1 To 9
  114.   Y1 = Y1 - 1
  115.   If Y1 >= 0 Then
  116.     If state(n, Y1) = status Then
  117.        num3 = num3 + 1
  118.     Else
  119.        Exit For
  120.     End If
  121.   End If
  122. Next
  123. '\\\\\\\判斷左上~右下\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  124. X1 = X2: Y1 = Y2
  125. For p = X1 - 1 To 0 Step -1
  126.   Y1 = Y1 - 1
  127.   If Y1 >= 0 Then
  128.     If state(p, Y1) = status Then
  129.        num4 = num4 + 1
  130.     Else
  131.        Exit For
  132.     End If
  133.   End If
  134. Next
  135. X1 = X2: Y1 = Y2
  136. For q = X1 + 1 To 9
  137.   Y1 = Y1 + 1
  138.   If Y1 <= 9 Then
  139.     If state(q, Y1) = status Then
  140.        num4 = num4 + 1
  141.     Else
  142.        Exit For
  143.     End If
  144.   End If
  145. Next

  146. If num1 >= 3 Or num2 >= 3 Or num3 >= 3 Or num4 >= 3 Then
  147. IsGameOver = "Game Over"
  148. Else
  149. IsGameOver = ""
  150. End If
  151. End Function
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

wh1023 該用戶已被刪除
3
發表於 2009-5-6 10:24 AM|只看該作者
對初學者來說,這真是給了我很大的幫助呢!!
謝謝以上兩位前輩的分享!!
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

琳君 該用戶已被刪除
4
發表於 2009-5-7 11:13 PM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
圈圈叉叉!!
我想做連線的圈圈叉叉!
希望大大可以多給伊些意見
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

Rank: 1

帖子
122
積分
93 點
潛水值
6399 米
5
發表於 2010-6-23 08:28 AM|只看該作者
It's so great sample of Visual Basic,受益良多啊~~~




回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

帖子
0
積分
0 點
潛水值
1230 米
6
發表於 2010-7-13 11:57 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 niceday1008 於 2010-7-14 12:34 PM 編輯

正在學習vb中,沒基礎真的有點難度。
謝謝大大分享~
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部