home *** CD-ROM | disk | FTP | other *** search
/ Merciful 3 / Merciful_Release_3.bin / software / a / amigacricket.dms / amigacricket.adf / editor.AMOS / editor.amosSourceCode
AMOS Source Code  |  2009-09-18  |  13KB  |  387 lines

  1. '**************             Cricket Amiga Editor        *******************  
  2. '**************            (c)  DARYL HOLDEN 1990       *******************  
  3. '**************     UNDER EXCLUSIVE LEASE TO PACTRONICS   *****************  
  4. '
  5. Erase 6 : Erase 1 : Close Workbench : Close Editor : Cls 0
  6. Cls 0 : Flash Off : Curs Off : Hide On : Dim BN(19),B(19,1),BO(1),BR(1),BCNT(1),P1$(18,3),SF$(2),SS$(2),DUM$(12,3),S(20,1),CT$(2),CNT$(2)
  7. Global FA,BH,BOWLED,BD,POWER,SCRL$,NS,BTSPEED,HITTING,PT,CD,D,C,SPEED,ANG,JS,PLYER,DUM$(),ED
  8. Global X4,Y4,CATCH,X,Y,JU,OY,NM,P3,OX,LBW,BS1,BS2,BS3,BRN$,RRN$,SCRR$,SCL,SCR,P
  9. Global CTV,P2,B(),BN(),DR,FO,FS,JU$,FR$,FL$,FA$,FD$,F,NO_HITTING,CTH,BCONX,BCONY
  10. Global NT#,A#,B#,T#,P#,P2,P3,T,Q,TME,G,H,P5,DEV,T1,T2,LR$,DU$,FEILDNO,X5,Y5,Y6,P4,BS
  11. Global TY$,Y2#,YC#,Y#,X#,XR,PR,FD1,FDEV,GB,JS1,JS2,COM,RD,N1,N2,N3,N4,DUM,OT,F$,SS$()
  12. Global V1,V2,V3,V4,SL,AR,YG,XG,BRNU$,BRND$,RRNU$,RRND$,NOMORE,TLK,JS1,JS2,SF$()
  13. Global BO(),BR(),BR,NOV,PIC,CF,QD,MISS_BALL,CPIC,BCNT(),FAT$,BOWL,FLR,FX,FY,FTYPE
  14. Global P1$(),CT$(),BB,S(),NFN,OVER,DUD$,NI,LKL,HP,DG,OS,PCN,Z,OJ,POU,CNT$(),LKL,OJ
  15. MAIN
  16. Procedure MAIN
  17.    FTYPE=1 : JS=1 : OVER=2 : NI=1 : LKL=0 : DV=0
  18.    ST222:
  19.    OVER=2 : PCN=0 : DG=0 : V=0 : P=1
  20.    If LKL=0
  21.       CNT$(1)="AUSTRALIA"
  22.       CNT$(2)="ENGLAND"
  23.       CT$(1)="MASTER:TEAMs/AUSTRALIA.team" : F$="MASTER:teams/AUSTRALIA.team"
  24.       CT$(2)="MASTER:teams/ENGLAND.team"
  25.       SS$(1)="master:csystem/defAUSTRALIA.abk"
  26.       SS$(2)="master:csystem/defENGLAND.abk"
  27.       LKL=1
  28.    Else 
  29.       F$=CT$(1)
  30.    End If 
  31.    ST98:
  32.    PLYER=P-1
  33.    L_TEAM : Bob 4,210,25,6
  34.    ST97:
  35.    For J=1 To 11
  36.       Ink 15 : Gr Writing 0 : Text 30,(J*9)+19,Left$(P1$(J,0),15)
  37.    Next J
  38.    J=1
  39.    Ink 29 : Gr Writing 0 : Text 127,(J*9)+19,Right$(P1$(J,1),1)
  40.    For J=2 To 11
  41.       Ink 29 : Gr Writing 0 : Text 127,(J*9)+19,Right$(P1$(J,3),1)
  42.    Next J
  43.    X=100 : Y=100
  44.    ED=1
  45.    Repeat 
  46.       If P=1 Then JS=1
  47.       If P=2 Then JS=0
  48.       Gr Writing 1
  49.       STUI:
  50.       Repeat 
  51.          If DG=0 Then P=1
  52.          If Jup(JS)=-1 Then Y=Y-1 : If Y<0 Then Y=0
  53.          If Jdown(JS)=-1 Then Y=Y+1 : If Y>256 Then Y=256
  54.          If Jleft(JS)=-1 Then X=X-1 : If X<0 Then X=0
  55.          If Jright(JS)=-1 Then X=X+1 : If X>320 Then X=320
  56.          Bob 3,X,Y,3
  57.       Until Fire(JS)=-1
  58.       Z=Zone(X Bob(3),Y Bob(3))
  59.       C=Bob Col(3)
  60.       If Z=20 and Fire(JS)=-1 Then SND3 : SFP
  61.       If Z=21 and Fire(JS)=-1 Then SND3 : FPOS : F$=CT$(P) : L_TEAM : Goto ST97
  62.       If Z=13 Then End 
  63.       If Z=15 and Fire(JS)=-1 and COM=0
  64.          SND3
  65.          P=2 : F$="" : L_TEAM : Bob 4,210,25,6 : P=1 : F$=CT$(1) : L_TEAM : Bob 5,210,100,8 : Q=1
  66.       End If 
  67.       If Z=22
  68.          SND3 : OS=OS-6
  69.          If OS<0
  70.             OS=0
  71.          End If 
  72.          Ink 42 : Bar 12,138 To 138,246
  73.          Bar 144,138 To 158,246
  74.          Bar 164,138 To 177,246
  75.          Bar 184,138 To 196,246 : DUM=0
  76.          For J=1 To 12
  77.             Ink 29 : Inc DUM : Gr Writing 0
  78.             Text 20,(DUM*9)+138,P1$(J+OS,0)
  79.             Text 147,(DUM*9)+138,P1$(J+OS,1)
  80.             Text 168,(DUM*9)+138,P1$(J+OS,2)
  81.             Text 187,(DUM*9)+138,P1$(J+OS,3)
  82.             Gr Writing 1
  83.          Next J
  84.          DUM=0
  85.       End If 
  86.       If Z=23
  87.          SND3 : OS=OS+6
  88.          If OS>6
  89.             OS=6
  90.          End If 
  91.          Ink 42 : Bar 144,138 To 158,246
  92.          Bar 164,138 To 177,246
  93.          Bar 184,138 To 196,246
  94.          Bar 12,138 To 138,246
  95.          DUM=0
  96.          For J=1 To 12
  97.             Ink 29 : Inc DUM : Gr Writing 0
  98.             Text 20,(DUM*9)+138,P1$(J+OS,0)
  99.             Text 147,(DUM*9)+138,P1$(J+OS,1)
  100.             Text 168,(DUM*9)+138,P1$(J+OS,2)
  101.             Text 187,(DUM*9)+138,P1$(J+OS,3)
  102.             Gr Writing 1
  103.          Next J
  104.          DUM=0
  105.       End If 
  106.       If Fire(JS)=-1 and Z=19
  107.          SND3
  108.          If Q=1
  109.             P=1
  110.             Q=0
  111.          End If 
  112.          F$="" : L_TEAM : Bob 4,210,25,6
  113.          For J=1 To 11
  114.             Ink 15 : Gr Writing 0 : Text 30,(J*9)+19,Left$(P1$(J,0),15)
  115.          Next J
  116.       End If 
  117.       If Z>23 Then PCN=Z-23 : ED=0 : SND3
  118.       '  If Z=14 Then SND3 : ED=1
  119.       If Z>0 and Z<13 and ED=1
  120.          ED=1
  121.          S=0 : NM$=""
  122.          Ink 8 : Bar 20,(Z*9)+130 To 138,(Z*9)+138
  123.          Repeat 
  124.             Bob 3,0,0, : K$="" : K$=Inkey$
  125.             If K$<>""
  126.                S=Scancode
  127.                If S=65 or S=70 and Len(NM$)>0
  128.                   NM$=Left$(NM$,Len(NM$)-1)
  129.                End If 
  130.                If S=64
  131.                   NM$=NM$+" "
  132.                End If 
  133.                If S>0 and S<56 and Len(NM$)<15
  134.                   NM$=NM$+K$
  135.                End If 
  136.                NM$=Upper$(NM$)
  137.                Ink 8 : Bar 20,(Z*9)+130 To 138,(Z*9)+138
  138.                Gr Writing 0 : Ink 29 : Text 20,(Z*9)+137,NM$ : Gr Writing 1
  139.             End If 
  140.          Until S=68
  141.          P1$(Z+OS,0)=NM$
  142.          Ink 8 : Bar 147,(Z*9)+130 To 155,(Z*9)+138
  143.          A1:
  144.          NM$=Input$(1)
  145.          If Val(NM$)<1 or Val(NM$)>9
  146.             Goto A1
  147.          End If 
  148.          Text 147,(Z*9)+138,NM$
  149.          P1$(Z+OS,1)=NM$
  150.          '
  151.          Ink 8 : Bar 168,(Z*9)+130 To 176,(Z*9)+138
  152.          A2:
  153.          NM$=Input$(1)
  154.          If Val(NM$)<1 or Val(NM$)>9
  155.             Goto A2
  156.          End If 
  157.          P1$(Z+OS,2)=NM$
  158.          Text 168,(Z*9)+138,NM$
  159.          '
  160.          A3:
  161.          Ink 8 : Bar 187,(Z*9)+130 To 195,(Z*9)+138
  162.          NM$=Input$(1)
  163.          If Val(NM$)<1 or Val(NM$)>9
  164.             Goto A3
  165.          End If 
  166.          P1$(Z+OS,3)=NM$
  167.          Text 187,(Z*9)+138,NM$
  168.          '
  169.          ED=0
  170.       End If 
  171.       If ED=1 Then Goto STUI
  172.       If Z>0 and Z<13 and Fire(JS)=-1 and ED=0
  173.          ED=1 : SND3
  174.          For J=0 To 3
  175.             Swap P1$(Z+OS,J),P1$(PCN,J)
  176.          Next J
  177.          If Z+OS>2
  178.             POU=3
  179.          Else 
  180.             POU=1
  181.          End If 
  182.          Ink 8 : Bar 30,9+12 To 134,(11*9)+19
  183.          For TU=1 To 11
  184.             If PCN>2
  185.                POU=3
  186.             Else 
  187.                POU=1
  188.             End If 
  189.             Ink 15 : Gr Writing 0 : Text 30,(TU*9)+19,Left$(P1$(TU,0),15)
  190.             Ink 29 : Gr Writing 0 : Text 127,(TU*9)+19,Right$(P1$(TU,POU),1)
  191.          Next TU
  192.          Ink 42 : Bar 12,138 To 138,246
  193.          Bar 144,138 To 158,246
  194.          Bar 164,138 To 177,246
  195.          Bar 184,138 To 196,246
  196.          DUM=0
  197.          For J=1 To 12
  198.             Inc DUM : Ink 29 : Gr Writing 0
  199.             Text 20,(DUM*9)+138,P1$(J+OS,0)
  200.             Text 147,(DUM*9)+138,P1$(J+OS,1)
  201.             Text 168,(DUM*9)+138,P1$(J+OS,2)
  202.             Text 187,(DUM*9)+138,P1$(J+OS,3)
  203.             Gr Writing 1
  204.          Next J
  205.          DUM=0
  206.       End If 
  207.       If DG=1 Then P=1
  208.    Until V=1
  209. End Proc
  210. Procedure L_TEAM
  211.    Fade 1 : Wait 15 : Bob Off 
  212.    Cls 0
  213.    ST324:
  214.    If F$="" Then Show On : F$=Fsel$("MASTER:TEAMS/*.TEAM","ENGLAND.TEAM","Pick Your Team Player"+Str$(P)) : Hide On 
  215.    F$=Upper$(F$) : CT$(P)=F$
  216.    If CT$(1)=CT$(2) Then F$="" : Goto ST324
  217.    Load Iff "master:csystem/definer.iff",1 : Double Buffer 
  218.    If F$="" Then F$=CT$(P)
  219.    CT$(P)=F$
  220.    L2
  221.    Reserve Zone(34)
  222.    Ink 29
  223.    For J=1 To 12
  224.       Gr Writing 0
  225.       Set Zone J,9,129+(J*9) To 147,138+(J*9)
  226.       Text 20,(J*9)+138,P1$(J,0)
  227.       Text 147,(J*9)+138,P1$(J,1)
  228.       Text 168,(J*9)+138,P1$(J,2)
  229.       Text 187,(J*9)+138,P1$(J,3)
  230.       Gr Writing 1
  231.    Next J
  232.    Set Zone 13,168,22 To 189,44
  233.    Set Zone 14,141,120 To 197,133
  234.    Set Zone 15,126,71 To 189,78
  235.    Set Zone 16,136,80 To 151,95
  236.    Set Zone 17,183,80 To 189,95
  237.    Set Zone 18,167,55 To 189,60
  238.    Set Zone 19,31,122 To 51,128
  239.    Set Zone 20,57,122 To 79,128
  240.    Set Zone 21,86,122 To 107,128
  241.    Set Zone 22,0,138 To 9,147
  242.    Set Zone 23,0,148 To 9,157
  243.    For J=1 To 11
  244.       Set Zone 23+J,20,(J*9)+11 To 120,(J*9)+20
  245.    Next J
  246.    F$=F$-"MASTER:TEAMS/"
  247.    F$=F$-".TEAM"
  248.    CNT$(P)=F$
  249.    F$="def"+F$+".abk"
  250.    F$=F$-" "
  251.    SS$(P)=F$
  252.    Erase 1
  253.    Load "master:csystem/def.abk",1 : Dir$="master:csystem" : Load SS$(1),1 : Load SS$(2),1 : F$=""
  254.    Bob 4,210,25,6
  255. End Proc
  256. Procedure SFP
  257.    BN(9)=144 : B(1,0)=155 : B(1,1)=174
  258.    If PLYER=0 Then P=1
  259.    If PLYER=1 Then P=2
  260.    Open Out 1,CT$(P)
  261.    Print #1,SF$(P)
  262.    For TU=1 To 18
  263.       Print #1,P1$(TU,0) : Print #1,P1$(TU,1) : Print #1,P1$(TU,2) : Print #1,P1$(TU,3)
  264.    Next TU
  265.    For TU=1 To 10
  266.       Print #1,B(TU,0) : Print #1,B(TU,1)
  267.    Next TU
  268.    Close 1
  269. End Proc
  270. Procedure FPOS
  271.    X=0 : TU=0 : Y=0 : Z=0 : BB=0 : NFN=0 : T=0 : VD=0
  272.    If PLYER+1=1 Then P=1
  273.    If PLYER+1=2 Then P=2
  274.    OJ=0
  275.    Open In 1,"BX.DAT"
  276.    For TU=1 To 20
  277.       Input #1,S(TU,0) : Input #1,S(TU,1)
  278.       X=S(TU,0)/8 : Y=S(TU,1)/8 : S(TU,0)=X*8 : S(TU,1)=Y*8
  279.    Next TU
  280.    Close 1 : F$=CT$(P) : L2
  281.    Load Iff "master:csystem/definer.iff",1 : Double Buffer : Erase 1 : If DG=0 Then P=1
  282.    Load "Master:csystem/def.abk",1 : Load SS$(1),1 : Load SS$(2),1 : F$="" : Bob 4,210,25,6 : Bob 5,210,100,8
  283.    Reserve Zone(12)
  284.    For TU=1 To 11
  285.       If TU>2 Then Set Zone TU-1,30,(TU*9)+10 To 120,(TU*9)+19
  286.       Ink 15 : Gr Writing 0 : Text 30,(TU*9)+19,Left$(P1$(TU,0),15) : Gr Writing 1
  287.    Next TU
  288.    TU=1
  289.    Ink 29 : Gr Writing 0 : Text 127,(TU*9)+19,Right$(P1$(TU,1),1)
  290.    For TU=2 To 11
  291.       Ink 29 : Gr Writing 0 : Text 127,(TU*9)+19,Right$(P1$(TU,3),1)
  292.    Next TU
  293.    Set Zone 12,57,122 To 79,128 : Paste Bob 11,136,4 : Ink 61 : Bar 10,10 To 23,120
  294.    Bob 20,80,217,5 : Bob 21,87,221,5 : Bob 22,94,224,5 : Bob 23,101,227,5
  295.    Bob 24,86,213,5 : Bob 25,92,210,5 : Bob 26,98,207,5 : Bob 27,110,201,5
  296.    Bob 28,86,190,5 : Bob 29,98,184,5 : Bob 30,110,178,5 : Bob 31,117,170,5
  297.    Bob 32,95,173,5 : Bob 33,75,150,5 : Bob 34,60,170,5 : Bob 35,50,155,5
  298.    Bob 36,50,185,5 : Bob 37,30,194,5 : Bob 38,60,215,5 : Bob 39,45,225,5
  299.    BC
  300.    If P=1 Then JS=1
  301.    If P=2 Then JS=0
  302.    Repeat 
  303.       Repeat 
  304.          Bob 3,X,Y,3
  305.          If Jup(JS)=-1 Then Y=Y-1 : If Y<0 Then Y=0
  306.          If Jdown(JS)=-1 Then Y=Y+1 : If Y>256 Then Y=256
  307.          If Jleft(JS)=-1 Then X=X-1 : If X<0 Then X=0
  308.          If Jright(JS)=-1 Then X=X+1 : If X>320 Then X=320
  309.       Until Fire(JS)=-1
  310.       Z=Zone(X Bob(3),Y Bob(3))
  311.       If Z=12 Then SND3 : SFP : VD=2
  312.       If Z>0 and Z<12 Then SND3 : BB=0 : NFN=Z : FBOB : OJ=BB
  313.       If Bob Col(3)=-1
  314.          For TU=20 To 39
  315.             If Col(TU)=-1
  316.                For T=2 To 10
  317.                   If B(T,0)=S(TU-19,0) and B(T,1)=S(TU-19,1) and T<>NFN
  318.                      B(T,0)=B(NFN,0)
  319.                      B(T,1)=B(NFN,1)
  320.                   End If 
  321.                Next T
  322.                B(NFN,0)=S(TU-19,0) : B(NFN,1)=S(TU-19,1) : Paste Bob 11,136,4 : Ink 61 : Bar 10,10 To 23,120 : Ink 30 : Polyline 15,(NFN*9)+24 To 15,140 To X Bob(TU),Y Bob(TU) : Bob TU,,,3
  323.                If OJ<>0
  324.                   Bob OJ,,,5
  325.                End If 
  326.                OJ=TU
  327.             End If 
  328.          Next TU
  329.       End If 
  330.    Until VD=2 : VD=0
  331. End Proc
  332. Procedure FBOB
  333.    For TU=1 To 20
  334.       If B(NFN,0)=S(TU,0) and B(NFN,1)=S(TU,1) Then BB=TU+19
  335.    Next TU
  336.    Paste Bob 11,136,4 : Ink 61 : Bar 10,10 To 23,136
  337.    If BB>19 and BB<40 Then Ink 30 : Polyline 15,(NFN*9)+24 To 15,140 To X Bob(BB),Y Bob(BB)
  338. End Proc
  339. Procedure WSP
  340.    For TU=2 To 10
  341.       If B(TU,0)<80 and B(TU,1)<80 Then BN(TU+8)=120
  342.       If B(TU,0)>79 and B(TU,0)<161 and B(TU,1)<80 Then BN(TU+8)=185
  343.       If B(TU,0)>160 and B(TU,0)<240 and B(TU,1)<80 Then BN(TU+8)=186
  344.       If B(TU,0)>239 and B(TU,1)<80 Then BN(TU+8)=131
  345.       If B(TU,0)<80 and B(TU,1)>79 and B(TU,1)<155 Then BN(TU+8)=102
  346.       If B(TU,0)>79 and B(TU,0)<161 and B(TU,1)>79 and B(TU,1)<155 Then BN(TU+8)=167
  347.       If B(TU,0)>160 and B(TU,0)<240 and B(TU,1)>79 and B(TU,1)<155 Then BN(TU+8)=168
  348.       If B(TU,0)>239 and B(TU,1)>79 and B(TU,1)<154 Then BN(TU+8)=113
  349.       If B(TU,0)<80 and B(TU,1)>154 Then BN(TU+8)=84
  350.       If B(TU,0)>79 and B(TU,1)>154 Then BN(TU+8)=139
  351.       If B(TU,0)>160 and B(TU,1)>154 Then BN(TU+8)=144
  352.       If B(TU,0)>239 and B(TU,1)>154 Then BN(TU+8)=95
  353.    Next TU : BN(9)=144
  354. End Proc
  355. Procedure SND2
  356.    Sam Bank 8 : Wait Vbl : Volume %1000,V1 : Volume %100,V2 : Volume %10,V3 : Volume %1,V4 : Sample N1 To %1000 : Sample N2 To %100 : Sample N3 To %10 : Sample N4 To %1 : Play 29,SL : Sam Bank 5
  357. End Proc
  358. Procedure BC
  359.    For NFN=2 To 10
  360.       For TU=1 To 20
  361.          If B(NFN,0)=S(TU,0) and B(NFN,1)=S(TU,1) Then BB=TU+19
  362.       Next TU
  363.       Paste Bob 11,136,4 : Ink 61 : Bar 10,10 To 23,136
  364.       If BB>19 and BB<40 Then Ink 30 : SND3 : Polyline 15,(NFN*9)+24 To 15,140 To X Bob(BB),Y Bob(BB)
  365.       Bob BB,,,3 : Wait Vbl 
  366.    Next NFN
  367.    OJ=BB : NFN=10
  368. End Proc
  369. Procedure SND3
  370.    Music Off : Wait 5 : Play 40,1 : Wait 5 : Music Off 
  371. End Proc
  372. Procedure L2
  373.    DUD=Free
  374.    If PLYER+1=1 Then P=1
  375.    If PLYER+1=2 Then P=2
  376.    For DU=1 To 18 : For TU=0 To 3 : P1$(DU,TU)="" : Next TU : Next DU
  377.    Open In 2,F$ : Close 2
  378.    Open In 2,F$ : Pof(2)=0 : Input #2,SF$(P)
  379.    If P=1 Then FF=2 Else FF=1
  380.    For DU=1 To 18
  381.       Input #2,P1$(DU,0) : Input #2,P1$(DU,1) : Input #2,P1$(DU,2) : Input #2,P1$(DU,3)
  382.    Next DU : DU=0
  383.    For DU=1 To 10
  384.       Input #2,B(DU,0) : Input #2,B(DU,1)
  385.    Next DU : Close : Wait Vbl 
  386.    B(1,1)=168
  387. End Proc