并行存储与计算的小程序

11 提交 / 0个新回复
最新回复
并行存储与计算的小程序

以下为chenghw的回复:
这是我在2005年编写的一个小程序,关于这个程序有问题现在就不要问我了,我已有多年没有编程了,现在我可能也看不明白。
这个小程序就有关于记忆柱的编写的问题。
虽然整个程序不太理想,但它通过特殊的学习可具有实现阶段主注意目的的能力,这说明通过适当的编程智能软件可具有意志(它能长时间的为实现某一目的而行动)。当然现阶段无多少实用价值。
它的使用方法是:
1、先点文件建立(建立的过程要一些时间)。
2、在强制按键下的文本框中填入3323(是抓取食物获得奖赏),点强制按键,点开始。
3、在程序运行的过程中(在text1与text2中的数字最后一个不为零时)将3323修改为3222然后点强制,过一会再重复几次(在text1与text2中的数字最后一个不为零时,如快为零时可点奖按键)使其学会位置移动。
4、然后等待一段时间在text6中的数字改变(text6中的数字改变表示主注意目的改变或亚主注意目的形成第一个数字为零时表示主注意目的,其它的为亚主注意目的)后可点强制,使软件学会在阶段主注意目的形成后通过位置移动来完成阶段主注意目的能力,多学几次就会了。
5、那么只要保持在text1或text2中的数字最后一个不为零,软件便会不断的形成阶段主注意目的,并完成它。
Public zhan
Public i
Public th
Public t12
Public zhanamount1
Public timesign
Public transportjc
Public zhanamount
Public zhuamount
Public xinfen2
Public input2
Public number1
Public er
Public zhutimesign
Public jd
Public dong
Public qiangzhi
Private Sub Command1_Click()
All = 572000 '所有的rn数
t12 = 0
For t = 1 To 125000 * 5
Put 1, t, -t12 * 0
Next t

For n = 1 To 72
'易兴奋的记忆柱,一个一个的记忆柱
'output
For t = 1 To 72
If t < n Then
Put 1, t + (n - 1) * 400 * 5 + 958, n + (t - 1) * 400 * 5
End If
If t > n Then
Put 1, t - 1 + (n - 1) * 400 * 5 + 958, n + (t - 1) * 400 * 5
End If
Next t
'不易兴奋的记忆柱
For t = 1 To 72
Put 1, 480000 + (n - 1) * 60 * 5 + t, n + 48 * 5 - 1 + (t - 1) * 400 * 5
Next t
'与奖惩的联系
For t = 1 To 4
Put 1, 480000 + (n - 1) * 60 * 5 + 48 * 5 + t, 480000 + 72000 + n + (t - 1) * 200 * 5
Next t
Next n
End Sub

Private Sub Command2_Click()
Timer1.Enabled = True
End Sub

Private Sub Command3_Click()
Timer1.Enabled = False
End Sub

Private Sub Command4_Click()
Text1.Text = 111106
End Sub

Private Sub Command5_Click()
Text2.Text = 112206
End Sub

Private Sub Command6_Click()
qiangzhi = 12
End Sub

Private Sub Form_Load()
Command1.Caption = "文件建立"
Command2.Caption = "开始"
Command3.Caption = "结束"
Text1.Text = 111106
Text2.Text = 112206
Text3.Text = 1133
Text5.Text = Empty
Text6.Text = Empty
Text7.Text = Empty
Text4.Text = Empty
Text8.Text = Empty
i = 1
er = 1
input2 = Text1.Text
Timer1.Interval = 1000
Open "d:\并行存储.txt" For Random As 1 Len = 10
zhan = 2
t12 = 0
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Static xinfen(4) '定义前一刻被选择兴奋的记忆柱群
Static xinfen11(4)
Static amount '前一刻被选择兴奋的记忆柱群数
Static xinfen21(4)
Static zhu(4)
Static xinfen211(4)
Static xinfen12(4)
Static xinfen22(4)
Static jdzhu(5, 4)
Static jdya(4)
Dim jdsign
If xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 61 Then
th = th + 2
Else
th = th + 1
End If

timesign1 = timesign
timesign = Date + Time
'刺激的输入
Static xinfen1(4)
Dim input1
Dim transportsign(6)
'选择输入的text,并获取它的值
input1 = Text5.Text
Select Case er
Case 1
xinfen2 = 1111
er = er + 1
Case 2
xinfen2 = 3222
er = er + 1
Case 3
xinfen2 = 1332
er = er + 1
Case 4
xinfen2 = 3323
er = 1
End Select
transportjc = 0
If xinfen(1) = 25 + 36 And xinfen(2) = 28 + 36 And xinfen(3) = 31 + 36 And xinfen(4) = 34 + 36 Then
th = 0
jcvalue = 200
transportjc = 200
End If
If xinfen(1) = 26 + 36 And xinfen(2) = 29 + 36 And xinfen(3) = 32 + 36 And xinfen(4) = 35 + 36 Then
th = 0
transportjc = -100
jcvalue = -100
For t = 1 To 4
jdya(t) = xinfen11(t)
Next t
jdsign = -1
End If
Text7.Text = input2

inputvalue = 24 '刺激对记忆柱的兴奋能力为9
For t = 1 To 4
transportsign(t) = Mid(input2, t, 1)
xinfen1(t) = (t - 1) * 3 + transportsign(t)
xinfen12(t) = (t - 1) * 3 + transportsign(t) + 12
For t1 = 1 To 2
Get 1, 480000 + 60 * (xinfen1(t) - 1) * 5 + 48 * 5 + t1, jcrn
Get 1, jcrn, jcvalue1
Get 1, jcrn + 48 * 5, time1
passbyref jcvalue1, timesign, time1 '调用遗忘
inputvalue1 = jcvalue1 * (-t1 * 2 + 3)
inputvalue = inputvalue + inputvalue1
Next t1
Next t

'发生奖惩前兴奋的
If xinfen(1) = 39 And xinfen(2) = 42 And xinfen(3) = 44 And xinfen(4) = 48 Then
If xinfen1(1) = 1 And xinfen1(2) = 4 Then
xinfen211(1) = 25 + 36
xinfen211(2) = 28 + 36
xinfen211(3) = 31 + 36
xinfen211(4) = 34 + 36
Else
xinfen211(1) = 26 + 36
xinfen211(2) = 29 + 36
xinfen211(3) = 32 + 36
xinfen211(4) = 35 + 36
End If
For t = 1 To 4
xinfen11(t) = xinfen(t)
Next t
GoTo 11111
End If

'奖惩发生或没发生的奖惩记忆
zhanamount12 = zhanamount1 - 8
If xinfen(1) = zhu(1) And xinfen(2) = zhu(2) And xinfen(3) = zhu(3) And xinfen(4) = zhu(4) And xinfen(1) > 0 And jd = 0 Then
zhusign = 1
ki = 78
l = 1
passbyjc zhanamount1, ki, l
'奖赏发生后与前面的主注意对象的记忆联系
passbyvalue zhanamount12, l, xinfen(1), xinfen(2), xinfen(3), xinfen(4)
If xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
passbyvalue zhanamount12, l, xinfen22(1), xinfen22(2), xinfen22(3), xinfen22(4)
End If
If xinfen(1) < 13 Or xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
passbyvalue3 zhanamount1 '相互兴奋的加强
End If
th = 0
zhanamount1 = 0
Else
If transportjc > 50 Or transportjc < -50 And xinfen(1) > 0 Then
ki = 0
l = 1
passbyjc zhanamount1, ki, l
'奖赏发生后与前面的主注意对象的记忆联系
passbyvalue zhanamount12, l, xinfen(1), xinfen(2), xinfen(3), xinfen(4)
If xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
passbyvalue zhanamount12, l, xinfen22(1), xinfen22(2), xinfen22(3), xinfen22(4)
End If
If xinfen(1) < 13 Or xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
passbyvalue3 zhanamount1 '相互兴奋的加强
End If
th = 0
zhanamount1 = 0
End If
End If

Put 1, 575000, timesign - 1
For t = 1 To 72
Put 1, 400 * (t - 1) * 5 + 1986, timesign - 1
Put 1, 400 * (t - 1) * 5 + 1987, timesign - 1
Next t

'确定阶段主注意目的,及亚主注意目的
If xinfen(1) > 12 And xinfen(1) < 37 Or xinfen(1) > 48 And xinfen(1) < 61 Then
If xinfen(1) = zhu(1) - 12 And xinfen(2) = zhu(2) - 12 And xinfen(3) = zhu(3) - 12 And xinfen(4) = zhu(4) - 12 Then
If xinfen11(1) < 25 And xinfen11(1) > 12 Then '阶段主注意目的的确定
zhusign = 1
zhutimesign = timesign
jd = jd + 1
th = 0
For t = 1 To 4
jdzhu(jd, t) = xinfen11(t) - 12
jdzhu(jd - 1, t) = zhu(t)
zhu(t) = xinfen11(t) - 12
Next t
End If
If xinfen11(1) < 61 And xinfen11(1) > 48 Or xinfen11(1) < 37 And xinfen11(1) > 24 Then '亚主注意目的的确定
For t = 1 To 4
jdya(t) = xinfen11(t) + 12
Next t
jdsign = 1
End If
End If
If xinfen(1) = 25 + 24 And xinfen(2) = 28 + 24 And xinfen(3) = 31 + 24 And xinfen(4) = 34 + 24 Then
If xinfen11(1) < 61 And xinfen11(1) > 48 Or xinfen11(1) < 37 And xinfen11(1) > 24 Then
For t = 1 To 4
jdya(t) = xinfen11(t) + 12
Next t
jdsign = 1
End If
End If
If xinfen(1) = 26 + 24 And xinfen(2) = 29 + 24 And xinfen(3) = 32 + 24 And xinfen(4) = 35 + 24 Then
If xinfen11(1) < 61 And xinfen11(1) > 48 Or xinfen11(1) < 37 And xinfen11(1) > 24 Then
For t = 1 To 4
jdya(t) = xinfen11(t) + 12
Next t
jdsign = -1
End If
End If
End If

'阶段主注意目的或主注意目的的完成
If xinfen1(1) = zhu(1) And xinfen1(2) = zhu(2) And xinfen1(3) = zhu(3) And xinfen1(4) = zhu(4) Then
If jd > 0 Then '阶段主注意目的完成
zhusign = 1
l = 1
zhanamount12 = zhanamount1 - 8
passbyvalue zhanamount12, l, xinfen1(1), xinfen1(2), xinfen1(3), xinfen1(4) '与阶段主注意对象的联系加强
passbyvalue3 zhanamount1 '相互兴奋的加强
jd = jd - 1
th = 0
For t = 1 To 4
zhu(t) = jdzhu(jd, t)
Next
End If
End If

'记录这一刻兴奋的以备下一刻用
For t = 1 To 4
xinfen11(t) = xinfen(t)
Next t

If th >= 9 Then
ki = 78
th = 0
xinfen211(1) = 26 + 36
xinfen211(2) = 29 + 36
xinfen211(3) = 32 + 36
xinfen211(4) = 35 + 36
For t = 1 To 4
xinfen11(t) = xinfen(t)
Next t
GoTo 11111
End If

'计算被选择兴奋的记忆柱的动力
jcvalue = 0
For t = 1 To amount
For t1 = 1 To 2
Get 1, 480000 + 60 * (xinfen(t) - 1) * 5 + 48 * 5 + t1, jcrn
Get 1, jcrn, jcvalue1
Get 1, jcrn + 48 * 5, time1
passbyref jcvalue1, timesign, time1 '调用遗忘
jcvalue = jcvalue + jcvalue1 * (-t1 * 2 + 3)
Next t1
Next t
'动力比较
If dong >= jcvalue And dong >= inputvalue And zhu(1) > 0 Then
If zhusign = 0 Then GoTo 1234
zhutimesign = timesign
End If
'文本框输入的动力比较
If inputvalue > dong And inputvalue >= jcvalue Or dong = 0 Then
th = 0
jd = 0
dong = inputvalue
dongsign = dong
zhuamount = 4
zhutimesign = timesign
For t = 1 To 4
xinfen(t) = xinfen1(t)
zhu(t) = xinfen1(t)
jdzhu(jd, t) = xinfen(t)
Next t
End If
'被选择兴奋的动力比较
If dong < jcvalue And jcvalue > inputvalue Then
th = 0
jd = 0
dong = jcvalue
dongsign = dong
zhuamount = amount
zhutimesign = timesign
For t = 1 To 4
If xinfen(1) > 24 And xinfen(1) < 37 Or xinfen(1) > 48 And xinfen(1) < 61 Then
zhu(t) = xinfen(t) + 12
Else
zhu(t) = xinfen(t)
jdzhu(jd, t) = xinfen(t)
If xinfen(t) > 12 And xinfen(t) < 25 Then
zhu(t) = xinfen(t) - 12
jdzhu(jd, t) = xinfen(t) - 12
End If
End If
Next t
End If

'主注意目的对象之间的兴奋记忆
zhanamount1 = 0
s1 = zhu(1)
s2 = zhu(2)
s3 = zhu(3)
s4 = zhu(4)
passbyrefxin s1, s2, s3, s4

'主注意目的对象所易化的且与奖惩中枢建立了一定联系的记忆柱,并记录在23100到23200之间
If zhutimesign = timesign Then
For t = 1 To 4
w = 71
xinbyref w, zhu(t), f
Next t
For t = 1 To 4
w = 72
xinbyref w, zhu(t), f
Next t

'与奖惩联系达到一定强度后记录下来,直接记在383
Get 1, 575000, time1
If time1 = timesign Then
Get 1, 575000 + 1, amount
For t = 1 To amount
Get 1, 575000 + 1 + t, nozha
Get 1, (nozha - 1) * 400 * 5 + 1985, jcvalue
Put 1, (nozha - 1) * 400 * 5 + 1983, jcvalue
Put 1, (nozha - 1) * 400 * 5 + 1984, timesign
Next t
End If
End If

Put 1, 575000, timesign - 1
For t = 1 To 72
Put 1, 400 * (t - 1) * 5 + 1986, timesign - 1
Put 1, 400 * (t - 1) * 5 + 1987, timesign - 1
Next t

1234
'亚及阶段亚主注意对象的易化
If Abs(jdsign) = 1 Then
For t = 1 To 4
Get 1, (jdya(t) - 1) * 400 * 5 + 1984, jdsign1
Get 1, (jdya(t) - 12 - 1) * 400 * 5 + 1984, jdsign2
If jdsign1 = zhutimesign Then
Get 1, (jdya(t) - 1) * 400 * 5 + 1983, jcvalue
jcvalue = jcvalue + 150 * jdsign
Put 1, (jdya(t) - 1) * 400 * 5 + 1983, jcvalue
Else
Put 1, (jdya(t) - 1) * 400 * 5 + 1984, zhutimesign
Put 1, (jdya(t) - 1) * 400 * 5 + 1983, 200 * jdsign
End If
If jdsign2 = zhutimesign Then
Get 1, (jdya(t) - 12 - 1) * 400 * 5 + 1983, jcvalue1
jcvalue1 = jcvalue1 + 150 * jdsign / 2
Put 1, (jdya(t) - 12 - 1) * 400 * 5 + 1983, jcvalue1
Else
Put 1, (jdya(t) - 12 - 1) * 400 * 5 + 1984, zhutimesign
Put 1, (jdya(t) - 12 - 1) * 400 * 5 + 1983, 200 * jdsign / 2
End If
Next t

End If

'随机易化的记忆柱的易化计算
inputxinfen2 = 8 '易化的值
For t = 1 To 4
transportsign(t) = Mid(xinfen2, t, 1)
xinfen21(t) = (t - 1) * 3 + transportsign(t) + 36
j = xinfen21(t)
xinfenbyref j, inputxinfen2
Next t
If qiangzhi = 12 Then
inputxinfen2 = 20
For t = 1 To 4
transportsign(t) = Mid(Text8.Text, t, 1)
xinfen21(t) = (t - 1) * 3 + transportsign(t) + 36
j = xinfen21(t)
xinfenbyref j, inputxinfen2
Next t
End If
If k = 10000 Then
11111
inputxinfen2 = 9
For t = 1 To 4
j = xinfen211(t)
xinfenbyref j, inputxinfen2
Next t
End If

inputxinfen12 = -300
For t = 1 To 4
j = xinfen(t)
xinfenbyref j, inputxinfen12
Next t
inputxinfen12 = -100
For t = 1 To 4
j = xinfen12(t)
xinfenbyref j, inputxinfen12
Next t
'抑制时兴奋的记忆柱的易化
If zhanamount1 > 0 Then
For t = 1 To 4
For t1 = 1 To 72
Get 1, 480000 + t1 + (xinfen(t) - 1) * 60 * 5, zoutput
u = 1
upassbyvalue zoutput, u
If xinfen(1) > 36 And xinfen(1) < 49 Then
Get 1, 480000 + t1 + (xinfen22(t) - 1) * 60 * 5, zoutput2
u = 1
upassbyvalue zoutput2, u
End If
Next t1
Next t
End If
'传入兴奋的记忆柱抑制时兴奋的记忆柱的易化
For t = 1 To 4
For t1 = 1 To 72
Get 1, 480000 + t1 + (xinfen12(t) - 1) * 60 * 5, zoutput2
u = 1
upassbyvalue zoutput2, u
Next t1
Next t

'下面为走后计算位置
If Mid(Text5.Text, 1, 1) = 3 And Mid(Text5.Text, 2, 1) = 2 Then
For t = 1 To 4
transportsign(t) = Mid(input2, t, 1)
xinfen1(t) = (t - 1) * 3 + transportsign(t)
Next t
i = 3 - i
Select Case i
Case 1
input2 = Text1.Text
Case 2
input2 = Text2.Text
End Select
End If
number1 = Mid(input2, 6, 1)

'奖惩发生后的情况
If xinfen(1) = 25 + 36 And xinfen(2) = 28 + 36 And xinfen(3) = 31 + 36 And xinfen(4) = 34 + 36 Then
number1 = number1 - 1 '在抓吃了一个苹果后。
'当地的苹果吃完后text中的值的变化
Select Case i
Case 2
Text2.Text = Text2.Text - 1
If number1 = 0 Then
Text2.Text = Text2.Text + 110000
End If
input2 = Text2.Text
Case 1
Text1.Text = Text1.Text - 1
If number1 = 0 Then
Text1.Text = Text1.Text + 110000
End If
input2 = Text1.Text
End Select
End If

'选择出易兴奋的
Get 1, 577500, allamount '得出被兴奋的记忆柱的数目
Dim amount1(24)
Dim x(24, 3)
Dim valuex(24, 3)
For t = 1 To allamount
Get 1, 577500 + 1 + t, zho
If zho = 25 + 36 Or zho = 28 + 36 Or zho = 31 + 36 Or zho = 34 + 36 Or zho = 26 + 36 Or zho = 29 + 36 Or zho = 32 + 36 Or zho = 35 + 36 Or zho > 60 Or zho < 13 Then GoTo 33
Get 1, (zho - 1) * 400 * 5 + 1985, allvalue
'奖惩的动力
jz = (zho - 1) * 400 * 5
If zho = 37 Then
ui = 12
End If
Get 1, jz + 1984, rnzhutime
If zhutimesign = rnzhutime Then
Get 1, jz + 1983, jcvalue
allvalue = jcvalue + allvalue
End If
Get 1, jz + 1989, rnyihuatime
If timesign = rnyihuatime Then
Get 1, jz + 1988, jcvalue
allvalue = jcvalue + allvalue
End If
If zho / 3 = (zho \ 3) Then
n = (zho \ 3)
Else: n = (zho \ 3) + 1
End If
'计算出zho为那一反应小区
'amount(n)为第n个反应小区所兴奋的基本记忆柱数
amount1(n) = amount1(n) + 1
Select Case amount1(n)
Case 2
If valuex(n, 1) > allvalue Then
valuex(n, 2) = allvalue
x(n, 2) = zho
Else: x(n, 2) = x(n, 1)
valuex(n, 2) = valuex(n, 1)
valuex(n, 1) = allvalue
x(n, 1) = zho
End If
Case 3
If valuex(n, 1) < allvalue Then
x(n, 3) = x(n, 2)
valuex(n, 3) = valuex(n, 2)
x(n, 2) = x(n, 1)
valuex(n, 2) = valuex(n, 1)
x(n, 1) = zho
valuex(n, 1) = allvalue
Else
If valuex(n, 2) > allvalue Then
x(n, 3) = zho
valuex(n, 3) = allvalue
Else: x(n, 3) = x(n, 2)
valuex(n, 3) = valuex(n, 2)
x(n, 2) = zho
valuex(n, 2) = allvalue
End If

End If
Case 1
x(n, 1) = zho
valuex(n, 1) = allvalue
End Select
33
Next t

'在各个中枢按一定标准选出易兴奋的原始记忆柱群,t代表中枢,
't2代表反应区,t3代表反应区中第几个记忆柱(按兴奋能力排)
'先选择第一区,然后选择第二区
Dim x1(6, 4)
Dim valuex1(6, 4)
For t = 1 To 6
n1 = 4 * (t - 1) + 1
For t2 = 1 To amount1(n1) '选择一中枢的第一反应区
x1(t, 1) = x(n1, t2)
valuex1(t, 1) = valuex(n1, t2)
For t11 = 1 To amount1(n1 + 1) '第二最小反应区
x1(t, 2) = x(n1 + 1, t11)
valuex1(t, 2) = valuex(n1 + 1, t11)
Get 1, (x(n1 + 1, t11) - 1) * 400 * 5 + x(n1, t2), value
Get 1, (x(n1 + 1, t11) - 1) * 400 * 5 + x(n1, t2) + 48 * 10 - 1, time1
value1 = (value - ((timesign - time1) * 86.4) / 2)
If value1 < 1 Then GoTo 11
For t12 = 1 To amount1(n1 + 2) '第三最小反应区
以下为chenghw的回复:
x1(t, 3) = x(n1 + 2, t12)
valuex1(t, 3) = valuex(n1 + 2, t12)
Get 1, (x(n1 + 2, t12) - 1) * 400 * 5 + x(n1, t2), value
Get 1, (x(n1 + 2, t12) - 1) * 400 * 5 + x(n1, t2) + 48 * 10 - 1, time1
value12 = (value - ((timesign - time1) * 86.4) / 2)
Get 1, (x(n1 + 2, t12) - 1) * 400 * 5 + x(n1 + 1, t11), value
Get 1, (x(n1 + 2, t12) - 1) * 400 * 5 + x(n1 + 1, t11) + 48 * 10 - 1, time1
value2 = (value - ((timesign - time1) * 86.4) / 2)
If value12 >= 1 And value2 >= 1 Then
Else: GoTo 12
End If
For t13 = 1 To amount1(n1 + 3) '第四最小反应区
x1(t, 4) = x(n1 + 3, t13)
valuex1(t, 4) = valuex(n1 + 3, t13)
For t5 = 1 To 3
Select Case t5
Case 1
l = t2
Case 2
l = t11
Case 3
l = t12
End Select
Get 1, (x(n1 + 3, t13) - 1) * 400 * 5 + x(n1 + t5 - 1, l), value
Get 1, (x(n1 + 3, t13) - 1) * 400 * 5 + x(n1 + t5 - 1, l) + 48 * 10 - 1, time1
value13 = (value - ((timesign - time1) * 86.4) / 2)
If value13 < 1 Then GoTo 13
Next t5
13
If t5 = 4 Then
GoTo 3
Else: x1(t, 4) = 0
End If
Next t13
12
Next t12
11
Next t11
2
Next t2
3
Next t

'从这些原始记忆柱群中选出最易兴奋的做为主注意对象
Dim x2(6)
Dim yoxinfen(40)
yoamount = 0
For t = 1 To 6
For t1 = 1 To 4
If x1(t, t1) = 0 Then
x2(t) = 0
GoTo 23
End If
x2(t) = x2(t) + valuex1(t, t1)
Next t1
If v < x2(t) Then
v = x2(t)
m = t
End If
23
Next t
amount = 4
For t1 = 1 To 6
If t1 = m Then
For t = 1 To 4
xinfen(t) = x1(m, t)
Next t
Else
End If
Next t1

If v < 12 Then
If inputxinfen2 = 8 Then
For t = 1 To 4
xinfen(t) = xinfen21(t)
Next t
End If
End If
If inputxinfen2 = 20 Then
For t = 1 To 4
xinfen(t) = xinfen21(t)
Next t
End If
If inputxinfen2 = 9 Then
For t = 1 To 4
xinfen(t) = xinfen211(t)
Next t
End If
'选择出来的记忆柱的记忆
For t = 1 To 4
zhanamount1 = zhanamount1 + 1
If zhanamount1 > 48 Then
For t1 = 1 To 16
Get 1, 600000 + zhanamount1 - 17 + t1 + jd * 100, xian
Put 1, 600000 + t1 + jd * 100, xian
Next t1
zhanamount1 = 16
End If
Put 1, 600000 + zhanamount1 + jd * 100, xinfen(t)
zhanamount1 = zhanamount1 + 1
If zhanamount1 > 48 Then
For t1 = 1 To 16
Get 1, 600000 + zhanamount1 - 17 + t1 + jd * 100, xian
Put 1, 600000 + t1 + jd * 100, xian
Next t1
zhanamount1 = 16
End If
Put 1, 600000 + zhanamount1 + jd * 100, xinfen12(t)
If xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
xinfen22(t) = xinfen(t) - 12
Get 1, (xinfen22(t) - 1) * 400 * 5 + 1981, rnamount2
Get 1, (xinfen22(t) - 1) * 400 * 5 + 1985, allvalue2
passbyref1 value, timesign, xinfen22(t), allvalue2, rnamount2
End If
If xinfen(1) > 36 And xinfen(1) < 49 Then
If (xinfen(t) - 36) / 3 = (xinfen(t) - 36) \ 3 Then
text51 = text51 * 10 + (3 + (xinfen(t) - 36) Mod 3)
Else
text51 = text51 * 10 + ((xinfen(t) - 36) Mod 3)
End If
End If
Get 1, (xinfen(t) - 1) * 400 * 5 + 1981, rnamount
Get 1, (xinfen(t) - 1) * 400 * 5 + 1985, allvalue
passbyref1 value, timesign, xinfen(t), allvalue, rnamount
Next t
Text5.Text = text51
Text4.Text = xinfen(1) & ":" & xinfen(2) & ":" & xinfen(3) & ":" & xinfen(4)
Text6.Text = jd & ":" & zhu(1) & ":" & zhu(2) & ":" & zhu(3) & ":" & zhu(4)
s1 = xinfen(1)
s2 = xinfen(2)
s3 = xinfen(3)
s4 = xinfen(4)
passbyrefxin s1, s2, s3, s4
s1 = xinfen12(1)
s2 = xinfen12(2)
s3 = xinfen12(3)
s4 = xinfen12(4)
passbyrefxin s1, s2, s3, s4
If xinfen(1) > 36 And xinfen(1) < 49 Or xinfen(1) > 60 Then
s1 = xinfen22(1)
s2 = xinfen22(2)
s3 = xinfen22(3)
s4 = xinfen22(4)
passbyrefxin s1, s2, s3, s4
End If
qiangzhi = 0
End Sub

Sub passbyrefxin(ByRef s1, s2, s3, s4)
Static xinfen(4)
xinfen(1) = s1
xinfen(2) = s2
xinfen(3) = s3
xinfen(4) = s4
For t = 1 To 4
allvalue = 16.8
For t1 = 1 To 4 '记忆柱的被兴奋能力
If t1 = t Then GoTo 35
Get 1, (xinfen(t) - 1) * 400 * 5 + xinfen(t1), value
Get 1, (xinfen(t) - 1) * 400 * 5 + xinfen(t1) + 48 * 10 - 1, time1
passbyref value, timesign, time1 '调用遗忘
Put 1, (xinfen(t) - 1) * 400 * 5 + xinfen(t1) + 48 * 10 - 1, timesign
allvalue = allvalue + value
35
Next t1
For t1 = 1 To 4
If t1 = t Then GoTo 39
Get 1, (xinfen(t) - 1) * 400 * 5 + xinfen(t1), value
m = 4
passbyref2 value, timesign, xinfen(t), allvalue, xinfen(t1), m
39
Next t1
Next t
End Sub

Sub passbyref(ByRef value, timesign, time1)
value = value - ((timesign - time1) * 86.4) / 2 '遗忘
If value < 0 Then
value = 0
End If
End Sub

Sub passbyref1(ByRef value, timesign, jzhu, allvalue, rnamount)
For t1 = 1 To rnamount
Get 1, (jzhu - 1) * 400 * 5 + 1197 + t1, rn
Get 1, rn, value
If allvalue / rnamount > 5 * value Then
value = value + (6 + allvalue / (rnamount * 2) - 3 * value / 2)
Else
value = value + (6 + allvalue / rnamount - 3 * value / 2)
End If
Put 1, rn, value
Put 1, rn + 48 * 10 - 1, timesign
Next t1
End Sub

Sub passbyref2(ByRef value, timesign, jzhu, allvalue, rn, rnamount)
value = value + (6 + allvalue / rnamount - 3 * value / 2)
If value < 0 Then
value = 0
End If
Put 1, (jzhu - 1) * 400 * 5 + rn, value
Put 1, (jzhu - 1) * 400 * 5 + rn + 48 * 10 - 1, timesign
End Sub

Sub xinbyref(ByRef w, zh, f)
'兴奋得到主注意目的对象所易化的记忆柱
For t1 = 1 To w
If w = 72 Then
Get 1, 480000 + (zh - 1) * 60 * 5 + t1, zoutput '抑制的
End If
If w = 71 Then
Get 1, 400 * (zh - 1) * 5 + t1 + 958, zoutput '兴奋的
End If
Get 1, zoutput, value
Get 1, zoutput + 479, time3
passbyref value, timesign, time3 '调用遗忘
jz = (zoutput \ (400 * 5)) * 400 * 5
Get 1, 1986 + jz, time4
If time4 = timesign Then
Get 1, 1986 + jz - 1, avalue
Get 1, 1987 + jz, time3
avalue = value + avalue + f
Put 1, 1986 + jz - 1, avalue
If avalue >= 4 And time3 < timesign Then
Put 1, 1987 + jz, timesign
Get 1, 575000, yxtime
If yxtime = timesign Then
Get 1, 575000 + 1, yxamount
Put 1, 575000 + yxamount + 2, jz / (400 * 5) + 1
yxamount = yxamount + 1
Put 1, 575000 + 1, yxamount
Else: Put 1, 575000, timesign
Put 1, 575000 + 1, zhan - 1
Put 1, 575000 + 1 + 1, jz / (400 * 5) + 1
End If
End If
Else
Put 1, 1986 - 1 + jz, value
Put 1, 1986 + jz, timesign
End If
Next t1
End Sub

'jcjy
Sub passbyjc(ByRef zhanamoun, ki, l)
For t1 = 1 To zhanamoun
If l = 1 Then
Get 1, t1 + 600000 + jd * 100, valuesign
If valuesign = 27 Then
ui = 12
End If
End If
77
For t2 = 1 To 4
Get 1, 480000 + (valuesign - 1) * 60 * 5 + 48 * 5 + t2, jcrn
Get 1, jcrn, value
Get 1, jcrn + 48 * 5, time1
passbyref value, timesign, time1 '调用遗忘
Put 1, jcrn + 48 * 5, timesign
If transportjc >= 110 Then
If valuesign = 26 + 36 Or valuesign = 29 + 36 Or valuesign = 32 + 36 Or valuesign = 35 + 36 Then GoTo 6
value = value + (transportjc * 1 / 5 - value / 2)
If l = 1 And zhanamoun - t1 < 4 Then
value = 200
End If
If l = 1 And zhanamoun - t1 < 8 And zhanamoun - t1 >= 4 Then
value = value + (200 / 3 - value / 2)
End If
If t2 = 4 Or t2 = 2 Then GoTo 6
End If
If transportjc = 0 And ki = 78 Then
If valuesign = 25 + 36 Or valuesign = 28 + 36 Or valuesign = 31 + 36 Or valuesign = 34 + 36 Or valuesign = 26 + 36 Or valuesign = 29 + 36 Or valuesign = 32 + 36 Or valuesign = 35 + 36 Then GoTo 6
value = value + (200 / 5 - value / 2)
If l = 1 And zhanamoun - t1 < 4 Then
value = value + (200 / 2 - value / 2)
End If
If l = 1 And zhanamoun - t1 < 8 And zhanamoun - t1 >= 4 Then
value = value + (200 / 4 - value / 2)
End If
If t2 = 3 Or t2 = 1 Then GoTo 6
End If
If transportjc < -50 Then
If valuesign = 25 + 36 Or valuesign = 28 + 36 Or valuesign = 31 + 36 Or valuesign = 34 + 36 Then GoTo 6
value = value + (-transportjc / 5 - value / 2)
If l = 1 And zhanamoun - t1 < 4 Then
value = value + (-transportjc / 2 - value / 2)
End If
If l = 1 And zhanamoun - t1 < 8 And zhanamoun - t1 >= 4 Then
value = value + (-transportjc / 4 - value / 2)
End If
If t2 = 3 Or t2 = 1 Then GoTo 6
End If
Put 1, jcrn, value
6
Next t2
If valuesign > 36 And valuesign < 49 Or valuesign > 60 Then
valuesign = valuesign - 12
GoTo 77
End If
Next t1
End Sub

'奖赏发生后与前面的主注意对象的记忆联系
Sub passbyvalue(ByRef zhanamoun, l, xinfen11, xinfen2, xinfen3, xinfen4)
Static xinfen111(4)
xinfen111(1) = xinfen11
xinfen111(2) = xinfen2
xinfen111(3) = xinfen3
xinfen111(4) = xinfen4
Static z1(100)
For t = 1 To zhanamoun
If l = 1 Then
Get 1, 600000 + t + jd * 100, z1(t)
End If
76
allvalue = 6 / -Int(-(zhanamoun - t + 1) /
If z1(t) < 13 Or z1(t) > 36 And z1(t) < 49 Or z1(t) > 61 Then
allvalue = allvalue - 2
End If
For t5 = 1 To 4
Get 1, (z1(t) - 1) * 400 * 5 + xinfen111(t5) + 48 * 5 - 1, value
Get 1, (z1(t) - 1) * 400 * 5 + xinfen111(t5) + 48 * 5 - 1 + 48 * 10 - 1, time1
passbyref value, timesign, time1 '调用遗忘
If value < 0 Then
value = 0
End If
Put 1, (z1(t) - 1) * 400 * 5 + xinfen111(t5) + 48 * 5 - 1 + 48 * 10 - 1, timesign
allvalue = allvalue + value / -Int(-(zhanamoun - t + 1) /
Next t5

For t5 = 1 To 4
Get 1, (z1(t) - 1) * 400 * 5 + 48 * 5 - 1 + xinfen111(t5), value
value = value / -Int(-(zhanamoun - t + 1) /
k11 = 4 + allvalue / 4 - 3 * value / 2
If k11 < 0.5 Then
k11 = 0.5
End If
value = value + k11
Put 1, (z1(t) - 1) * 400 * 5 + 48 * 5 - 1 + xinfen111(t5), value
Next t5
If z1(t) > 36 And z1(t) < 49 Or z1(t) > 60 Then
z1(t) = z1(t) - 12
kl1 = 1
GoTo 76
End If
If kl1 = 1 Then
z1(t) = z1(t) + 12
kl1 = 0
End If
Next t

For t = 1 To 4
allvalue = 6
For t5 = 1 To zhanamoun
75
If z1(t5) < 13 Or z1(t5) > 36 And z1(t5) < 49 Or z1(t5) > 61 Then
allvalue = allvalue - 2
End If
Get 1, (xinfen111(t) - 1) * 400 * 5 + z1(t5) + 48 * 5 - 1, value
Get 1, (xinfen111(t) - 1) * 400 * 5 + z1(t5) + 48 * 5 - 1 + 48 * 10 - 1, time1
passbyref value, timesign, time1 '调用遗忘
If value < 0 Then
value = 0
End If
value = value / -Int(-(zhanamoun - t5 + 1) /
Put 1, (xinfen111(t) - 1) * 400 * 5 + z1(t5) + 48 * 5 - 1 + 48 * 10 - 1, timesign
allvalue = allvalue + value
If z1(t5) > 36 And z1(t5) < 49 Or z1(t5) > 60 Then
z1(t5) = z1(t5) - 12
kl1 = 1
GoTo 75
End If
If kl1 = 1 Then
z1(t5) = z1(t5) + 12
kl1 = 0
End If
Next t5

For t5 = 1 To zhanamoun
74
Get 1, (xinfen111(t) - 1) * 400 * 5 + 48 * 5 - 1 + z1(t5), value
value = value / -Int(-(zhanamoun - t5 + 1) /
k11 = 4 + allvalue / (zhanamoun) - 3 * value / 2
If k11 < 0.5 Then
k11 = 0.5
End If
value = value + k11
Put 1, (xinfen111(t) - 1) * 400 * 5 + 48 * 5 - 1 + z1(t5), value
If z1(t5) > 36 And z1(t5) < 49 Or z1(t5) > 60 Then
z1(t5) = z1(t5) - 12
kl1 = 1
GoTo 74
End If
If kl1 = 1 Then
z1(t5) = z1(t5) + 12
kl1 = 0
End If
Next t5
Next t
End Sub

'抑制时易化的记忆柱抑制时易化的记忆柱
Sub upassbyvalue(ByRef zoutput, u)
Get 1, zoutput, value
Get 1, zoutput + 48 * 10 - 1, time3
rninput = zoutput
passbyref value, timesign, time3 '调用遗忘
value = (value + 0.5) / u
jz = (zoutput \ (400 * 5)) * 400 * 5
Get 1, jz + 1982, time3
If time3 = timesign Then
Get 1, jz + 1981, rnamount
Put 1, jz + 1197 + rnamount + 1, rninput
Put 1, jz + 1981, rnamount + 1
Get 1, jz + 1985, allvalue
Get 1, jz + 1984, jctime
If jctime = zhutimesign Then
Get 1, jz + 1983, jcvalue
Else: jcvalue = 0
End If
zhallvalue = allvalue
allvalue = allvalue + value
'如果就应在展示框中记下 23100
Get 1, 1987 + jz, time3
If allvalue + jcvalue >= 3 And time3 < timesign Then
Get 1, 577500 + 1, yhtime
Put 1, 1987 + jz, timesign
If yhtime = timesign Then
Get 1, 577500, yhamount
Put 1, 577500 + 1 + yhamount + 1, jz / (400 * 5) + 1
Put 1, 577500, yhamount + 1
Else: Put 1, 577500 + 1, timesign
Put 1, 577500, t12 \ 100 + 1
Put 1, 577500 + 1 + 1, jz / (400 * 5) + 1
End If
End If
'
Put 1, jz + 1985, allvalue
Else
Put 1, jz + 1981, rnamount * 0 + 1
Put 1, jz + 1982, timesign
Put 1, jz + 1197 + 1, rninput
Get 1, jz + 1986, timesign1
If timesign1 < timesign Then
Put 1, jz + 1985, value
Put 1, jz + 1986, timesign
Else
Get 1, jz + 1985, alvalue
alvalue = alvalue + value
Put 1, jz + 1985, alvalue
End If
End If
End Sub

Sub xinfenbyref(ByRef j, inputxinfen2)
Get 1, 400 * (j - 1) * 5 + 1986, xinfen21time
If xinfen21time = timesign Then
Get 1, 400 * (j - 1) * 5 + 1985, xinfen21value
xinfen21value = xinfen21value + 8
Put 1, 400 * (j - 1) * 5 + 1985, xinfen21value
Else
Put 1, 400 * (j - 1) * 5 + 1985, inputxinfen2
Put 1, 400 * (j - 1) * 5 + 1986, timesign
End If
End Sub

Sub yihuabyref(ByRef xinf, nozha, allvalue)
Get 1, (xinf - 1) * 400 * 5 + nozha + 48 * 5 - 1, value
If value > 15 Then
lk = 21
End If
Get 1, (xinf - 1) * 400 * 5 + nozha + 48 * 5 - 1 + 48 * 5 * 2 - 1, time1
passbyref value, timesign, time1 '调用遗忘
allvalue = allvalue + value
Get 1, (xinf - 1) * 400 * 5 + 1985, value
Get 1, (xinf - 1) * 400 * 5 + 1987, time1
If time1 = timesign Then
allvalue = allvalue + value
End If
End Sub
Sub passbyvalue3(ByRef zhanamount1)
For t1 = 1 To zhanamount1
Get 1, t1 + 600000 + jd * 100, valuesign
Get 1, (valuesign - 1) * 400 * 5 + 1981, rnamount
For t = 1 To rnamount
Get 1, (valuesign - 1) * 400 * 5 + 1197 + t, rn
Get 1, rn, value
If zhanamount1 - t1 > 7 Then
value = value + (4 * transportjc / 100) / 4
Else: value = value + (4 * transportjc / 100)
End If
If value > 16 Then
value = 16
End If
If value < 0.5 Then
value = 0.5
End If
Put 1, rn, value
Next t
Next t1
End Sub