Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

i actually read sicp

Name: Anonymous 2012-11-28 5:08

really slow plot

Name: Anonymous 2012-11-29 8:37

I actually use Symta. Reads like pseudocode. Very readable.


viewport W H = Sel:ø = LC:ø = UIAct:ø = Ack:ø = A:ø /*anchor*/ = M:[0 0] /*mice x,y*/
             = Keys:ø = Speed:2 = !FPS:0 = FPSC:[] = FPS0:time,c = o
  clickSnd:<U = [[LId C] LT]:LC = T:time,c = {T-LT≥2 |v LId≤≥U.id
  = AL:U.sounds.annoyed,len
  = !C: {LId≥≤U.id = mod C+1 3+AL; 0} = !LC:[[U.id C] T]
  = {U.act.type,<\producing> = \construction
    ;U.building |a U,hp100≤50 = \burning
    ;C≥2 =l \annoyed C-3
    ;√ = \selected}}>
  clearClicks:<=!LC:[[ø 0] 0]>
  init:<= !Sel:ø = !UIAct:ø = !A:ø = !Keys:[] = clearClicks,c>
  w:<=W> h:<=H> screenToCell:<P=(P+Units,ThisPlayer.view)%32>
  cur:<= [{A;M} M] | <[[AX AY] [BX BY]]
         = X: min AX BX = Y: min AY BY = W: max AX BX = H: max AY BY
         = l X Y W-X H-Y>>
  centerAt:<P = move 32P-[W H]%2>
  top:<=Units,ThisPlayer.view>
  move:<P = TP:Units,ThisPlayer
          = !TP.view: sature2D [32WM 32WM (WW-WM)*32-W (WH-WM)*32-H] P
          = !TP.tile: TP.view%32 = !TP.size:l (W+31)%32 (H+31)%32
          = aset ThisPlayer TP Units>
  ack:<T U C:{ø} = {Ack = clearClicks,c = !Ack:ø = unitSay \ack U
                        = !UIBlink:l T Cycle+12 Cycle+24
                        = C |a spawnFx C%32 \cross_green D:C}>
  lmbOrder:<Act = !Ack:ø:√ = S:Sel
  = m Units,? S | e <U
    = A:{UTs.(U.acts|fnd UTs.?,prettyName≥≤Act,prettyName); Act}
    = D:Act.dst = ack D U = order (u A dst:D asz:Act.asz confirm:√) U>
  = √>
  rmbOrder:<XY = S:Sel
  = T:XY,selPoint = C:XY,screenToCell,cell = m Units,? S | e <U
    = As: k y U.acts | m UTs.? | s ?.nonRMB | sort by:?.rmbPrio cmp:?≥??
    = !Ack:ø:√ = [T C] | <[T@Ts] = {A: T |a fnd (canAct U ? T) As = [A T]; r Ts}>
    | <[A T] = I:T.id = !A.dst:I = order A U
             = ack I U C:{T.tileId = XY-VO+Units,ThisPlayer.view-[16 16]}>>>
  update:<= q (left ~1 0) (right 1 0) (up 0 ~1) (down 0 1) | m:[N@P] [Keys.N P]
          | filter:[[y@_] P] P | f [0 0] `+` | ?*32+VP.top,c | VP.move
          //= Keys.delete | <[y@XY] = rmXY M,screenToCell>
          = !UIPopup:[] = {Sel,n = !UIAct:ø} = updUnits,c = k Units,?,selectable? !Sel = √>
  drawUnit:<SO VO TN B G U
  = [BId BT1 BT2]:UIBlink = Blink:{Cycle≤BT1; Cycle≥BT2 |a Cycle≤BT2+12}
  = Id:U.id = Col:Tints.(U.color) = D:{dirN U.dir; 0} = UG:U.gfxes.TN,(U.frame),D
  = [X Y]:U.disp+VO-SO+32U.size/2 = [SW SH]:U.selSize = RX:X-SW/2 = RY:Y-SH/2
  = {{bfnd Id Sel; Blink |a Id≥≤BId} = G.rect U,unitUiColor RX RY SW SH
                                     = drawBar [RX RY+SH SW 5] U,hp100 G
    ;U.building |a UIAct.type,<\build> = G.rect #F0F0F0 RX RY SW SH}
  = B X-UG'w%2 Y-UG'h%2 UG P:Col FX:(D≥4 |a U.building,n)
  = U.effects | filter:[E V:pos?] E |i|e:[E N] B RX+16N RY-16 EfxIcons.E>
  drawShadow:<SO VO B U = UG:UTs.shadow.gfxes.summer,2,0
  = [X Y]:U.disp+VO-SO+32U.size/2 = B X-UG'w%2 Y-UG'h%2+U.shadow UG>
  updScreen:<VX VY G = VO:[VX VY] = B:G.blit = U:selectionAsUI,c = TN:Tileset.name
  = TP:Units,ThisPlayer = Side:TP.side = SO:TP.view
  = [IX IY]:VO+~(mod SO 32) = [CX CY]:SO%32
  = CW: ceil (G'w-VX+31)/32 =  CH: ceil (G'h+31)/32
  = Vs:[] = EX:sature1D 0 WW CX+CW = EY:sature1D 0 WH CY+CH
  =  for (Y:CY      PY:IY           ; Y≤EY; !PY+32 !Y+1)
    for (X:CX+Y*WW PX:IX EX:EX+Y*WW; X≤EX; !PX+32 !X+1)
    (= C: aget X Cells = {V:C.content =l @!Vs @V} = B PX PY C.gfx)
  = !VisibleUnits: filter Units,? Vs,uniq | sort by:[?.layer ?.disp,1]
  = k ?.building VisibleUnits | e:U drawUnit SO VO TN B G U
  = k ?.shadow VisibleUnits | e:U drawShadow SO VO B U
  = s ?.building VisibleUnits | e:U drawUnit SO VO TN B G U
  /*= for (Y:CY      PY:IY           ; Y≤EY; !PY+32 !Y+1)
    for (X:CX+Y*WW PX:IX EX:EX+Y*WW; X≤EX; !PX+32 !X+1) c <
    = C: aget X Cells
    = {and C.mask MCs.2 | nz? = B PX PY TileGreen}
    = {and C.mask MCs.5 | nz? = B PX PY TileRed}>*/
  // FOW
  /*= for (Y:CY PY:IY; Y≤EY; !PY+32 !Y+1)
     for (X:CX+Y*WW EX:EX+Y*WW PX:IX; X≤EX; !PX+32 !X+1)
     {any Units,?.owner≥≤ThisPlayer (aget X Cells).sensors
     ;B PX PY TileSolidBlack}*/
  // draw selection rect and/or choose cursor image
  /*= Cur:{CurXY = Cursors.basic.cross
        ;InVP |a selPoint CursorXY = Cursors.basic.glass
        ;√ = Cursor.point}*/
  = {[X Y W H]:VP'cur = [W H],abs≥10 |a G.rect #00ff00 X+VX Y+VY W H}
  >
  render:<= o w:<=W> h:<=H> proxy:updScreen>
  input:
  <[\mice_move _ P] = !M:P
  ;[\mice_left y XY] = !A:XY
  ;[\mice_left ø XY] = CC:XY,screenToCell
     = S:{A,n = Sel
         ;(abs M-A) ≥≥ 10 = selRect cur,c
         ;U:XY,selPoint = [U.id]}
     = {UIButton = snd “$Sounds/click.wav” = UIButton'onClick = !UIButton:ø
       ;inRect [0 0 W H] XY = D:{S=S,0; CC,cellIndex}
         = UIAct.type
           | <ø = !Sel:S = S,<[Id@_] = unitSay Units,Id,clickSnd Id = S>
             ;\build = T:UTs.(UIAct.what) = U:Sel,<[Id]=Units,Id>
                     = buildRect CC U T | all y
                     | <ø = snd “$Sounds/placement_error.wav”
                          = notify U.owner “Can't build there” = ø
                       ;_  = snd “$Sounds/placement_success.wav”
                           = !UIAct.dst:CC,cellIndex = lmbOrder UIAct>
              ; _ = !UIAct.dst:D = lmbOrder UIAct>
           | <y = !unitAsUI:unitAsRootUI = !UIAct:ø>
       ;√ = {A = !unitAsUI:unitAsRootUI}
          = !Sel:S}
     = !A:ø
   ;[\mice_right y XY] = {UIAct=!UIAct:ø; inRect [0 0 W H] XY = rmbOrder XY}
   ;[X@Xs] = !Keys.X:Xs>

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List