APP下载

基于Excel消灭星星游戏设计及意义

2020-04-05李欢悦

计算机时代 2020年2期
关键词:游戏设计

李欢悦

摘  要: 主要介绍经典消灭星星手机游戏的特点及开发情况,阐述在Excel环境下消灭星星游戏的设计、实现及其特点。Excel中隐含VBA程序设计语言,作为一个例子,文章给出了在Excel基础上结合VBA程序设计语言,设计实现消灭星星游戏的具体方法。由此来说明利用VBA与Excel基本功能相结合,可以更深入地发挥Excel的效能。在Excel应用教学中,适当介绍VBA例子,让学生了解VBA的高效率和灵活性,将会引导激发学生更加深入地学习Excel这一应用软件。

关键词: EXCEL; VBA; 消灭星星; 游戏设计

中图分类号:TP311.1          文献标识码:A    文章编号:1006-8228(2020)02-81-03

Designing game PopStar with Excel and the significance

Li Huanyue

(Shantou Polytechnic, Shantou, Guangdong 515041, China)

Abstract: This paper introduces the characteristics and the development of the classic mobile game PopStar, and expounds the design, implementation and feature of the operating game in Excel environment. The VBA programming language is included in Excel, as an example, this paper shows the concrete method to design the game Popstar with VBA language of Excel. It also shows that when VBA combines with the basic functions of Excel, Excel can be used better. In the teaching of Excel application, it is necessary to introduce VBA examples properly to let students understand the high efficiency and flexibility of VBA, which will lead students to learn Excel more deeply.

Key words: EXCEL; VBA; PopStar; game design

0 开发背景及意义

现在大部分人都使用智能手机,并且通常都会在手机中装一些游戏,特别是年轻人使用的手机。其中消灭星星游戏是一个益智、小巧、易玩而且好玩的小游戏,深受大家的喜爱。这个手机游戏的开发设计,大部分是基于Android[1-2]系统平台,利用Lgame[3]游戏引擎开发完成。这里要介绍的是基于办公软件Office的Excel环境开发设计的消灭星星游戏。这个游戏对运行环境没有特别的要求,在个人电脑系统中安装Office2007以上版本软件就可以,不必借助其他任何工具就能实现。

当前,对于在校的青年学生来说,他们都熟悉消灭星星这个游戏,若在他们学习Excel过程中,通过向他们展示Excel环境下消灭星星这一游戏,让他们认识到Excel还能做这些。介绍一些Excel环境下的VBA[4-5]设计,使他们认识VBA的高效率和灵活性,这将大大激发他们对Excel的学习兴趣,提高学习Excel的积极性。使他们更加深入地去挖掘Excel的应用,并将其应用到实际工作中。特别是对于计算机专业的新生来说,通过这个游戏的设计体验,能更好地煅炼他们的思维和算法设计能力,对后继学习起到激励和帮助的作用。

1 消灭星星游戏程序流程图 (图1)

2 消灭星星游戏界面及主要模块 (图2)

3 主要模塊代码

Public Sub pass() '每关初始化

g = g + 1        '关数

gg = 0         '过关标志为未过关

test = True      '有相连同色块

sy = 100        '剩余色块,开始100块

Cells(2, 5).Value = g

For i = 1 To 10

For j = 1 To 10

Cells(i + 4, j + 3).Interior.ColorIndex = Int(5 * Rnd() + 3)   '随机填充3-7号色

Next j

Next i

Range("K3").Select

ggs = g * (2000 + (g - 1) * 200) / 2  '首关1000,每关公差200,计算第g关的总分

Cells(3, 6).Value = ggs    '显示第g关应达到总分

End Sub

Public Sub Clear()

x = ActiveCell.Row

y = ActiveCell.Column

c = ActiveCell.Interior.ColorIndex

ks = 1    '计算色块变量

Call popstar(x, y, c)

Call score     '计算总分

End Sub

Public Sub popstar(ByVal x As Integer, ByVal y As Integer, ByVal c As Integer)  '消除色块

'方法:检测点击的单元格(中心点)左右上下单元格的颜色是否与点击的单元格颜色相同,相同则消除中心点及左(右、上、下)格颜色。然后向左右上下四个方向移动中心点,迭代调用本过程。

If Cells(x, y - 1).Interior.ColorIndex = c Then   '活动单元格的左格是否同色

ActiveCell.Interior.ColorIndex = 0         '消除活动单元格颜色

Cells(x, y - 1).Interior.ColorIndex = 0      '消除左格颜色

ks = ks + 1

y = y - 1    '中心点向左移一格

If y > 3 Then    '若未超过左边界,向左消除同色块

Call popstar(x, y, c)    '迭代調用本过程

y = y + 1      '中心点复位

End If

End If

If Cells(x, y + 1).Interior.ColorIndex = c Then

ActiveCell.Interior.ColorIndex = 0   '0表示无填充色

Cells(x, y + 1).Interior.ColorIndex = 0

ks = ks + 1

y = y + 1       '向右消除同色块

If y < 14 Then

Call popstar(x, y, c)

y = y - 1

End If

End If

If Cells(x - 1, y).Interior.ColorIndex = c Then

ActiveCell.Interior.ColorIndex = 0

Cells(x - 1, y).Interior.ColorIndex = 0

ks = ks + 1

x = x - 1   '向上消除同色块

If x > 4 Then

Call popstar(x, y, c)

x = x + 1

End If

End If

If Cells(x + 1, y).Interior.ColorIndex = c Then

ActiveCell.Interior.ColorIndex = 0

Cells(x + 1, y).Interior.ColorIndex = 0

ks = ks + 1

x = x + 1   '向下消除同色块

If x < 15 Then

Call popstar(x, y, c)

x = x - 1

End If

End If

End Sub

4 界面运行效果图

界面效果图(图3)

运行效果图(图4)

5 结束语

此游戏在Excel环境下利用VBA设计实现。游戏只有一个文件,很小巧,代码也很简单。界面简洁、美观,利用Excel本身的显示可缩放性,界面同样可缩小放大,窗口位置也可移动,可自行调整到满意。运行速度较快,场景简单、实用。场景效果没有手机版本的华丽动画,也没有声音效果,这是美中不足之处。对于在办公之余,用这游戏放松一下,还是很不错的,而且没有烦人的广告。重要的是,通过此游戏的设计实现,说明Excel并不是仅能做数据报表、数据分析和图表等,它还包含程序设计功能,然而这方面往往被人们忽视了。若能在应用Excel时,结合VBA程序设计功能,将能大大地发挥Excel的潜能,达到事半功倍的效果。另外在Excel的教学中适当介绍VAB的一些例子,对于初学编程的学生、学习Excel应用的学生,能引导激发他们发挥VBA的作用。

参考文献(References):

[1] 刘甫迎,刘焱. Android移动编程实用教程[M].电子工业出版社,2012.

[2] CSND 刘桂林 Android系统篇(一)——建立Android系统开发环境  https://blog.csdn.net/qq_26787115/article/details/79543340

[3] 百度文库 朱林. 基于Android消灭星星游戏的设计与实现

https://wenku.baidu.com/view/5fe13a5f5022aaea 998f0fd1.html

[4] 杰诚文化.Excel2007财务管理范例应用[M].中国青年出版社,2008.

[5] 宋伟,吴建国等.中文Visual Basic 6.0高级编程[M].清华大学出版社,1999.

猜你喜欢

游戏设计
VR技术现况及其未来对游戏设计的影响
小学低年级语文游戏教学设计探讨
让小学英语阅读教学焕发生机
分析小学体育游戏的设计与合理运用