바둑판을 구축 대해 x와 y

이 도전을 위해 체커 게임을 시작할 때 각 조각의 좌표와 색상을 인쇄합니다.

바둑판의 모든 정사각형 (색인 0-7)에 대해 x와 y (쉼표로 구분)를 입력 한 다음 보드 상단 (y = 0에 더 가까운)에 “r”또는 “b”(빨간색 또는 검은 색)를 입력합니다. )은 빨간색이고 하단은 검은 색입니다. 조각 사이의 줄 바꿈이 필요하며 공백이 필요하지 않습니다.

이것은 이므로 적은 바이트로 더 나은 답변을 바이트로 채점합니다.

후행 줄 바꿈은 허용되지만 필수는 아니며 순서는 아래 순서와 같아야합니다.

원하는 출력 :

0,0r
0,2r
0,4r
0,6r
1,1r
1,3r
1,5r
1,7r
2,0r
2,2r
2,4r
2,6r
5,1b
5,3b
5,5b
5,7b
6,0b
6,2b
6,4b
6,6b
7,1b
7,3b
7,5b
7,7b


답변

05AB1E , 26 바이트

2ÝD5+«v4Fy',N·yÉ+„bry3‹èJ,

온라인으로 사용해보십시오!

설명

2Ý                           # push [0,1,2]
  D5+                        # duplicate and add 5: [5,6,7]
     «                       # concatenate
      v                      # for each y in [0,1,2,5,6,7] do:
       4F                    # for each N in [0 ... 3] do:
         y                   # push y
          ',                 # push ","
            N·yÉ+            # push N*2+isOdd(y)
                 „br         # push "br"
                    y3‹è     # index into the string with y<3
                        J,   # join everything to a string and print

답변

자바 스크립트 (ES6), 66 바이트

후행 줄 바꿈을 포함합니다.

f=(n=24)=>n--?f(n)+[2*(x=n>11)+(y=n>>2),n%4*2+y%2+'rb'[+x]]+`
`:''

데모

f=(n=24)=>n--?f(n)+[2*(x=n>11)+(y=n>>2),n%4*2+y%2+'rb'[+x]]+`
`:''

console.log(f())

답변

펄 5 , 53 바이트

//&map{say"$',",$_+$'%2,$'<4?r:b}0,2,4,6for 0..2,5..7

온라인으로 사용해보십시오!


답변

C (gcc) , 83 81 79 78 바이트

x;main(){for(;x<24;)printf("%d,%d%c\n",x/4+x++/12*2,x*2%8+x/4%2,114-x/12*16);}

온라인으로 사용해보십시오!


답변

파이썬 2 , 74 73 67 바이트

for i in 0,1,2,5,6,7:j=i%2;exec"print`i`+','+`j`+'rb'[i>4];j+=2;"*4

온라인으로 사용해보십시오!


답변

자바 8, 102 96 95 93 91 바이트

v->{for(int i=0;i<24;System.out.printf("%d,%d%c%n",i/4+i/12*2,i*2%8+i/4%2,i++<12?114:98));}

포트에서 @JonathanFrech 의 C 대답 나는 5 자신 바이트 golfed 후.

여기에서 시도하십시오.

설명:

v->{                    // Method without empty unused parameter and no return-type
  for(int i=0;i<24;     //  Loop from 0 to 24 (exclusive)
    System.out.printf("%d,%d%c%n",
                        //   Print with format:
                        //   (%d=digit; %c=character; %n=new-line)
      i/4+i/12*2,       //    Print first coordinate
      i*2%8+i/4%2,      //    Print second coordinate
      i++<12?114:98)    //    Print either 'r' or 'b'
  );                    //  End of loop
}                       // End of method

답변

배쉬 , 59 바이트

가장 짧지는 않지만 재미있는 것 :

printf %s\\n {{0,2,6}\,{0,2,4,6}r,{1,5,7}\,{1,3,5,7}b}|sort

온라인으로 사용해보십시오!