收藏的扫雷_pppjza的博客-程序员秘密

技术标签: vb  

Public num As Integer, i As Integer, j As Integer, k As Integer, num2 As Integer, num3 As Integer
Dim num4 As Integer
Dim all As Boolean
'num2 为雷的个数,NUM为全局变量,num3的数值为周围雷的个数!'num4为内部的判断是否相符,初始为5
'在begingame中将NUM2出使化为5
'Download by http://down.liehuo.net
Private Sub check3() '这是我后来加的,在输了这后,显示正确的答案!
For i = 0 To L1.Count - 1 '用c1.count和24都一样
   If L1(i).Caption = "●" Then
      C1(i).Visible = False
      
       ElseIf C1(i).Caption = "雷" Then
            C1(i).Visible = False
            L1(i).ForeColor = &HC000&
            L1(i).FontBold = 1
            L1(i).FontSize = 20
            L1(i).Caption = "×"
          End If
          C1(i).Enabled = False '让按钮不可用!
      Next i
      


End Sub

Private Sub check2()
'这里我做的不是很好,数组的转化不好做,还好,不是很多.我是用了枚举法 求出 L1上显示雷的个数!
'用上返回值!num
L1(num).ForeColor = &HC00000
L1(num).FontBold = True
L1(num).FontSize = 25
Select Case num '这里面一定要换行,否则会出错!!!
    Case 0
    num3 = 0
        If L1(1).Caption = "●" Then '这里不要嵌套!!!!
          num3 = num3 + 1
        End If
        If L1(5).Caption = "●" Then
            num3 = num3 + 1
        End If
        If L1(6).Caption = "●" Then
             num3 = num3 + 1
        End If
        If num3 <> 0 Then
            L1(num).Caption = num3
        End If
  '********************************************************************
    Case 1
    num3 = 0
        If L1(0).Caption = "●" Then
             num3 = num3 + 1
             End If
            If L1(2).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(5).Caption = "●" Then
            num3 = num3 + 1
            End If
              If L1(6).Caption = "●" Then
            num3 = num3 + 1
            End If
               If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
   If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '********************************************************************
  Case 2
  num3 = 0
     If L1(1).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(3).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(6).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
      If num3 <> 0 Then
        L1(num).Caption = num3
        End If
     '*****************************************************************
   Case 3
   num3 = 0
        If L1(2).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(4).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(9).Caption = "●" Then
            num3 = num3 + 1
            End If
    If num3 <> 0 Then
        L1(num).Caption = num3
        End If
   '********************************************************************
   Case 4
   num3 = 0
        If L1(3).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(9).Caption = "●" Then
            num3 = num3 + 1
            End If
    If num3 <> 0 Then
        L1(num).Caption = num3
        End If
   '*******************************************************************
   Case 5
   num3 = 0
        If L1(0).Caption = "●" Then
                  num3 = num3 + 1
                  End If
         If L1(1).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(6).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(10).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(11).Caption = "●" Then
        num3 = num3 + 1
        End If
   If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '*********************************************************************
    Case 6
   num3 = 0
            If L1(0).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(1).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(2).Caption = "●" Then
            num3 = num3 + 1
            End If
              If L1(5).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(10).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(11).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
      If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '*******************************************************************
   Case 7
   num3 = 0
            If L1(1).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(2).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(3).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(6).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(11).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(13).Caption = "●" Then
            num3 = num3 + 1
            End If
       If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '**********************************************************************
    Case 8
   num3 = 0
            If L1(2).Caption = "●" Then
                        num3 = num3 + 1
                        End If
            If L1(3).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(4).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(9).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(13).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(14).Caption = "●" Then
            num3 = num3 + 1
            End If
     If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '**********************************************************************
   Case 9
   num3 = 0
        If L1(3).Caption = "●" Then
                  num3 = num3 + 1
                  End If
         If L1(4).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(8).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(13).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(14).Caption = "●" Then
        num3 = num3 + 1
        End If
      If num3 <> 0 Then
        L1(num).Caption = num3
        End If
   '****************************************************************
   Case 10
   num3 = 0
        If L1(5).Caption = "●" Then
                  num3 = num3 + 1
                  End If
         If L1(6).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(11).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(15).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(16).Caption = "●" Then
        num3 = num3 + 1
        End If
      If num3 <> 0 Then
        L1(num).Caption = num3
        End If
   '****************************************************************
   Case 11
   num3 = 0
            If L1(5).Caption = "●" Then
                        num3 = num3 + 1
                        End If
            If L1(6).Caption = "●" Then
            num3 = num3 + 1
            End If
           If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(10).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(15).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(16).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
         If num3 <> 0 Then
        L1(num).Caption = num3
        End If
'********************************************************************
   Case 12
   num3 = 0
            If L1(6).Caption = "●" Then
                        num3 = num3 + 1
                        End If

            If L1(7).Caption = "●" Then
            num3 = num3 + 1
            End If
           If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
           If L1(11).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(13).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(16).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(18).Caption = "●" Then
            num3 = num3 + 1
            End If
         If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
   Case 13
    num3 = 0
            If L1(7).Caption = "●" Then
                        num3 = num3 + 1
                        End If
              If L1(8).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(9).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(14).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(18).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(19).Caption = "●" Then
            num3 = num3 + 1
            End If
     If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '****************************************************************
   Case 14
   num3 = 0
        If L1(8).Caption = "●" Then
                  num3 = num3 + 1
                  End If
       If L1(9).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(13).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(18).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(19).Caption = "●" Then
        num3 = num3 + 1
        End If
     If num3 <> 0 Then
        L1(num).Caption = num3
        End If
'****************************************************************
   Case 15
   num3 = 0
        If L1(10).Caption = "●" Then
                  num3 = num3 + 1
                  End If
        If L1(11).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(16).Caption = "●" Then
        num3 = num3 + 1
        End If
      If L1(20).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(21).Caption = "●" Then
        num3 = num3 + 1
        End If
   If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '****************************************************************
  Case 16
   num3 = 0
            If L1(10).Caption = "●" Then
                        num3 = num3 + 1
                        End If
             If L1(11).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(15).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
              If L1(20).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(21).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(22).Caption = "●" Then
            num3 = num3 + 1
            End If
           If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
   Case 17
    num3 = 0
            If L1(23).Caption = "●" Then '错位了一个
                        num3 = num3 + 1
                        End If

          If L1(11).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(12).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(13).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(16).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(18).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(21).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(22).Caption = "●" Then
            num3 = num3 + 1
            End If
                  
    If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
   Case 18
num3 = 0
            If L1(12).Caption = "●" Then
                        num3 = num3 + 1
                        End If

            If L1(13).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(14).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(19).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(22).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(23).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(24).Caption = "●" Then
            num3 = num3 + 1
            End If
        If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
   Case 19
   num3 = 0
        If L1(13).Caption = "●" Then
                  num3 = num3 + 1
                  End If
        If L1(14).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(18).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(23).Caption = "●" Then
        num3 = num3 + 1
        End If
         If L1(24).Caption = "●" Then
        num3 = num3 + 1
        End If
      If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
    Case 20
    num3 = 0
        If L1(15).Caption = "●" Then
          num3 = num3 + 1
          End If
                If L1(16).Caption = "●" Then
                    num3 = num3 + 1
                    End If
                     If L1(21).Caption = "●" Then
                        num3 = num3 + 1
                        End If
         If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
    Case 21
   num3 = 0
        If L1(15).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(16).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(20).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(22).Caption = "●" Then
            num3 = num3 + 1
            End If
         If num3 <> 0 Then
        L1(num).Caption = num3
        End If
 '****************************************************************
    Case 22
   num3 = 0
        If L1(16).Caption = "●" Then
            num3 = num3 + 1
            End If
            If L1(17).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(18).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(21).Caption = "●" Then
            num3 = num3 + 1
            End If
             If L1(23).Caption = "●" Then
            num3 = num3 + 1
            End If
If num3 <> 0 Then
        L1(num).Caption = num3
        End If
'****************************************************************
    Case 23
  num3 = 0
       If L1(17).Caption = "●" Then
        num3 = num3 + 1
        End If
        If L1(18).Caption = "●" Then
         num3 = num3 + 1
         End If
            If L1(19).Caption = "●" Then
          num3 = num3 + 1
          End If
          If L1(22).Caption = "●" Then
         num3 = num3 + 1
         End If
          If L1(24).Caption = "●" Then
         num3 = num3 + 1
         End If
 If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  Case 24
   num3 = 0
      If L1(18).Caption = "●" Then
       num3 = num3 + 1
       End If
           If L1(19).Caption = "●" Then
               num3 = num3 + 1
               End If
                     If L1(23).Caption = "●" Then
                       num3 = num3 + 1
                       End If
        If num3 <> 0 Then
        L1(num).Caption = num3
        End If
  '****************************************************************
End Select
          
End Sub
Private Sub BeginGame()
Lblinfo.Caption = ""
j = 0 '一定要有,否则会出错!
num2 = 5
num4 = 5

lblnum2.Caption = num2
 For i = 0 To L1.Count - 1
     L1(i).Caption = ""
     C1(i).Visible = True
     C1(i).Caption = ""
     If i Mod 2 = 0 Then
         L1(i).BackColor = &H808080
         L1(i).BorderStyle = 1
       Else
         L1(i).BackColor = &HFFC0C0
         L1(i).BorderStyle = 1
       End If
 Next i
 
 Do '我这里面不用for就是确保雷的个数
    Randomize '随机产生5个雷,放于L1标签中的caption
    k = Int(Rnd * 25) '将k定位于0到24
    If L1(k).Caption = "" Then
          L1(k).FontSize = 21 '外设,大小和颜色
          L1(k).ForeColor = &HC0&
          L1(k).Caption = "●"
         j = j + 1
     End If
 Loop Until j >= 5
 
End Sub

Private Sub Check()
C1(num).Visible = 0
If L1(num).Caption = "●" Then
    Lblinfo.Caption = "你输了!"
    L1(num).BackColor = &H8080FF
        check3 '这是我后来加的,在输了这后,显示正确的答案!
  Else
   Call check2
  End If
 
End Sub
Private Sub C1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim stra As String
 If Button = 2 Then
 stra = C1(Index).Caption
    Select Case stra
      Case ""
        C1(Index).Caption = "雷"
        num2 = num2 - 1: lblnum2.Caption = num2
        If L1(Index).Caption = "●" Then
          num4 = num4 - 1
         End If
        If (num4 = 0 And num2 = 0) Then
                Lblinfo.Caption = "你赢了!"
             For i = 0 To C1.Count - 1
                 C1(i).Enabled = False
             Next i
        End If
      Case "雷"
         C1(Index).Caption = "?"
         num2 = num2 + 1 '前面一次标签上显示的一定是“雷”,故加1,而不是不变
          lblnum2.Caption = num2
                  If L1(Index).Caption = "●" Then '这里一定要有这一句,认为不是雷,就让其再返回去,即加1,我不会表达这句意思!
                     num4 = num4 + 1
            End If
     Case "?"
         C1(Index).Caption = ""
   End Select
   
 ElseIf (Button = 1) And (C1(Index).Caption = "") Then
    num = Index
   Call Check
    End If
  
End Sub
Private Sub cmdreplay_Click()
        For i = 0 To C1.Count - 1
            C1(i).Enabled = True
        Next i
    cmdreplay.Caption = "重玩"
   Call BeginGame
   
    
End Sub
Private Sub Form_Load()
    Form1.Left = Screen.Width * 0.618 - Me.Width / 2 '黄金分割点是其初始位置中心
    Form1.Top = Screen.Height * (1 - 0.618) - Me.Width / 2
        For i = 0 To C1.Count - 1
            C1(i).Enabled = False
        Next i
        Call BeginGame
End Sub

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pppjza/article/details/46973983

智能推荐

STM32 串口通信介绍及cubemx配置_Nie_Hen的博客-程序员资料

学习理解STM32的串口通信,中断以及I2C的使用。应用:使用中断和串口通通信获取按键值发送出来并显示到数码管上。使用I2C 将获取到的按键值保存到内存中。串口通信计算机的CPU与外部设备之间的信息交换,以及计算机与计算机之间的信息交换过程称为通信。并行通信数据字节的各位同时传送的通信方式。并行通信的优点是数据传送速度快,缺点是占用的传输线条数多,适用于近距离通信。串行通信(Se...

android 背景图缩放,解决android:background背景图片被拉伸问题_weixin_39639600的博客-程序员资料

ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式如上所述,backg...

qt用odbc连接mysql_【原创】Qt 使用ODBC driver 连接SQL Server_午餐时间到了的博客-程序员资料

最近在做数据库的课程设计。第一个需要解决的问题是使用什么工具来实现这个系统。经过一番资料查找,决定使用SQL Server Express 2012作为服务器,使用Qt作为编写客户端程序语言。问题是client如何连接SQL Server? 下面是我的解决方法。1.开启windows上的SQL Server 的ODBC驱动ODBC 是一个调用级接口,它使得应用程序得以访问任何具有 ODBC 驱动程...

翻页时钟代码大公开_lovefan的博客-程序员资料_翻页钟开源代码

不少朋友向我要翻页时钟的代码,现在贴给大家。代码水平有限,见谅。看不明白的可以问我:)js// miniprogram/pages/flipClock/jsconst moment = require('../../../utils/moment-with-locales.min.js');const Lunar = require('../../../utils/lunar.js');var startX, endX;var moveFlag = true; // 判断执行滑动事件.

JAVA切换不了FTP服务器目录_解决linux下ftp指定访问目录无法修改的问题_豪睿刘爱上楼楼梯的博客-程序员资料

他的系统是CentOS,是RH派系的。我把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:500 OOPS: cannot change directory:/home/ftp原因是他的CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。//查看SELinux设置# getsebool -a|grep ftpftpd_disable_tr...

.NET实现网络爬虫_hyunbar的博客-程序员资料_.net 爬虫

爬虫的特征和运行方式User-Agent:主要用来将我们的爬虫伪装成浏览器。Cookie:主要用来保存爬虫的登录状态。连接数:主要用来限制单台机器与服务端的连接数量。代理IP:主要用来伪装请求地址,提高单机并发数量。爬虫工作的方式可以归纳为两种:深度优先、广度优先。深度优先就是一个连接一个连接的向内爬,处理完成后再换一下一个连接,这种方式对于我们来说缺点很明显。 广度优先...

随便推点

阿里的BUG智能定位神器!直接定位线上BUG,超给力!必须收藏!_l_瓶中精灵的博客-程序员资料

点击上方“阿拉奇学Java”,选择“置顶或者星标”每天早晨00点00分, 与你相约!往日回顾:Java 14 令人期待的 5 大新特性,打包工具终于要来了! 定位过程分析代码...

机器学习中用到的概率知识_机器学习必备的概率统计基础_weixin_40009393的博客-程序员资料

现如今,计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章,还是要参与相关任务,你马上就会遇到一些拦路虎:想过滤垃圾邮件,不具备概率论中的贝叶斯思维恐怕不行;想试着进行一段语音识别,则必须要理解随机过程中的隐马尔科夫模型;想通过观察到的样本推断出某类对象的总体特征,估计理论和大数定理的思想必须建立;在统计推断过程中,要理解广泛采用的近似采样方法,蒙特卡洛方法以及马...

oracle使用sqlplus远程连接ASM实例的方式_kadwf123的博客-程序员资料_oracle连接asm实例

sqlplus sys/[email protected]:1521/+ASM as sysasm至于配置成tns,照着普通oracle连接方式配置就行,此处每次不记得命令格式,写在这边记录一下;最后的+ASM指的是服务名,不是实例名,写成实例名连不上。...

一文了解人脸识别:从实现方法到应用场景都讲明白了_大数据v的博客-程序员资料

导读:在本文中,我们将会接触到一个既熟悉又陌生的概念——人脸识别。之所以熟悉,是因为人脸识别技术在我们日常生活中应用极其广泛,例如火车站刷脸验票进站、手机人脸解锁等;之所...

twisted builtins.TypeError: __init__() missing 1 required positional argument: 'dbpool'_锅前带刀小笼包的博客-程序员资料

学习爬虫异步插入,遇到问题Unhandled error in Deferred:2020-05-10 14:41:59 [twisted] CRITICAL: Unhandled error in Deferred:...builtins.TypeError: __init__() missing 1 required positional argument: 'dbpool'发现是函数名写错, 应该是from_settings ,结果写成了from_setting,低级错误,记录一下pip

Paxos、Raft、ZAB算法_知知之之的博客-程序员资料_paxos raft zab

Paxos算法是Leslie Lamport在1990年提出的一种基于消息传递的一致性算法。基于Paxos协议的数据同步与传统主备方式最大的区别在于:Paxos只需超过半数的副本在线且相互通信正常,就可以保证服务的持续可用,且数据不丢失。Paxos将系统中的角色分为提议者 (Proposer),决策者 (Acceptor),和最终决策学习者 (Learner):在多副本状态机中,每个副本同时具有Proposer、Acceptor、Learner三种角色。Paxos算法通过一个决议分为两个阶段(Learn阶段

推荐文章

热门文章

相关标签