用excel VBA 可以做哪些簡單的小遊戲?

題主大一新生 VBA學了點兒皮毛 期末project 是用excel vba做一個小遊戲 要求有一定的教育意義 用loop 用array 大於100個elements 題主平時不玩兒遊戲所以一拿到就不知道該怎麼辦了……求各位大神幫忙


寫了個2048 藏在工作用的表格里, 老闆來了,直接enter 隱藏, 樂趣多多。


比如 Excel+VBA製作數獨(一):演算法篇 - 扯乎 - 知乎專欄

或者 Excel+VBA製作小遊戲:翻卡牌 - 扯乎 - 知乎專欄


像這樣。。我做的掃雷。。

主要實現方法是Worksheet_BeforeDoubleClick和Worksheet_BeforeRightClick。。

至於為什麼必須是雙擊,那是因為單擊實現不了,真的是理論上實現不了(如果基於工作表的話)。

關於地雷的生成。

雷的總數是有限的,開始先摞一起,然後按順序隨機地跟空白的地方交換順序。這樣就有隨機分布的雷了。

整個代碼,我寫了2天,上班時偷偷寫的。。

曾經嘗試用單擊來踩地板,想了很久,發現理論上是不可能的,於是決定用雙擊,所以耽誤了不少時間。

感覺最難的部分是踩雷爆炸之後的處理,邏輯比較複雜,想了好久才把邏輯改對。

踩雷爆炸之後。。

/*圖已刪*/

通關之後。。

/*圖已刪*/

隱藏在另一個工作表上的答案,哈哈哈哈。

/*圖已刪*/

代碼我就不貼了,畢竟自己的親閨女不想給別人看光光。。

===================================================

另外我在給一些思路(也是我最近如果工作空下來準備做的)。

算是拋磚了。。

如果時間充裕的話,可以做棋類AI(完全信息博弈),除了圍棋,五子棋國際象棋什麼的,excel都可以做。

方法就是窮舉,迭代。每走一步,就把敵人最優的局面記下來。所有敵人最優的局面中最差的一個,就是我方的最優走法。

AI設計演算法上有點難的話,大富翁之類的遊戲寫起來應該不難。。

如果編程能力不行,文字冒險遊戲總能做吧。

做個小人,用Worksheet_SelectionChange,讓小人跟著選中框走,走到不同的地方能有不同的情節。不同選項會導致不同的分支。。比如魔塔這樣的。

同意 @趙雅君的觀點,只要不是實時交互的遊戲,VBA無所不能。


你認識我太晚了


請搜索excel殺


private declare function settimer lib "user32.dll" (byval hwnd as long, byval nidevent as long, byval uelapse as long, byval lptimerfunc as long) as long

private declare function killtimer lib "user32.dll" (byval hwnd as long, byval nidevent as long) as long

這一對小糖果能讓你的excel vba 小遊戲之旅插上圖形動畫的翅膀


VBA這輛破車再開的話會散架的,題主可能遊戲運行到一半垮掉了


掃雷。


vba做什麼不好要做遊戲……建議做一些有使用價值的


俄羅斯方塊


推薦閱讀:

Excel VBA 基礎(02.1)
VBA逐句注釋:文本透視
【Excel技巧】- VBA代碼提示運行時錯誤 '1004': 應用程序定義或對象定義錯誤
64位的excel與32位的excel相比,有哪些優缺點?64位的excel使用體驗如何?
手把手教你VBA

TAG:遊戲 | 計算機 | 計算機科學 | VBA |