ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › אקסטרים › salvador's source code
- This topic has 4 תגובות, 4 משתתפים, and was last updated לפני 12 שנים, 10 חודשים by GalDor.
-
מאתתגובות
-
3 בינואר 2012 בשעה 05:24 #76799salvadorמשתתף
;vars
%if 0
the idea of this survivor is simple:
the first one is focused about renewing it self in different places all the time by pulling the "party" from the mutual area, while the other one is focused on "call far" attacks.
salvador1 updates the place of salvador2 while it's running, so it will be protected too.
the place that salvador1 runs most of the time is called "party" (yeah we have a cluber survivor here )%endif
%define private_area 0x122
%define interval2 0x32d3
%define interval1 0x1337;//////////////////////////////
;salvador2
%include "vars.asm"
;get the attack label
push ds
push es
pop ds
pop es
lodsw
mov bx,ax;fire 2 heavy bombs below salvador1
mov di,ax
mov ax,0xcccc
mov dx,ax
sub di,0x7c00
std
int 0x86
int 0x86;move the current place of @attack to the private area
mov ax,bx
mov bx,private_area
mov [bx],ax;config and go to attack
mov dx, cs
mov word [bx+0x2],dx
mov ss,dx
mov sp,di
mov ax,interval2
call word far [bx]
@end:///////////////////////////////////////////////////////////////////
;salvdor1
%include "vars.asm"
%define new_place 0x426
;send salvador2 the attack label
@start:
add ax,(@attack-@start)
stosw;copy the party to the mutual area
xor di,di
sub ax,(@attack-@party)
mov si,ax
mov cx, (@end_of_party-@party)/2
rep movsw;copy the party from the mutual area to the new place
push cs
push es
pop ds
pop es
mov di,ax
add di,new_place
mov bp,di
xor si,si
movsw;config the variables that we will use at the party
mov ax,interval1
mov bx,private_area
mov cx,0x2
jmp bp;most of the time the code runs here.
;it does to main things:
;* updating the new place for salvador2
;* copy the party to a new area
@party:
movsw
movsw
movsw
movsw
movsw
movsw
call word @above@attack: ;salvador2 runs here
sub sp,ax
call word far [bx] ;[bx] = @attack@above:
movsw
movsw
movsw
movsw
pop word [bx] ;update to new place
movsw
add [bx],cx ;add 2 bytes = size of sub sp, ax
movsw
sub bp,ax
movsw
movsw
movsw
movsw
mov di,bp
movsw
jmp bp ;now go to the new area
movsw
xor si,si
movsw
@end_of_party:
@end:8 בינואר 2012 בשעה 12:36 #77985GalDorמשתתףAs far as I can tell, this very different from the survivor you submitted – both of the salvador in the competition attack continuously. In fact, they appear to be very closely related to FSM and its enslaving capability. Are you sure that you did not submit the wrong survivor by mistake?
8 בינואר 2012 בשעה 12:52 #77984GalDorמשתתףIn fact, I just checked – and it would appear that you accidently submitted a copy of FSM…
9 בינואר 2012 בשעה 11:14 #77983TheNA155משתתףI've just compared this code as compiled with your submitted survivors, how could it be that the ones you have submitted weight 285 bytes each and these weight only 80 bytes one and 44 bytes the other one?
I've tried to run this code against the one you have submitted and the other code won…
Can you please upload the codes you have submitted?10 בינואר 2012 בשעה 04:49 #77982zestמשתתףHi all,
I am working on a complete updated tutorial that includes all the survivors.
The code above is a 'Quick & Dirty' code that does not contain all the stuff (for example defenses etc) and was submitted quickly by one of the team members without going through review and adding my explanations and graphs as I wanted to add.
I was in purpose to get people and future viewers to get kick started with one more example.
pls wait for the complete tutorial and also for the new engine with the debugger we added in the competition that we want to release too.
Things after competition were busy from my side as I put my time and efforts on other things I am involved with, so pls be patient.
Gal, I understood you met with ‘salvador’ face to face and you got all the clarifications (btw, good luck to you both, you both worked hard and that is where you will be able to get your abilities to the max).
Thanks. -
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.