范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

excel宏关于迷宫全部代码

  下面分享一下迷宫的全部宏代码,虽然运行速度不快,但是好在可以正常运行。
  其中两个function和一个sub是用来调用的。shang、xia、zuo、you四个sub的代码几乎相同,并且都会调用aaranse,用来表示按键操作时,角色向哪个方向移动。migong用来生成新的迷宫地图,要调用两个function,其中ffkaimen用来表示生成迷宫时打开两个单元格之间的通道;ffxinbianjie用来刷新已完成的迷宫边界。kaishi用来表示手动操作角色通过迷宫正式开始了。快捷键能够起作用的前提是,先录制宏,设置好快捷键,然后将这里每一个宏里的代码复制到录制好的对应的宏里面去。
  Option Explicit
  Sub shang()
  "
  " shang 宏
  "
  " 快捷键: Ctrl+w
  "
  Dim HH1, LL1, ii, jj, Hj1, Lj1 As Long
  HH1 = ActiveSheet.UsedRange.Rows.Count
  LL1 = ActiveSheet.UsedRange.Columns.Count
  Hj1 = -1
  Lj1 = 0
  For jj = 2 To LL1
  For ii = 2 To HH1
  If Cells(ii, jj).Interior.Color = RGB(255, 0, 255) And _
  Cells(ii, jj).Borders(xlEdgeTop).LineStyle = xlNone And _
  Cells(ii + Hj1, jj + Lj1).Borders(xlEdgeBottom).LineStyle = xlNone Then
  Call aaRanse(ii, jj, Hj1, Lj1)
  GoTo Jieshu
  End If
  Next ii
  Next jj
  Jieshu:
  End Sub
  Sub xia()
  "
  " xia 宏
  "
  " 快捷键: Ctrl+s
  Dim HH1, LL1, ii, jj, Hj1, Lj1 As Long
  HH1 = ActiveSheet.UsedRange.Rows.Count
  LL1 = ActiveSheet.UsedRange.Columns.Count
  Hj1 = 1
  Lj1 = 0
  For jj = 2 To LL1
  For ii = 2 To HH1
  If Cells(ii, jj).Interior.Color = RGB(255, 0, 255) And _
  Cells(ii, jj).Borders(xlEdgeBottom).LineStyle = xlNone And _
  Cells(ii + Hj1, jj + Lj1).Borders(xlEdgeTop).LineStyle = xlNone Then
  Call aaRanse(ii, jj, Hj1, Lj1)
  GoTo Jieshu
  End If
  Next ii
  Next jj
  Jieshu:
  End Sub
  Sub zuo()
  "
  " zuo 宏
  "
  " 快捷键: Ctrl+a
  "
  Dim HH1, LL1, ii, jj, Hj1, Lj1 As Long
  HH1 = ActiveSheet.UsedRange.Rows.Count
  LL1 = ActiveSheet.UsedRange.Columns.Count
  Hj1 = 0
  Lj1 = -1
  For jj = 2 To LL1
  For ii = 2 To HH1
  If Cells(ii, jj).Interior.Color = RGB(255, 0, 255) And _
  Cells(ii, jj).Borders(xlEdgeLeft).LineStyle = xlNone And _
  Cells(ii + Hj1, jj + Lj1).Borders(xlEdgeRight).LineStyle = xlNone Then
  Call aaRanse(ii, jj, Hj1, Lj1)
  GoTo Jieshu
  End If
  Next ii
  Next jj
  Jieshu:
  End Sub
  Sub you()
  "
  " you 宏
  "
  " 快捷键: Ctrl+d
  "
  Dim HH1, LL1, ii, jj, Hj1, Lj1 As Long
  HH1 = ActiveSheet.UsedRange.Rows.Count
  LL1 = ActiveSheet.UsedRange.Columns.Count
  Hj1 = 0
  Lj1 = 1
  For jj = 2 To LL1
  For ii = 2 To HH1
  If Cells(ii, jj).Interior.Color = RGB(255, 0, 255) And _
  Cells(ii, jj).Borders(xlEdgeRight).LineStyle = xlNone And _
  Cells(ii + Hj1, jj + Lj1).Borders(xlEdgeLeft).LineStyle = xlNone Then
  Call aaRanse(ii, jj, Hj1, Lj1)
  GoTo Jieshu
  End If
  Next ii
  Next jj
  Jieshu:
  End Sub
  Sub migong()
  "
  " migong 宏
  "
  " 快捷键: Ctrl+m
  "
  Application.ScreenUpdating = False "屏幕不及时更新
  Application.DisplayAlerts = False "警告不显示
  On Error GoTo tuichu "出现错误 GoTo tuichu
  Cells.Delete
  Cells.Interior.Color = RGB(190, 190, 0)
  Cells.RowHeight = 14.25
  Cells.ColumnWidth = 1.88
  Dim HH1, LL1, ii, jj, HH2, LL2, LL0, HH0 As Long
  Dim Bianjie As String
  Dim Rnd1, Weizhi1, Hang1, Lie1, Fangxiang1 As Long
  Dim Rukou1, Chukou1 As Long
  Bianjie = ""
  "Bianjie每9位一组,其中234位表示行号,678位表示列号,第9位表示门的方向1下2左3右4上
  LL0 = 4 "起始列
  HH0 = 4 "起始行
  HH1 = 24 "行数
  LL1 = 44 "列数
  HH2 = HH1 + HH0 - 1 "末尾列
  LL2 = LL1 + LL0 - 1 "末尾列
  "边框设为0,
  For ii = HH0 - 2 To HH2 + 2
  For jj = LL0 - 2 To LL2 + 2
  Cells(ii, jj) = 0
  Next jj
  Next ii
  "内部设为2
  For ii = HH0 To HH2
  For jj = LL0 To LL2
  Cells(ii, jj) = 4
  Next jj
  Next ii
  With Range(Cells(HH0, LL0), Cells(HH2, LL2))
  .Borders.LineStyle = xlContinuous
  .Borders.Weight = xlMedium
  .Interior.Color = RGB(0, 0, 0)
  End With
  "入口设为1
  jj = Int(Rnd() * HH1 + HH0)
  Cells(jj, LL0 - 1) = 1
  Bianjie = FFKaimen(jj, LL0 - 1, 3, Bianjie)
  Rukou1 = jj
  For ii = 1 To 999999
  If Bianjie = "" Then
  Exit For
  End If
  Rnd1 = Int(Exp(Log(Rnd()) * 0.3) * Len(Bianjie) / 9)
  Weizhi1 = Mid(Bianjie, Rnd1 * 9 + 1, 8)
  Hang1 = Val(Mid(Weizhi1, 1, 4)) - 1000
  Lie1 = Val(Mid(Weizhi1, 5, 4)) - 1000
  Fangxiang1 = Mid(Bianjie, Rnd1 * 9 + 9, 1)
  Bianjie = FFKaimen(Hang1, Lie1, Fangxiang1, Bianjie)
  Bianjie = FFXinBianjie(Bianjie)
  Next
  "画出口
  jj = Int(Rnd() * HH1 + HH0)
  Cells(jj, LL2).Borders(xlEdgeRight).LineStyle = xlNone
  Chukou1 = jj
  Cells.ClearContents
  Cells(Rukou1, LL0 - 1) = " "
  Cells(Chukou1, LL2 + 1) = " "
  Cells(Rukou1, LL0 - 2).Select
  Range(Cells(HH0 - 2, LL0), Cells(HH0 - 2, LL2)).Merge
  With Cells(HH0 - 2, LL0)
  .Value = HH1 & " " & LL1 & "的迷宫"
  .HorizontalAlignment = xlCenter
  .VerticalAlignment = xlCenter
  .Font.Size = 18
  .EntireRow.AutoFit
  End With
  If Len(Cells(1, 1)) = 0 Then
  Cells(1, 1) = " "
  End If
  tuichu:
  Application.ScreenUpdating = True "屏幕更新
  Application.DisplayAlerts = True "警告显示
  End Sub
  Sub kaishi()
  "
  " kaishi 宏
  "
  " 快捷键: Ctrl+k
  "
  Dim HH1, LL1, Hj1, Lj1, ii, jj As Long
  HH1 = ActiveSheet.UsedRange.Rows.Count
  LL1 = ActiveSheet.UsedRange.Columns.Count
  Hj1 = 0
  Lj1 = 1
  For jj = 1 To LL1
  For ii = 1 To HH1
  If Cells(ii, jj) = " " Then
  Range(Cells(ii - 1, jj + 1), Cells(ii + 1, jj + 1)).Interior.Color = RGB(255, 255, 255)
  Cells(ii, jj).Interior.Color = RGB(255, 0, 255)
  GoTo Jixu
  End If
  Next ii
  Next jj
  Jixu:
  For jj = LL1 - 2 To LL1
  For ii = 1 To HH1
  If Cells(ii, jj) = " " Then
  Cells(ii, jj).Interior.Color = RGB(255, 255, 255)
  GoTo Jieshu
  End If
  Next ii
  Next jj
  Jieshu:
  End Sub
  Function FFXinBianjie(Bianjie)
  Dim FH1, FL1, FH2, FL2, FX1, FX2, ii, jj As Integer
  Dim Bianjie2 As String
  Bianjie2 = Bianjie
  ii = Len(Bianjie2) / 9
  Do While ii > 0
  FH1 = Val(Mid(Bianjie2, ii * 9 - 8, 4)) - 1000
  FL1 = Val(Mid(Bianjie2, ii * 9 - 4, 4)) - 1000
  FX1 = Val(Mid(Bianjie2, ii * 9, 1))
  FH2 = FH1
  FL2 = FL1
  FX2 = 5 - FX1
  If FX1 = 1 Then
  FH2 = FH1 + 1
  ElseIf FX1 = 2 Then
  FL2 = FL1 - 1
  ElseIf FX1 = 3 Then
  FL2 = FL1 + 1
  ElseIf FX1 = 4 Then
  FH2 = FH1 - 1
  End If
  jj = Len(Bianjie2) / 9 - 1
  Do While jj > 0
  If Mid(Bianjie2, jj * 9 - 8, 9) = "" & (1000 + FH2) & (1000 + FL2) & FX2 Then
  Bianjie2 = "" & Left(Bianjie2, (jj - 1) * 9) & Mid(Bianjie2, jj * 9 + 1, Len(Bianjie2))
  Exit Do
  End If
  jj = jj - 1
  Loop
  If Cells(FH2, FL2) < 4 Then
  Bianjie2 = "" & Left(Bianjie2, (ii - 1) * 9) & Mid(Bianjie2, ii * 9 + 1, Len(Bianjie2))
  End If
  ii = ii - 1
  Loop
  FFXinBianjie = Bianjie2
  End Function
  Function FFKaimen(Hang, Lie, Fangxiang, Bianjie)
  Dim Bianjie2, Shanchu1 As String
  Dim Hang2, Lie2, ii As Long
  Bianjie2 = Bianjie
  Cells(Hang, Lie) = Cells(Hang, Lie) - 1
  Shanchu1 = "" & (1000 + Hang) & (1000 + Lie) & Fangxiang
  ii = Len(Bianjie2) / 9
  For ii = Len(Bianjie2) / 9 To 1 Step -1
  If Mid(Bianjie2, ii * 9 - 8, 9) = Shanchu1 Then
  Bianjie2 = "" & Left(Bianjie2, (ii - 1) * 9) & Mid(Bianjie2, ii * 9 + 1, Len(Bianjie2))
  End If
  Next
  Hang2 = Hang
  Lie2 = Lie
  If Fangxiang = 1 Then
  Cells(Hang, Lie).Borders(xlEdgeBottom).LineStyle = xlNone
  Hang2 = Hang + 1
  ElseIf Fangxiang = 2 Then
  Cells(Hang, Lie).Borders(xlEdgeLeft).LineStyle = xlNone
  Lie2 = Lie - 1
  ElseIf Fangxiang = 3 Then
  Cells(Hang, Lie).Borders(xlEdgeRight).LineStyle = xlNone
  Lie2 = Lie + 1
  ElseIf Fangxiang = 4 Then
  Cells(Hang, Lie).Borders(xlEdgeTop).LineStyle = xlNone
  Hang2 = Hang - 1
  End If
  Cells(Hang2, Lie2) = Cells(Hang2, Lie2) - 1
  If Cells(Hang2 + 1, Lie2) = 4 Then
  Bianjie2 = Bianjie2 & (1000 + Hang2) & (1000 + Lie2) & 1
  End If
  If Cells(Hang2, Lie2 - 1) = 4 Then
  Bianjie2 = Bianjie2 & (1000 + Hang2) & (1000 + Lie2) & 2
  End If
  If Cells(Hang2, Lie2 + 1) = 4 Then
  Bianjie2 = Bianjie2 & (1000 + Hang2) & (1000 + Lie2) & 3
  End If
  If Cells(Hang2 - 1, Lie2) = 4 Then
  Bianjie2 = Bianjie2 & (1000 + Hang2) & (1000 + Lie2) & 4
  End If
  FFKaimen = Bianjie2
  End Function
  Sub aaRanse(ii, jj, Hj1, Lj1)
  Dim Jj1 As Integer
  If Hj1 = 0 Then
  For Jj1 = -1 To 1
  If Cells(ii + Jj1, jj + 2 * Lj1).Interior.Color = RGB(0, 0, 0) Then
  Cells(ii + Jj1, jj + 2 * Lj1).Interior.Color = RGB(255, 255, 255)
  End If
  Next
  ElseIf Lj1 = 0 Then
  For Jj1 = -1 To 1
  If Cells(ii + 2 * Hj1, jj + Jj1).Interior.Color = RGB(0, 0, 0) Then
  Cells(ii + 2 * Hj1, jj + Jj1).Interior.Color = RGB(255, 255, 255)
  End If
  Next
  End If
  If Cells(ii + Hj1, jj + Lj1).Interior.Color = RGB(255, 255, 255) Or _
  Cells(ii + Hj1, jj + Lj1).Interior.Color = RGB(190, 190, 190) Then
  Cells(ii, jj).Interior.Color = RGB(0, 255, 0)
  Cells(ii + Hj1, jj + Lj1).Interior.Color = RGB(255, 0, 255)
  ElseIf Cells(ii + Hj1, jj + Lj1).Interior.Color = RGB(0, 255, 0) Then
  Cells(ii, jj).Interior.Color = RGB(190, 190, 190)
  Cells(ii + Hj1, jj + Lj1).Interior.Color = RGB(255, 0, 255)
  End If
  End Sub
  最后分享几个迷宫图片。

一起学pixijs(2)修改图形属性大家好,我是前端西瓜哥。我们做动画游戏编辑器,需要根据用户的交互等操作,去实时地改变图形的属性,比如位置,颜色等信息。今天西瓜哥带大家来看看在pixijs怎么修改图形的属性。因为p一线调查儿童智能手表里或潜藏大灰狼智能手表里暗藏大灰狼!这句话如今已成为北京市民刘维和女儿聊天时的口头禅。刘维的女儿今年8岁,沉迷于表圈(智能手表好友圈)近3年时间。往常,他放任女儿和好友互动,认为孩子有自己的社交我第一次独自旅行,是为了亲手埋葬一段过期的爱情第一次独自旅行,我背着一个破牛仔包,一个人去甘肃和青海转了一大圈。时间是1997年9月。旅行时我有写游记的习惯,保持了二十多年,直到今天。年轻时我比现在还啰嗦,这趟西北之旅,我每天威远感恩寺是文化朝拜休闲观光徒步旅行的一个好去处从威远县城出发大约40分钟的车程到感恩寺到了目的地高大的宫殿式建筑出现在视野里其实已经记不清第几次到感恩寺来了顺石阶而上有牌楼式建筑上书感恩禅寺寺门前一对麒麟,威武雄壮感恩寺重建碑各种ampampquot花ampampquot节3月接踵而至,武汉各景区备战赏花季长江日报大武汉客户端2月20日讯从2月的梅花盛开,就可以开启一整年的赏花计划了。接下来的武汉任何时候都美。现在看梅花正当时节,还有10来天就可以看樱花,然后是郁金香油菜花牡丹花幕秀故宫有条阴阳路,你敢走么!在首都故宫,作为明清两个朝代的皇宫,在历史上有着重要的地位,也是历史上不可多得的文化瑰宝。旧时他的名字叫紫禁城,占地面积达到十五万平方米,房间更是多到九千多间,在故宫中就有这么一条新加坡小贩中心申遗成功,但服务却是负分前几天去一个著名的小贩中心打包午餐,看到一家虾面不错,就叫了一份粿条虾面加猪皮。心情不佳的老板娘却错给了我两份米粉,经提醒后才加了猪皮。我思忖着吃米粉也行,多吃一份也行,就没计较。观点集度夏一平特斯拉降价是产品价值出问题,集度会实现超越文懂车帝原创常思玥懂车帝原创行业2月14日,集度ROBOVERSE三里屯体验中心正式启动,在活动后的沟通会上,集度CEO夏一平谈到了目前集度的发展情况以及对目前行业发展的一些看法。一文看懂乳铁蛋白是什么?有什么用?乳铁蛋白是一种存在于牛奶和其他哺乳动物乳汁中的蛋白质。它是一种复合物,由铁和蛋白质组成,具有许多健康益处。以下是关于乳铁蛋白功效的一些介绍。首先,乳铁蛋白对于铁的吸收非常重要。乳铁七天低脂营养早餐,有蔬菜有粗粮,有水果有蛋白质,好吃不长胖早餐要有充足的营养,碳水蛋白质维生素,我一般按照五谷搭配粗细搭配多样搭配,有条件的可以来个荤素搭配,我的早餐一般都用鸡蛋牛奶来增加蛋白质的摄入,有时还会添加豆类,豆类可以提供优质植一加疯狂碰瓷,Redmi却大度欢迎,这就是高产品力带来的底气从去年开始,一加的营销开始走向碰瓷之路,比如在一加ACE发布后,网友就发现微博中多次出现数码博主在各种场景以及配图中,使用一加ACE直接对比RedmiK50,并最终得出一加ACE要
美国芯片法案落地!国产芯片如何应战?第二个华为宣告亮剑要不是因为华为芯片被断供,可能现在华为的手机市场份额早就超过了苹果和三星,奈何我们技不如人,在芯片这块被卡脖子。原本以为,华为做过了极限生存测试,想过后面芯片被断供之后该怎么做,所王伟晶华为前员工,被波兰无故关押3年,至今未获自由当今的国际局势看起来平静无波,实则暗潮涌动。21世纪,国与国之间几乎不发生明面上的热兵器之战,转而在生物科技与经济领域寸土必争。自从我国的华为公司领先研发出5G技术开始,美国就对此打造前置影像天花板!有颜又有料的全新华为nova10震撼来袭华为nova系列自2016年诞生以来,就像其名字的新星一样,凭借着过硬的性能以及时尚潮流的设计,持续走红市场。星星很遥远,远的让我们遥不可及,但nova它就在我们的眼前,触手即可得华为OSPF虚链路技术1。每台设备上配置接口以及环回口地址R1interfaceGigabitEthernet000ipaddress10。0。12。1255。255。255。0interfaceGig明星仙友任贤齐念念不忘诛仙,周年庆发来祝贺,感动全网苦等多时,诛仙手游终于在明天正式开启6周年庆典,千万仙友喜大奔普。对于仙友们来说,诛仙手游迈入新台阶,自然是值得高兴的事情,但最让人期待的,还是游戏为仙友们带来的6周年全新内容啊!绝区零和星穹铁道不错,但很难复制原神的商业成功米哈游近年来异军突起,在原神成功之后接连开发星穹铁道和绝区零,并且都经过了一定测试,反响还算不错。那为什么说它们很难复制原神的商业成功?众所周知,原神是米哈游的摇钱树。说到原神哪里方便携带的电脑主机怎么选?体积小散热好还要关注具体配置随身携带电脑已经成为了当下办公娱乐的主流需求,因此各类方便携带的电脑产品也是横空出世,可以选择笔记本电脑,不过还是有一定的限制,因为配置可能会被局限。现在各个品牌的迷你电脑主机也是不卷了!芒果TV会员年内第二次涨价,腾讯视频更改会员权益遭投诉点蓝字关注,不迷路腾讯涨腾讯涨完咪咕涨,咪咕涨咪咕涨完优酷涨,优酷涨优酷涨完芒果TV涨都知道视频会员涨价是行业趋势,但没想到涨价来得这么快。8月9日0点,芒果TV会员价格如期上调,适合外设新手的国风键盘新贵GM1000鹤舞月明注意键盘手感部分完全主观,没有适合所有人的外设,只有最适合自己的外设。不知道你们有没有听说过新贵这个品牌,我第一次听到新贵这个名字我是完全懵逼的。后来才知道原来这是一家成立于199当年号称2。98万起步的5座新能源车,现在怎么样了?谈起新能源汽车不得不提到奔奔estar新能源,这可是当年号称2。98万起步价的5座电动车。先看看这辆车的基本情况,奔奔EStar裸车价5。48万起厂商指导价6。987。48万车身和中国突破光刻机关键技术,ASML地位不稳?国产光刻机迈出重大一步本文原创,禁止抄袭,违者必究光刻机作为芯片的生产设备,可以称得上是半导体行业及其重要的设备,而美国为了抑制中国的高科技发展,在芯片技术以及光刻机领域都对中国做出了极大的限制。为了突