用VB语言写小说的原理?

用VB语言写小说的原理?,第1张

'vb 建立随机短旅虚语组合

'示例代码,事先需要建立 配置短语.txt 输入短语“大地 星星 爱 我们 喜欢 ...”等等

'将代码保存为 .vbs 文件运行

Dim fso

Set fso=CreateObject("Scripting.FileSystemObject")

set frn=fso.opentextfile("配置短语.txt",1)

Randomize

strTemArray=frn.readline

strArray=Split(strTemArray)

''确定数组大小

for each key in strArray

intCount=intCount+1

next

''随机输出数组

Redim boolStr(intCount-1)

While count<=(intCount-1)

num=int(rnd*intCount)

if boolStr(num)=False then

juzi=juzi & strArray(num)

boolStr(num)=True

count=count+1

end if

Wend

Set ie=CreateObject("InternetExplorer.Application")

ie.Navigate "about:blank"

ie.Document.ParentWindow.ClipboardData.SetData "text", juzi

Set WshShell=CreateObject("Wscript.Shell")

WshShell.Run "Notepad.exe"

WSH.Sleep 100

WshShell.SendKeys "^(v)"

简单来说就是三个阶段的工作:

1、首先是要建立词汇字典

比如说人名,形容词,动词等等的词汇集合,

就像有人便翻新华字典,边给小孩取名字一样,字典就是他的词库。

这个可以利用词汇词典,或者从网上现成的作品中提取来实现,是一个相对容易的阶段。

2、利用 vb(其实任何支持文本 *** 作的 编程语言都可以)建立随机组合文本的程序。当然还是要拆陵燃有一个规则,比如:

名词+动词+形容词+动词+形容词

或者

人名+动词+形容词

(这个阶段是个废脑筋,建立规则的阶段,数据库和代码的技术相对来说是比较成熟的。)

3、程序生成的文本很多汪野都是词不达意的,所以要进行后期的校对修缮(这是最关键,也是最耗时的阶段),你提到的那个小说其实现在都还在修改中吧。

简单来说就是2个阶段的工作:

1、首先是要建立词汇字典:

比如说人名,形容词,动词等等的词汇集合,

就像有人便翻新华字典,边给小孩取名字一样,字典就是他的词库。

这个可以利用词汇词典,或者从网上现成的作品中提取来实现,是一个相对容易的阶段。

2、利用 vb(其实任何支持文本 *** 作的 编程语言都可以)建立随机组合文本的程序。当然还是要有一个规则。

按纯文本(txt格式)计则型卖算,本书的大小超过340MB,如换成中文计算。总字数应该不会少于一亿七千万字。这次公开的是本书中的前二十部,后面的九十一部及未来的升级版、简化版和第一人称版《蘑菇王子传》将在找到理想的合作者之后再陆续推出。

扩展资料:

一、当然也是字数最多的小说。虽然不敢说本书是第一部字数超千万的小说,但我相信:如果按中文计算,迄今为止世界上没有哪个人能够写出字数超过一亿字的文学作品。

二、本书至少描写了一万七千个前所未有的有着不同姓名、不同容貌、不同特长的人物,另外本书还至少描述了两万七千种造型新奇、行为怪异的怪物。注:从理论上说:本程序可以随机生成的各种不同人物、怪物和景物,每种至少也在一万亿以上。

三、本书是世界史租册上写作速度最快孙逗的超长篇小说。完成这部长达1.7亿字的小说只用了37个小时(不包括编程时间)!如果使用目前最高64核处理器速度可提升上百倍。

1.先将你的txt文件放入特定的文件夹,

2.遍历文件夹内的所有文件,

3.打开文件,提取第一与第漏团二行的数据,

如下VBA代码在Excel里面运行,先修改文件夹洞搜喊名称再运行,

Sub programX()

Application.DisplayAlerts = False :

Application.ScreenUpdating = False : ChengXuWenjianMing = ActiveWorkbook.Name

JiLuBiao = ActiveSheet.Name:

Cells.ClearContents

WenJianJiaMingCheng =

"C:\LiangYouFu\ImportantBackup\" '反斜杠纳野不可省略

WenJianMing = Dir(WenJianJiaMingCheng)

Do While WenJianMing <>

""

WenJianMing = Dir

ChuLiShuJu WenJianJiaMingCheng,

WenJianMing, ChengXuWenjianMing, JiLuBiao

Loop

MsgBox "文件遍历结束,请查看数据!

End Sub

Sub ChuLiShuJu(WenJianJiaMingCheng,

WenJianMing, ChengXuWenjianMing, JiLuBiao)

on error resume next

Open WenJianJiaMingCheng &

WenJianMing for input as #1

line input #1,infox

pox = Application.CountA(Workbooks(ChengXuWenjianMing).Sheets(JiLuBiao).Range("a:a")) + 1

Workbooks(ChengXuWenjianMing).Sheets(JiLuBiao).Cells(pox, 1) = infox

line input #1,infox

pox = Application.CountA(Workbooks(ChengXuWenjianMing).Sheets(JiLuBiao).Range("a:a")) + 1

Workbooks(ChengXuWenjianMing).Sheets(JiLuBiao).Cells(pox, 1) = infox

close #1

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8215095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存