VB 精典实用源代码

查找方法:按ctrl+f,输入要查找的问题关键字即可
每个问题中间用///分隔,这只是一部分最常见到的问题,以后会逐渐更新。


如何用VB建立快捷方式

Private Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long
Sub
Command1_Click()
Dim lReturn As Long
'添加到桌面
lReturn = fCreateShellLink("..\..\Desktop", "Shortcut to Calculator", "c:\windows\calc.exe", "")
'添加到程序组
lReturn = fCreateShellLink("", "Shortcut to Calculator", "c:\windows\calc.exe", "")
'添加到启动组
lReturn = fCreateShellLink("\Startup", "Shortcut to Calculator", "c:\windows\calc.exe", "")
End Sub


如何让程序在 Windows 启动时自动执行?

有以下二个方法:

方法1: 直接将快捷方式放到启动群组中。

方法2:
在注册档 HKEY_LOCAL_MACHINE 中找到以下机码
\Software\Microsoft\Windows\CurrentVersion\Run
新增一个字串值,包括二个部份
1. 名称部份:自己取名,可设定为 AP 名称。
2. 资料部份:则是包含 '全路径档案名称' 及 '执行参数'

例如:
Value Name = Notepad
Value Data = c:\windows\notepad.exe



在 TextBox 中如何限制只能输入数字?

参考下列程序:
Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub


我希望 TextBox 中能不接受某些特定字符,例如
'@#$%",有没有简单一点的写法?

方法有好几种, 以下列举二种:

方法1: 可以使用
IF Select Case 一个个判断, 但如果不接受的字符多时, 较麻烦!
方法2: 将要剔除的字符统统放在一个字串中,只要一个
IF 判断即可 !! 如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim sTemplate As String
sTemplate = "!@#$%^&*()_+-=" '用来存放不接受的字符
If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then
KeyAscii = 0
End If
End Sub



如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字?

这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在 TextBox 中的所有字符。

Private Sub Text1_GotFocus()
Text1.SelStart =
0
Text1.SelLength = Len(Text1)
End Sub



如何检查软盘驱动器里是否有软盘?

使用:
Dim Flag As Boolean
Flag = Fun_FloppyDrive("A:")
If Flag = False Then MsgBox "A:驱没有准备好,请将磁盘插入驱动器!", vbCritical

'-------------------------------
'函数:检查软驱中是否有盘的存在
'-------------------------------
Private Function Fun_FloppyDrive(sDrive As String) As Boolean
On Error Resume Next
Fun_FloppyDrive = Dir(sDrive) <> ""
End Function



如何弹出和关闭光驱托盘?

Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub
Command1_Click()
mciExecute
"set cdaudio door open" '弹出光驱
Label2.Caption = "弹 出"
End Sub

Private Sub
Command2_Click()
Label2.Caption =
"关 闭"
mciExecute "set cdaudio door closed" '合上光驱
Unload Me
End
End Sub



如何让你的程序在任务列表隐藏

Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Private Declare Function
GetCurrentProcessId Lib "kernel32" () As Long

'请你试试 Ctrl+Alt+Del 是不是你的程序隐藏了
Private Sub Command1_Click()
i = RegisterServiceProcess(GetCurrentProcessId,
1)
End Sub



如何用程序控制滑鼠游标 (Mouse Cursor) 到指定位置?

以下这个例子,当 User 在 Text1 中按下
'Enter' 键后,滑鼠游标会自动移到 Command2 按钮上方

请在声明区中加入以下声明:

'16 位版本: ( Sub 无传回值 )
Declare Sub SetCursorPos Lib "User" (ByVal X As Integer, ByVal Y As Integer)

'32 位版本: ( Function 有传回值,Integer 改成 Long )
Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

'在 Form1 中加入以下程序码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
x% = (Form1.Left + Command2.Left + Command2.Width / 2 + 60) / Screen.TwipsPerPixelX
y% = (Form1.Top + Command2.Top + Command2.Height /
2 + 360) / Screen.TwipsPerPixelY
SetCursorPos x%, y%
End If
End Sub

如何用鼠标移动没有标题的 Form,或移动 Form 中的控制项?

在声明区中放入以下声明:

'16 位版本: ( Sub 无返回值 )
Private Declare Sub ReleaseCapture Lib "User" ()
Private Declare Sub SendMessage Lib "User" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Long)

'32 位版本: ( Function 有返回值,Integer 改成 Long )
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function
SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

'共用常数:
Const WM_SYSCOMMAND = &H112
Const SC_MOVE = &HF012

'若要移动 Form,程序码如下:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Long
i = ReleaseCapture
i = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MOVE,
0)
End Sub

'以上功能也适用于用鼠标在 Form 中移动控制项,程序码如下:
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Long
i = ReleaseCapture
i = SendMessage(Command1.hwnd, WM_SYSCOMMAND, SC_MOVE,
0)
End Sub


检查文件是否存在?

Function FileExists(filename As String) As Integer
Dim
i As Integer
On Error Resume Next
i = Len(Dir$(filename))
If Err or i = 0 Then FileExists = False Else FileExists = True
End Function


如何设置对VB数据库连接的动态路径

我个人因为经常作一些数据库方面的程序,对于程序间如何与数据库进行接口的问题之烦是深有体会,因为VB在数据库链接的时候,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment 等到作数据库链接时,如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。
笔者的解决方法是利用app.path 来解决这个问题。
一、用data控件进行数据库链接,可以这样:
在form_load()过程中放入:
private form_load()
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
data1.databasename=str & "\数据库名"
data1.recordsource="数据表名"
data1.refresh
sub end
这几句话的意为,打开当前程序运行的目录下的数据库。
你只要保证你的数据库在你程序所在的目录之下就行了。

二、利用adodc(ADO Data Control)进行数据库链接:
private form_load ()
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\tsl.mdb"
Adodc1.ConnectionString = str
Adodc1.CommandType = adCmdText
Adodc1.RecordSource =
"select * from table3"
Adodc1.Refresh
end sub

三、利用DataEnvironment进行数据库链接
可在过程中放入:
On Error Resume Next
If
DataEnvironment1.rsCommand1.State <> adStateClosed Then
DataEnvironment1.rsCommand1.Close '如果打开,则关闭
End If
'i = InputBox("请输入友人编号:", "输入")
'If i = "" Then Exit Sub
DataEnvironment1.Connection1.Open App.Path & "\userdatabase\tsl.mdb"
DataEnvironment1.rsCommand1.Open "select * from table3 where 编号='" & i & "'"
'Set DataReport2.DataSource = DataEnvironment1
'DataReport2.DataMember = "command1"
'DataReport2.show
end sub

四、利用ADO(ActiveX Data Objects)进行编程:
建立连接:
dim conn as new adodb.connection
dim rs as new adodb.recordset
dim str
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\tsl.mdb"
conn.open str
rs.cursorlocation=aduseclient
rs.open
"数据表名",conn,adopenkeyset.adlockpessimistic
用完之后关闭数据库:
conn.close
set conn=nothing


如何让用户自行输入方程式,并计算其结果?

假设我们要让使用者在“方程式”栏位中自由输入方程式,然后利用方程式进行计算,则引用ScriptControl控件可以很方便地做到。
( ScriptControl 控件附属于VB
6.0,如果安装后没有看到此一控件,可在光盘的 \Common\Tools\VB\Script 目录底下找此一控件, 其.文件名为Msscript.ocx。) 假设放在窗体上的ScriptControl控件名称为ScriptControl1,则在“计算”按钮的Click事件中编写如下代码: Dim Statement As String Statement = "X=" + Text1.Text + vbCrLf + _ "Y=" + Text2.Text + vbCrLf + _ "MsgBox ""计算结果="" & Y " ScriptControl1.ExecuteStatement( Statement


如何让一个 App 永远保持在最上层 ( Always
on Top )

请在声明区中加入以下声明

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Const
SWP_NOMOVE = &H2 '不更动目前视窗位置
Const SWP_NOSIZE = &H1 '不更动目前视窗大小
Const HWND_TOPMOST = -1 '设定为最上层
Const HWND_NOTOPMOST = -2 '取消最上层设定
Const FLAGS = SWP_NOMOVE or SWP_NOSIZE

'将 APP 视窗设定成永远保持在最上层
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS

'取消最上层设定
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS


我要如何在程序中开启网页?

在声明区中声明如下 (在 .bas 档中用
Public, 在 Form 中用 Private)

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

在程序中

Intranet:
ShellExecute Me.hWnd,
"open", "http://Intranet主机/目录", "", "", 5
Internet:
ShellExecute Me.hWnd,
"open", "http://www.ruentex.com.tw", "", "", 5





VB可以产生四角形以外其他形状的 Form 吗?

这个问题,您一定无法想像有多容易,您可以产生任何形状的 Form,但必须借助 CreateEllipticRgn 及 SetWindowRgn 二个 API ,例如:

Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Declare Function
SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Sub
Form_Load()
Dim lReturn As Long
Me.Show
lReturn = SetWindowRgn(hWnd, CreateEllipticRgn(
10, 10, 340, 150), True)
End Sub

执行结果图片

CreateEllipticRgn 之四个参数说明如下:
X1:椭圆中心点之X轴位置,但以 Form 的实№边界为限。
Y1:椭圆中心点之Y轴位置,但以 Form 的实№边界为限。
X2:椭圆长边的长度
Y2:椭圆短边的长度的


如何移除 Form 右上方之『X』按钮?

其实 Form 右上方之三个按钮分别对应到 Form 左上方控制盒 (ControlBox) 中的几个选项 (缩到最小 / 放到最大 / 关闭),而其中的最大化 (MaxButton) 及最小化 (Minbutton) 都可以直接在 Form 的属性中设定,但是 VB 并没有提供设定『X』按钮的功能!要达到这个功能,必须借助 API:

由于『X』按钮对应到 ControlBox 的关闭选项,所以我们只要移除系统 Menu (就是ControlBox) 的关闭选项即可!您自己可以先看看您现在使用的 Browser 左上方的系统 Menu,【关闭】选项是在第几个,不是第
6 个!是第 7 个,分隔线也算一个!分隔线才是第 6 个!

当我们移除了关闭选项之後,会留下一条很奇怪的分隔线,所以最好连分隔线也一并移除。而 Menu 的 Index 是从
0 开始,分隔线是第 6 个,所以 Index = 5

修正:为了让程序码在 Windows NT 也能运作正常,将各
Integer 型态改成 Long。 89.05.04

'抓取系统 Menu 的 hwnd
Private Declare Function GetSystemMenu Lib "user32" Alias "GetSystemMenu" (ByVal hwnd As Long, ByVal bRevert As Long) As Long

'移除系统 Menu 的 API
Private Declare Function RemoveMenu Lib "user32" Alias "RemoveMenu" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
'第一个参数是系统 Menu 的 hwnd
'第二个参数是要移除选项的 Index


如何制作透明的表单 (Form)?

请在声明区中放入以下声明

Const GWL_EXSTYLE = (-20)
Const WS_EX_TRANSPARENT = &H20&
Const SWP_FRAMECHANGED = &H20
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_SHOWME = SWP_FRAMECHANGED or SWP_NOMOVE or SWP_NOSIZE
Const HWND_NOTOPMOST = -2

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function
SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

在 Form_Load 使用的范例如下:

Private Sub Form_Load()
SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
SetWindowPos Me.hwnd, HWND_NOTOPMOST,
0&, 0&, 0&, 0&, SWP_SHOWME
Me.Refresh
End Sub


如何在 Menu 中加入MM的图案?

在模组中加入以下程序码:

Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

Declare Function
GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Declare Function
GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Declare Function
SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

Public Const
MF_BITMAP = &H4&

Type MENUITEMINFO
cbSize
As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End
Type

Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long

Declare Function
GetMenuItemInfo Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, _
ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO) As Boolean

Public Const
MIIM_ID = &H2
Public Const MIIM_TYPE = &H10
Public Const MFT_STRING = &H0&

在 Form 中加入一个 PictureBox,属性设定为:
AutoSize =
True
Picture = .bmp (尺寸大小为 13x13,不可设定为 .ico)

在 Form_Load 中的程序码如下:

Private Sub Form_Load()
'取得程序中 Mennu 的 handle
hMenu& = GetMenu(Form1.hWnd)
'取得第一个 submenu 的 handle
hSubMenu& = GetSubMenu(hMenu&, 0)
'取得 Submenu 第一个选项的 menuId
hID& = GetMenuItemID(hSubMenu&, 0)
'加入图片
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture
'在一个 Menu 选项中您一共可以加入二张图片
'一张是 checked 状态用,一张是 unchecked 状态用
End Sub

89、如何把小图片填满 Form 成为背景图?

对于这个问题,我看过很多方法,有的方法很麻烦,要声明一大堆 Type,用一大堆的 API,但是有一个最笨但我认为最好的方法如下: (就好像拼磁砖一样,不用任何 API, 不必声明任何 Type)

在 Form 中放一个 PictureBox,Picture 属性设定为某一张小图,AutoSize 属性性设定 True,完成的模组如下:

Sub PictureTile(Frm As Form, Pic As PictureBox)
Dim i As Integer
Dim
t As Integer
Frm.AutoRedraw = True
Pic.BorderStyle = 0
For t = 0 To Frm.Height Step Pic.ScaleHeight
For i = 0 To Frm.Width Step Pic.ScaleWidth
Frm.PaintPicture Pic.Picture, i, t
Next i
Next t
End Sub

PictureTile 这个模组共有二个参数,第一个是表单名称,第二个则是 PictureBox 的名称。以下为一应用实例:

Private Sub Form_Load()
PictureTile
Me, Picture1
End Sub

90、如何把小图片填满 MDIForm 成为背景图?

以下这个范例, 要:
1、一个 MDIForm:不必设定任何属性。
2、一个 Form1:不一定是 MDIChild,最好 MDIChild 为 False,但是 AutoRedraw 设成 True。
3、Form1 上面放一个隐藏的 PictureBox:名称为 Picture1,不必设定 Picture 属性。
4、一张图片的完整路径。

'将以下模组放入 MDIForm 的声明区中:

Sub TileMDIBkgd(MDIForm As Form, bkgdtiler As Form, bkgdfile As String)
If bkgdfile = "" Then Exit Sub
Dim
ScWidth%, ScHeight%
ScWidth% = Screen.Width / Screen.TwipsPerPixelX
ScHeight% = Screen.Height / Screen.TwipsPerPixelY
Load bkgdtiler
bkgdtiler.Height = Screen.Height
bkgdtiler.Width = Screen.Width
bkgdtiler.ScaleMode =
3
bkgdtiler!Picture1.Top = 0
bkgdtiler!Picture1.Left = 0
bkgdtiler!Picture1.Picture = LoadPicture(bkgdfile)
bkgdtiler!Picture1.ScaleMode =
3

For n% = 0 To ScHeight% Step bkgdtiler!Picture1.ScaleHeight
For o% = 0 To ScWidth% Step bkgdtiler!Picture1.ScaleWidth
bkgdtiler.PaintPicture bkgdtiler!Picture1.Picture, o%, n%
Next o%
Next n%

MDIForm.Picture = bkgdtiler.Image
Unload bkgdtiler
End Sub

以下为一应用实例:

Private Sub MDIForm_Load()
TileMDIBkgd
Me, Form1, "c:\windows\Tiles.bmp"
End Sub


关闭指定的程序

要做到像 Task Manager 一样,可以关闭指定的程序,方法如下:

在声明区中放入以下声明:(
16位 改成 win31 API)

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Declare Function
PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Const
WM_CLOSE = &H10

以下之范例示范如何关闭一个视窗标题 (Caption) 为 【小算盘】的程序:

Dim winHwnd As Long
Dim
RetVal As Long
winHwnd = FindWindow(vbNullString, "小算盘")
Debug.Print winHwnd
If winHwnd <> 0 Then
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If RetVal = 0 Then
MsgBox "Error posting message."
End If
Else
MsgBox "并未开启小算盘程序."
End If


如何隐藏及再显示鼠标

很简单,只用到了一个 ShowCursor API,参数也很简单,只有一个 bShow,设定值如下:

True:显示鼠标 / False:隐藏鼠标

Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long


如何从您的应程序中结束 Windows 重开机?

很多软件在 Setup 完之后都会自动关机重开机,以便让某些设定值可以生效,其实这个功能很简单,只要几行指令就可以做到了!

关键就是要使用 ExitWindowsEx 这个 API,这个 API 只有二个参数,第一个参数是一个 Flag,目的是要告诉 Windows 要以什么方式关机,在下面的声明中会列出可用的 Flag 常数值,至于第二个参数则是一个保留值,只要设定成
0 就可以了。

很重要的一点是:如果您想要让关机动作更顺利,记得要 Unload 您的程序!

'在声明区中 (Bas Module / Form Module) 加入以下声明:

Public Const EWX_LOGOFF = 0 '这四个常数值可以并用
Public Const EWX_SHUTDOWN = 1
Public Const

《姓名大乐斗》各版本下载:https://github.com/airingursb/nameplayer/releases 姓名大作战 1.0 游戏内容: 输入两个人的姓名,即可进行姓名PK。 有六项属性值: 生命值,攻击,防御,速度,命中,运气。 除了运气,其他5项属性每个姓名都有唯一的属性值相匹配。 目前只支持输入中文名。 有四项特殊技能:九阳神功,降龙十八掌,快速治疗,垂死挣扎 具体内容,大家玩玩就知道啦~ 欢迎各位提出宝贵意见,提交BUG,升级意见欢迎投稿邮箱:gx-deng@163.com 另外欢迎联系QQ:361411192 创作日期:2014.4.5 ---------------------------------------------------------------------- 姓名大作战 1.1 更新内容如下: 1.修复了速度属性值可能为0的BUG 2.修复了运气值相等时无法开始游戏的BUG 3.优化了游戏界面 4.增加了调整游戏速度的按钮 5.增加了作弊器 6.增加了复位键 至于增加新的技能,等下个版本再吧!这个版本还是遵循网页传统版本做的,贸然增加新的东西进去不但可能破坏游戏平衡性,还会引来不必要的BUG。 谢谢游戏! 更新日期:2014.4.6 ---------------------------------------------------------------------- 姓名大作战 1.2 更新内容如下: 1.优化了游戏页面,删除了一些多余的按钮 2.修改了战斗先手系统,融入了速度属性值因素 3.修改了游戏速度按钮 4.优化了作弊器 5.降低触发“垂死挣扎”的条件:触发血量上调至15 6.修复了text控件可编辑的BUG 7.发现了“降龙十八掌”中的巨大BUG,删除了此项技能 8.丰富了提示系统,并添加了登录窗口 用户名:Airing 密码:123 9.增强了“快速治疗”回复的最大生命值(由原来的20上调至30) 10.增加了“吸星大法”,可以吸收对方生命值和属性值 此次修改之后游戏算是成型了,新添加“吸星大法”或许有些BT,会在以后慢慢调整的,另外增加恢复HP系统是为了变相削弱攻击力属性。在测试中,发现攻击力过于逆天,有些姓名的攻击可以相差到100点,以至于秒杀,毫无游戏观赏性。伤害计算公式较为合理,所以只能够通过技能来增加伤害。另外,原来的“降龙十八掌”很鸡肋,初期释放过于逆天,后期释放相当于没放,运气成分过大,所以将其删除。今后会就持续游戏做出调整,比如增加姓名的HP、增加防御或者削弱攻击来达到持续战斗的目的。下个版本会融入命中率参数。 有任何新的游戏建议请联系本人,谢谢支持! 更新日期:2014.4.9 ---------------------------------------------------------------------- 姓名大作战 1.3 更新内容如下: 1.优化了登陆窗口,增加了登录系统 系统试用账号:2014612,密码:222222 2.增加了注册系统,用户名与姓名关联,一人一号 3.增加了密码找回系统 4.增加了管理员系统 5.削弱了“吸星大法”,削弱释放几率,限制使用次数 (由原本的47.5%下调为7%,全场限制施放3次) 6.增加了新技能“八门遁甲” 7.增强了“九阳神功”,取消了施放失败的情况,增强了技能威力,释放几率大 幅增加(由原本下降最大属性10点,上调为15点,释放几率由2.5%升为15%) 8.增强了“快速治疗”,释放几率大幅增加(由原本的2.5%上调至10%) 9.增强了普通攻击,基础攻击上调,释放几率增加 (基础攻击最大值由10点上升到30点,释放几率由47.5%上调至60%) 10.修复了连续与同一人作战产生相同作战过程的BUG 12.增加了胜场显示标签 新技能介绍:八门遁甲:增加自身属性值300~400点,自使用起,三个回合未解决战斗,则施放者功力枯竭而死,全场使用次数上限为1次,释放几率为5%。 更新中断了两个月,其实是在弄别的游戏,这次将技能大改动,削弱了上个版本很BUG的吸星大法。吸星大法本身效果BT,然后释放几率高达50%,所以两个人来回吸,你吸我一口我吸你一口,打个三五分钟都无法结束战斗。故本版本从几率和施放上限上削弱了吸星大法。本版本在增加普攻几率的同时,通过增加破甲基本攻击,削弱了高防御属性的姓名。平衡了各个技能的出现几率。最主要的是增加了数据库,做出登录系统,采用一人一号制,为未来的更新打下的基础。 更新日期:2014.6.13 ---------------------------------------------------------------------- 姓名大乐斗 1.4 更新内容如下: 1.《姓名大作战》正式更名《姓名大乐斗》 2.加密了数据库 3.增加了人物等级和技能等级系统 4.增加了金钱系统 4.增加了属性窗口 5.增加了显示失败场次 6.增加了商店系统,并引入新物品:小红药 7.增加了物品系统,加入新物品“小红药”和“复活药” 8.增加了新技能“金蝉脱壳” 9.“垂死挣扎”更名为“回光返照” 10.修复了使用八门遁甲功力枯竭身亡不算失败的BUG 11.修复了一方攻击比另一方防御高的时候,普攻有几率给对方加血的BUG 12.修复了可以输入不规范对手名的BUG 13.将命中属性更名为敏捷属性 14.增加了游客试玩界面(v1.3版本) 15.增加了新副本——试炼之塔 16.增加了乐斗模式 新物品介绍: 小红药:限试炼之塔使用,售价100/个,效果HP+50 复活药:限试炼之塔死亡时使用,目前只有通关试炼之塔才可获得,死亡时原地满状态复活 新技能介绍:金蝉脱壳:HP降为0时有几率以一定血量复活,每人限用1次 Lv1:触发几率5%,复活后血量20 Lv2:触发几率6%,复活后血量30 Lv3:触发几率7%,复活后血量40 新副本介绍:试炼之塔:共十层,守塔人为教技十男子。挑战过程中可以使用物品,挑战过程中状态不会回复,一旦挑战失败便会掉到第一层。通关奖励:金币5000,小红药*10,复活药*1 新模式介绍:乐斗模式:节操无下限,血量无上限!!取消等级系统,所有角色血量上限扩大20倍,八门遁甲释放几率上升为20%,并且取消限制使用次数,使用之后也不会死亡!!!金蝉脱壳触发几率上调为50%,取消限制使用次数,复活血量升为100~300!!九阳神功威力提升三倍!!尽情疯狂的打架吧!! 人物等级介绍: Lv1:胜场0~2 Lv2:胜场3~9 Lv3:胜场10~19 Lv4:胜场20~ 技能等级介绍:(主动技能的释放几率不会随等级变化) 破甲攻击: Lv1:伤害值0~30 Lv2:伤害值5~30 Lv3:伤害值5~35 九阳神功: Lv1:属性下降值1~15 Lv2:属性下降值2~17 Lv3:属性下降值3~20 八门遁甲: Lv1:属性提升值300~400 Lv2:属性提升值320~420 Lv3:属性提升值340~440 快速回复: Lv1:治疗值0~30 Lv2:治疗值10~40 Lv3:治疗值20~50 吸星大法: Lv1:吸收比率10% Lv2:吸收比率11% Lv3:吸收比率12% 回光返照: Lv1:属性提升值0~10,触发血量上限15 Lv2:属性提升值2~15,触发血量上限17 Lv3:属性提升值5~20,触发血量上限20 试炼之塔NPC介绍: 第1层:刘杰容——50,20,10,15,14 第2层:张荣佳——100,50,10,42,41 第3层:赵俊杰——2500,0,0,0,0 第4层:陈谊明——300,100,20,50,50 第5层:黄晓剑——100,300,100,50,50 第6层:赖鹏津——2000,0,500,0,0 第7层:梅震坤——500,200,200,50,50 第8层:缎嘉文——300,200,100,5000,50 第9层:范振威——3000,100,200,50,50 第10层:邓国雄——5000,500,500,500,500 经过几天几夜的更新,终于迎来了《姓名大乐斗1.4》,这次改动是几次来最大的,加入了新技能,副本系统,金钱系统,等级系统,乐斗模式,游客模式,物品系统,商店系统~~哇塞,居然改了这么多!嗯,努力往全球第一发展,争取游戏越做越大,玩家越来越多!!接下来会丰富物品系统和副本,推出越来越多的新模式,加入更多的新技能!!动画版是下一个大目标,在动画版做出来之前先慢慢丰富游戏内容,平衡游戏,增加游戏可玩度!之后的大目标的实现联网PVP对战,相信不久的将来,呈现给大家的是全新的《姓名大乐斗》!谢谢支持! 更新日期:2014.6.15 ---------------------------------------------------------------------- 姓名大乐斗 1.5 更新内容如下: 1.支持联机PVP,所有注册资源共享 2.新增了擂台战模式,只要打赢了擂主就能成为擂主,每次挑战消耗100金币,成为擂主有丰厚奖励!(金币*200,复活药*1) 3.新增了联机对战模式,只要输入对方的ID便能够PK 4.降低了小红药的售价,从200金币/个改为100金币/个 5.试炼之塔进入需要购买门票——100金币/次 6.试炼之塔不再触发八门遁甲 7.提高试炼之塔的奖励制度(第三层之后每层奖励200金币,并且回复300HP,通过之后复活药奖励改为3个) 8.新增了更新检查系统 经过几天几夜的更新,终于迎来了《姓名大乐斗1.5》,这次最重大的改动是可以联网了!!没错,新增的决斗场和擂台战绝对可以让玩家们感受到竞技的乐趣。上个版本关于试炼之塔的BUG已经修复,比如可以无限刷“刘杰容”来刷金币刷等级,莫名其妙触发八门遁甲而死的⋯⋯增加了门票收费制度的同时也丰富了奖励制度。嗯,差不多就是这样。另外新增了更新检查,有更新会提示的,暂时无法做到自动更新,注意关注我的微博,会有更新说明的。另外,招美工,为2.0版本做准备!谢谢支持! 微博:Airing-安灵 更新日期:2014.6.17 ----------------------------------------------------------------------- 更多更新可以关注:https://github.com/airingursb/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值