|
发表于 2007-7-16 20:28:00
|
显示全部楼层
Re:天马方案确定了:投资200w,做专一的游戏开发公司,
贴段的烂代码给你们评评:
一千万个玩家同时在线和10个玩家同时在线的运算量是一样的,只须取4096个点的值.
;----------判断千万玩家,怪,物是否与你同屏------------
mov esi,jsxxzz
add esi,16
mov eax,dword ptr[esi]
mov x3,eax
add esi,4
mov eax,dword ptr[esi]
mov y3,eax
xor edx,edx
mov ecx,jbbc0
mov eax,x3
shr eax,4
shl eax,4
div ecx
mov lies,eax
xor edx,edx
mov ecx,jbbc0
mov eax,y3
shr eax,4
shl eax,4
div ecx
mov xings,eax
mov esi,zhangaibiao
mov eax,xings
mov ecx,zabzls
mul ecx
add esi,eax
mov eax,lies
mov ecx,4
mul ecx
add esi,eax
lea edi,yfsddclb
add edi,jsszkj
mov szfszjs,jsszkj
xor ecx,ecx
mov jsqb,2
ssje1:
mov eax,dword ptr[esi] ;取值
.if eax!=0 ;是否有人,物
invoke qdcjbhjsm,eax ;取人,物信息
lea edx,dcdhhrwmbl
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
mov eax,esi
sub eax,zhangaibiao
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add szfszjs,16
.endif
sub esi,zabzls
sub esi,4
ssje5:
add esi,4
mov eax,dword ptr[esi] ;取值
.if eax!=0 ;是否有人,物
invoke qdcjbhjsm,eax ;取人,物信息
lea edx,dcdhhrwmbl
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
mov eax,esi
sub eax,zhangaibiao
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add szfszjs,16
.if szfszjs > yfsddclbzjs
jmp fsDCdgkhd8
.endif
.endif
add jsqa,1
mov eax,jsqa
cmp eax,jsqb
jb ssje5
mov jsqa,0
ssje2:
add esi,zabzls
mov eax,dword ptr[esi] ;取值
.if eax!=0 ;是否有人,物
invoke qdcjbhjsm,eax ;取人,物信息
lea edx,dcdhhrwmbl
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
mov eax,esi
sub eax,zhangaibiao
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add szfszjs,16
.if szfszjs > yfsddclbzjs
jmp fsDCdgkhd8
.endif
.endif
add jsqa,1
mov eax,jsqa
cmp eax,jsqb
jb ssje2
mov jsqa,0
ssje3:
sub esi,4
mov eax,dword ptr[esi]
.if eax!=0
invoke qdcjbhjsm,eax
lea edx,dcdhhrwmbl
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
mov eax,esi
sub eax,zhangaibiao
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add szfszjs,16
.if szfszjs > yfsddclbzjs
jmp fsDCdgkhd8
.endif
.endif
add jsqa,1
mov eax,jsqa
cmp eax,jsqb
jb ssje3
mov jsqa,0
ssje4:
sub esi,zabzls
mov eax,dword ptr[esi] ;取值
.if eax!=0 ;是否有人,物
invoke qdcjbhjsm,eax ;取人,物信息
lea edx,dcdhhrwmbl
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
mov eax,esi
sub eax,zhangaibiao
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add edx,4
mov eax,dword ptr[edx]
mov dword ptr[edi],eax
add edi,4
add szfszjs,16
.if szfszjs > yfsddclbzjs
jmp fsDCdgkhd8
.endif
.endif
add jsqa,1
mov eax,jsqa
cmp eax,jsqb
jb ssje4
mov jsqa,0
add jsqb,2
cmp jsqb,64 ;搜索范围是64*16=1024
jb ssje1 |
|