Skip to main content
We’ve updated our Terms of Service. A new AI Addendum clarifies how Stack Overflow utilizes AI interactions.
Code Golf

Return to Question

Added animation tag
Link
DLosc
  • 40.7k
  • 6
  • 87
  • 142
replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/
Source Link

The opcode is a hexadecimal digit which specifies the Universal Binary Function Code Universal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is

The opcode is a hexadecimal digit which specifies the Universal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is

The opcode is a hexadecimal digit which specifies the Universal Binary Function Code which is used as a rasterop. The argument is 0 or 1. The raster operation performed is

remove boolean and nesting-level fields.
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
BNSSSSYYxxXXOA
B: boolean connector: blank, A (and), O (or)
 N: boolean nesting levelSSSSYYxxXXOA
SSSS: 4 digit sequence no. may be padded by blanks or all blank
 YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1)
 xx: the starting x coordinate
 XX: the ending x coordinate
 O: hexadecimal opcode
 A: argument (0 or 1)

The Boolean connector line allows chaining of multiple statements as a logical unit. Chained statements must all have the same sequence number. The "result" of each line, for the purpose of expression-chaining is true if any pixels were altered by the line. Boolean connectors are governed by the Nesting Level field. Within the same nesting level, OR has higher precedence than AND. So, the chain of statements

 0000 0 1 100
A 0000 0 2 200
O 0000 0 3 300
A10000 0 4 400

will set the pixels 0,1 to 0,4 according to the parenthesized expression

(0,1) && ((0,2) || ((0,3) && (0,4)) ) 

since the statements set the pixel to zero unconditionally, the pixel is changed only if it is one initially.

0000 0 010F1
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 100 016F0
 101 016F0
 102 016F0
 103 016F0
 104 016F0
 105 016F0
 106 016F0
 107 016F0
 108 016F0
 109 016F0
 110 016F0
 111 016F0
 112 016F0
 113 016F0
 114 016F0
 115 016F0
 200020261
 2 0 6 661
 2 1 3 561
 2 2 3 461
 2 3 3 661
 2 4 4 461
 2 5 0 361
 2 5 5 861
 2 6 3 361
 2 6 5 561
 2 8 3 561
 2 9 3 361
 2 9 5 561
 210 3 361
 210 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 300020261
 3 0 6 661
 3 1 3 561
 3 2 3 461
 3 3 3 661
 3 4 4 461
 3 5 0 361
 3 5 5 861
 3 6 3 361
 3 6 5 561
 3 8 3 561
 3 9 3 361
 3 9 5 561
 310 3 361
 310 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
BNSSSSYYxxXXOA
B: boolean connector: blank, A (and), O (or)
 N: boolean nesting level
SSSS: 4 digit sequence no. may be padded by blanks or all blank
 YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1)
 xx: the starting x coordinate
 XX: the ending x coordinate
 O: hexadecimal opcode
 A: argument (0 or 1)

The Boolean connector line allows chaining of multiple statements as a logical unit. Chained statements must all have the same sequence number. The "result" of each line, for the purpose of expression-chaining is true if any pixels were altered by the line. Boolean connectors are governed by the Nesting Level field. Within the same nesting level, OR has higher precedence than AND. So, the chain of statements

 0000 0 1 100
A 0000 0 2 200
O 0000 0 3 300
A10000 0 4 400

will set the pixels 0,1 to 0,4 according to the parenthesized expression

(0,1) && ((0,2) || ((0,3) && (0,4)) ) 

since the statements set the pixel to zero unconditionally, the pixel is changed only if it is one initially.

0000 0 010F1
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 100 016F0
 101 016F0
 102 016F0
 103 016F0
 104 016F0
 105 016F0
 106 016F0
 107 016F0
 108 016F0
 109 016F0
 110 016F0
 111 016F0
 112 016F0
 113 016F0
 114 016F0
 115 016F0
 200020261
 2 0 6 661
 2 1 3 561
 2 2 3 461
 2 3 3 661
 2 4 4 461
 2 5 0 361
 2 5 5 861
 2 6 3 361
 2 6 5 561
 2 8 3 561
 2 9 3 361
 2 9 5 561
 210 3 361
 210 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 300020261
 3 0 6 661
 3 1 3 561
 3 2 3 461
 3 3 3 661
 3 4 4 461
 3 5 0 361
 3 5 5 861
 3 6 3 361
 3 6 5 561
 3 8 3 561
 3 9 3 361
 3 9 5 561
 310 3 361
 310 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
SSSSYYxxXXOA
SSSS: 4 digit sequence no. may be padded by blanks or all blank
 YY: the y coordinate affected by this line (descending, top is 0, bottom is m-1)
 xx: the starting x coordinate
 XX: the ending x coordinate
 O: hexadecimal opcode
 A: argument (0 or 1)
0000 0 010F1
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 100 016F0
 101 016F0
 102 016F0
 103 016F0
 104 016F0
 105 016F0
 106 016F0
 107 016F0
 108 016F0
 109 016F0
 110 016F0
 111 016F0
 112 016F0
 113 016F0
 114 016F0
 115 016F0
 200020261
 2 0 6 661
 2 1 3 561
 2 2 3 461
 2 3 3 661
 2 4 4 461
 2 5 0 361
 2 5 5 861
 2 6 3 361
 2 6 5 561
 2 8 3 561
 2 9 3 361
 2 9 5 561
 210 3 361
 210 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
 300020261
 3 0 6 661
 3 1 3 561
 3 2 3 461
 3 3 3 661
 3 4 4 461
 3 5 0 361
 3 5 5 861
 3 6 3 361
 3 6 5 561
 3 8 3 561
 3 9 3 361
 3 9 5 561
 310 3 361
 310 5 561
 00020261
 0 6 661
 1 3 561
 2 3 461
 3 3 661
 4 4 461
 5 0 361
 5 5 861
 6 3 361
 6 5 561
 8 3 561
 9 3 361
 9 5 561
 10 3 361
 10 5 561
add example using sequence field
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
image of simple example
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
remove banners
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
add blank nesting level to example
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
updated boolean connectors, blank sequence numbers, range of x coords
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
Tweeted twitter.com/#!/StackCodeGolf/status/467287731274780672
example encoded figure
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
specify y direction
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
added 89 characters in body
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
deleted 10 characters in body
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading
Source Link
luser droog
  • 5k
  • 2
  • 37
  • 61
Loading

AltStyle によって変換されたページ (->オリジナル) /