Keluarkan teks "Code Bowling"


54

Kode-Bowling

Anda telah disewa oleh Brunswick Bowling untuk membuat program sederhana untuk menampilkan teks Code Bowlingpada monitor mereka. Perusahaan ini bernilai sepeser pun dan Anda merasa dapat menipu mereka dengan sedikit uang.

Uraian pekerjaan dengan jelas menyatakan bahwa mereka membayar berdasarkan penilaian dan Anda cukup yakin Anda dapat memanipulasi sistem penilaian mereka untuk keuntungan Anda dan mendapatkan cek gaji sebesar mungkin dari orang-orang ini. Untuk melakukannya akan mengharuskan Anda mengemas kode sebanyak yang Anda bisa ke dalam program / fungsi Anda, meskipun sistem penilaian mereka dirancang untuk mencegah Anda melakukannya.

Keluar dari celengan Anda, mari kode!


Tantangan

Tantangannya adalah hanya mengeluarkan teks Code Bowling, persis seperti yang ditulis di sini, dengan skor setinggi mungkin. (Lihat bagian: Sistem Penilaian di bawah)

Memimpin dan membuntuti baris baru (line-break) dapat diterima.

Kode Anda mungkin keseluruhan program atau hanya fungsi yang dapat dieksekusi.


Aturan

Wajib: Tantangan ini menggunakan Code-Bowling: Common Rules, Revisi 1.0.0 ; Lihat Meta untuk detailnya.

  1. Karakter: Rasio Byte
    Dalam Code-Bowling, jumlah karakter lebih disukai daripada jumlah byte. Alasan yang jelas untuk ini adalah bahwa karakter unicode multi-byte (misalnya 🁴) dapat digunakan sebagai pengganti karakter unicode byte tunggal untuk menambah jumlah byte dan akan membuat bowling lebih lanjut tentang siapa yang paling mengubah nama variabel dengan karakter unicode byte tinggi daripada daripada siapa yang paling strategis menciptakan kode kompleks yang bermakna.

  2. Variabel / Fungsi / Nama Objek
    Semua nama variabel (atau pointer objek, nama fungsi, dll) harus sepanjang 1 karakter. Satu-satunya waktu yang dapat diterima untuk menggunakan nama variabel 2 karakter adalah setelah semua variabel 1 karakter yang mungkin telah digunakan. Satu-satunya waktu yang dapat diterima untuk menggunakan nama variabel 3 karakter adalah setelah semua variabel 2 karakter yang mungkin telah digunakan. Dll

  3. Kode Tidak Digunakan
    Semua kode harus digunakan. Berarti program harus gagal untuk selalu menyelesaikan tugas dengan benar jika ada karakter individu (atau beragam set karakter) yang dihapus. Secara alami, suatu subset dari program seharusnya tidak dapat menyelesaikan tugasnya sendiri tanpa sisa dari program.

  4. Komentar
    Komentar tidak diizinkan untuk penghitungan karakter, kecuali jika digunakan oleh program / fungsi Anda.


Sistem penilaian:

  Tantangan Pangram:

Pamram adalah kalimat yang menggunakan setiap huruf setidaknya satu kali. (Rubah coklat cepat melompati anjing malas).

Tipe tantangan ini memiliki sistem penilaian yang dirancang di mana pangram sempurna akan mencapai skor maksimum teoretis (meskipun Anda tidak diharuskan menggunakan setiap karakter setidaknya satu kali.) Selain itu, menggunakan karakter apa pun lebih dari satu kali akan mulai menimbulkan penalti. Tantangan ini juga berkembang lebih dari sekedar karakter alfabet.

  Metrik Penilaian:

  1. Setiap karakter yang digunakan meningkatkan skor Anda sebesar 1.
  2. Penggunaan berulang karakter alfanumerik apa pun (az, AZ, 0-9) akan menghasilkan pengurangan 3 poin per pengulangan (penggunaan pertama tidak menghasilkan pengurangan).
  3. Penggunaan tanda baca dasar berulang ([!?.-,":';])- termasuk tanda kurung - akan menghasilkan pengurangan 2 poin per pengulangan.
  4. Penggunaan berulang karakter ASCII lainnya {`~@#$%^&*_+=|\/><}- termasuk kurung keriting - akan menghasilkan pengurangan 4 poin per pengulangan.
  5. Penggunaan spasi, tab, dan baris baru akan menghasilkan pengurangan 1 poin per penggunaan. Artinya, mereka tidak diperhitungkan total karakter.
  6. Karakter yang tidak disebutkan di atas (Karakter Eksotis) akan menghasilkan pengurangan 1 poin per penggunaan. Artinya, mereka tidak diperhitungkan total karakter.

  Alat Penilaian:

Sebuah otomatis mencetak gol widget telah dibuat dan dapat ditemukan di sini .


Ini adalah varian . Program dengan skor tertinggi menang! (Karena ada skor maksimum 94, siapa pun yang mencapainya terlebih dahulu (jika dapat dijangkau) akan ditandai sebagai jawaban yang diterima, meskipun yang lain bebas untuk terus menjawab untuk bersenang-senang)


37
Saya berhasil mendapatkan skor -75k. Jika ini skor terendah, saya akan melakukannya dengan luar biasa.
ATaco

1
@cococuting Coba headecks. Skor mungkin akan tetap buruk. Juga, Anda tidak bisa menggunakan BF, karena non-perintah adalah komentar dan dapat dihapus.
mbomb007

1
Delimit akan baik untuk ini, karena tidak benar-benar peduli karakter apa yang Anda gunakan, hanya gabungan ASCII dari serangkaian karakter
MildlyMilquetoast

2
Kode terpendek akan menjadi tiebreak yang bagus untuk tantangan ini!
Stewie Griffin

2
Mungkin seseorang dapat menyelesaikannya dengan memberikan hadiah kepada 94-ers lainnya
masterX244

Jawaban:


36

Glypho , 94

File sumber dikodekan dalam CP437 .

␀␀!"☺☺#$☻♥♥☻♦♣♦♣%♠♠&•◘•◘'○○(◙♂◙♂♀♪♪♀♫☼♫☼►◄◄►↕↕)*‼¶¶‼§§+,▬↨↨▬↑↓↑↓→←→←∟∟-.↔▲▲↔/▼▼▼⌂Ç⌂Çüééüââ01ää23àååàçêçê4ëë5èïèïîî67ìÄÄì8ÅÅ9ÉÉ:;æÆÆæô<=ôöòòöûùûù>ÿÿÿÖÖ?@ÜÜAB¢££¢¥₧¥₧CƒƒDáíáíóóEFúññúѪѪGººHI¿¿J⌐¬⌐¬K½½½¼¼LM¡««¡N»»»░░OP▒▒QR▓││▓┤╡┤╡S╢╢T╖╕╖╕U╣╣V║╗║╗╝╜╜╝W╛╛╛┐X┐┐Y└└└┴┬┴┬├─├─Z┼┼┼╞╞[\╟╟]^╚╔╔╚╩╦╩╦_╠╠`═╬═╬╧╨╨╧╤╥╥╤a╙╙╙╘╘bc╒╒de╓╓fg╫╪╪╫┘┌┌┘█▄█▄▌hi▌▐j▐▐▀αα▀ßΓßΓπΣπΣkσσσµlµµτmnτΦΘΘΦΩδΩδo∞∞∞φpφφεεqr∩≡≡∩±±st≥≤≤≥u⌠⌠⌠⌡⌡vw÷xy÷≈°°≈∙∙z{·|}·√ⁿⁿ√~²²²

Cobalah online!

Penjelasan

Glypho cukup berguna untuk tantangan seperti ini karena tidak peduli dengan karakter yang sebenarnya digunakan. Sebaliknya itu terlihat pada setiap potongan 4 karakter dan perintah yang digunakan ditentukan oleh pola yang dibuat empat karakter ini:

0000 n
0001 i
0010 >
0011 \
0012 1
0100 <
0101 d
0102 [
0110 +
0111 o
0112 *
0120 -
0121 ]
0122 !
0123 e

Itu berarti kita bisa menyelesaikan masalah dan kemudian mengisi karakter unik di setiap kuartet dengan karakter yang dapat dicetak dan semua yang diulang dengan beberapa karakter "eksotis", yang diabaikan oleh penilaian. Glypho cukup verbose bahwa solusi tulisan tangan yang normal berisi karakter yang cukup unik untuk memenuhi semua 94 yang dicetak di dalamnya. Bahkan, saya akhirnya bermain golf sampai benar-benar 94, hanya supaya saya bisa menggunakan karakter eksotis yang unik untuk yang diulang (mudah-mudahan, membuat lebih sulit untuk mengurangi program).

Bentuk singkat dari program di atas adalah ini:

11+d*d*d+d+1+1+dd1+o
d+11+d*d1+*1+-+do
11+d*d1+d**do
1+o
11+d*d*d+o
<o
ddo
11+d*d++o
111++d-<+ddo
<-+do
<1+1+o
1-+1-+o

Di mana setiap baris mencetak salah satu karakter.

Saya telah menggunakan skrip Retina ini untuk mengonversinya menjadi Glypho 0123. Setelah itu, saya baru saja mengisi karakter menggantikan digit.

Secara teori mungkin untuk mengurangi ini lebih lanjut, jika seseorang berhasil bermain golf di program singkatan dan kemudian berhasil menggabungkan kembali karakter sedemikian rupa sehingga muncul pola yang benar, tetapi saya tidak yakin bagaimana membuktikan atau membantah bahwa ini mungkin . Jika ada yang berhasil membentuk solusi yang valid dari subset program saya, harap beri tahu saya agar saya dapat menghapus jawaban sampai diperbaiki. Sampai saat itu, saya harus berasumsi bahwa ini valid.


Barang bagus! Saya menerima ini untuk saat ini karena 94ini adalah skor maksimum. Semua orang bebas untuk tetap mengirimkan jawaban untuk bersenang-senang .
Albert Renshaw

Kerja bagus, Martin! Andai saja saya beberapa jam lebih cepat ...: D
mbomb007

@AlbertRenshaw Mungkin tie-breaker harus byte-count? : D
mbomb007

49

Python 3, 82 87 88

Terima kasih kepada @JonathanAllan untuk skor +1

print("g!#$%&'*n+,./012i34579;<l=>?@ADEwFGHIJKLoMNOPQRSBTUVWXYZ ^_`abchejkmqsuvdyz{|}~ \x6f       C"[::-8])

Cobalah online!

Tidak ada yang istimewa, hanya mengiris dan melompati karakter. String terbalik sehingga Anda tidak dapat menghapus karakter dan memiliki string asli yang sedang dicetak.


2
Wow. yang adalah baik.
Matius Roh

1
Jawaban yang sangat bagus, tapi mengapa pesanannya dikocok? Bukankah lebih mudah (untuk Anda) untuk memilikinya sesuai urutan secara alami ( HIJKLMN...) kecuali untuk setiap karakter ke-8 tentu saja?
Stewie Griffin

@StewieGriffin Akan lebih mudah, ya. Saya hanya mengulangi set dan tidak benar-benar peduli tentang penyortiran.
TidB

Apakah ada alasan Anda mengisi karakter lain dalam urutan yang aneh?
mbomb007

2
Anda seperti inspirasi TidB! Pertanyaan baru saya :)
Stewie Griffin

17

> <> , 92 94

YAY, SAYA MELAKUKANNYA!

adalah karakter eksotis\x11 dengan nilai desimal 17. Program ini keluar dengan kesalahan setelah mencetak hasilnya (ini adalah tumpukan underflow). Saya harus mengelola mirror dan perintah arah mana yang saya gunakan dengan hati-hati, karena saya hanya bisa menggunakan masing-masing satu kali.

   >"vCoUV␑3`h]Z_X
       /a[f+
#$%&'r(!
.0456~8?
:;<=@9l)
ABDEFcGe
HIJKL*
MNOPQ7
RSTWYd
bgijk1
mnqst-
uwxyz2
{|}  ,
     \p^

Cobalah online

Program inti:

   >"vCoUV␑3`h]Z_X
       /a[f+
     r !
     ~ ?
     9 )
     c e
     *
     7
     d
     1
     -
     2
     ,
     \p^

Penjelasan:

Dorong string vCoUV␑3`h]Z_X >(eksekusi membungkus). Bergerak ke bawah. Balikkan tumpukan dan hapus v.

Tekan 9dan c(12). Lipat gandakan untuk mendapatkan 108( l). Dorong 7. Tekan d(13), kurangi 1, bagi dengan 2untuk mendapatkan 6. Letakkan ldi (x, y) dari (13,6), yang di bawah e. Saya bisa melakukan cara ini lebih pendek, tetapi ini diperpanjang jadi saya punya ruang untuk menempatkan lebih banyak karakter ASCII.

Bergerak ke atas dalam satu lingkaran. Dorong panjang tumpukan dengan l. Jika lebih besar dari 14, karakter keluaran, jika tidak, buat tumpukan baru dengan 10 elemen teratas, tambahkan 15 lalu cerminkan eksekusi kemudian naik dan output. Ini digunakan untuk mencegah ruang ekstra dan >dari dicetak di akhir, serta mengubah string yang tampak acak menjadi apa yang perlu dicetak. Lanjutkan perulangan.

Jika ada garis yang lebih pendek (dengan menghapus karakter), program tidak akan berfungsi lagi, baik karena bagian vertikal dari program tidak lagi berbaris, atau karena string untuk mencetak tidak lagi benar. Mencoba menghapus karakter dari depan setiap baris akan mengubah kedalaman tumpukan dan di mana lditempatkan, juga menyebabkan masalah.

Ikan


94! Bagus! Saya tidak berpikir Anda akan sampai di sana haha
Albert Renshaw

2
Ketika saya mulai membuat versi pertama, saya tahu saya bisa menggunakan kembali. Kemudian saya menyingkirkan "dan ldengan sedikit kerja. Begitu saya menekan angka 92, saya yakin pasti ada cara untuk menghapus yang terakhir o. Tapi itu butuh sedikit usaha. Anda dapat mengetahui dari riwayat revisi.
mbomb007

16

Oktaf, 20 21 22 25 27 33

Yang terbaik yang saya kelola sejauh ini adalah

g=@()disp(horzcat([67 9583 -412],'e B',"nvkhmf"+!0));

Ini menciptakan fungsi anonim fyang tidak membutuhkan input. Anda bisa menyebutnya f(). Saya akan mengatakan titik koma di bagian akhir diperlukan, untuk menghindari pencetakan fungsi tubuh.

Mungkin ini bisa diperbaiki dengan menggabungkan evaldan printf, tapi saya sudah mencoba dan gagal berulang-ulang.

Ini menggunakan semua digit satu kali, dengan menjelaskan fakta bahwa Oktaf melakukan mod(x,256)operasi ketika secara implisit mengubah angka menjadi karakter. Ini artinya kita bisa menggunakan angka negatif, juga angka di luar normal 32-126-range. Nomor-nomor berikut semua hasil dalam surat ibila dikonversi ke karakter: ... -2455 -2199 -1943 ... 105 361 .... Alih-alih menggunakan 'owling'pada akhirnya, kami menggunakan "nvkhmf"dan menambahkan 1. Ini menciptakan vektor bilangan bulat yang secara implisit dikonversi ke karakter. Alih-alih 1, kami menggunakan !0(atau not(false). Juga, kami menggunakan "alih-alih 'untuk menghindari dua poin penalti.

Kita perlu menemukan set angka yang memberikan skor terendah. Hasil string Code Bowlingdalam matriks berikut, ketika kita kurangi dan tambahkan -10 * 256 - 10 * 256.

  -2493  -2449  -2460  -2459  -2528  -2494  -2449  -2441  -2452  -2455  -2450  -2457
  -2237  -2193  -2204  -2203  -2272  -2238  -2193  -2185  -2196  -2199  -2194  -2201
  -1981  -1937  -1948  -1947  -2016  -1982  -1937  -1929  -1940  -1943  -1938  -1945
  -1725  -1681  -1692  -1691  -1760  -1726  -1681  -1673  -1684  -1687  -1682  -1689
  -1469  -1425  -1436  -1435  -1504  -1470  -1425  -1417  -1428  -1431  -1426  -1433
  -1213  -1169  -1180  -1179  -1248  -1214  -1169  -1161  -1172  -1175  -1170  -1177
   -957   -913   -924   -923   -992   -958   -913   -905   -916   -919   -914   -921
   -701   -657   -668   -667   -736   -702   -657   -649   -660   -663   -658   -665
   -445   -401   -412   -411   -480   -446   -401   -393   -404   -407   -402   -409
   -189   -145   -156   -155   -224   -190   -145   -137   -148   -151   -146   -153
     67    111    100    101     32     66    111    119    108    105    110    103
    323    367    356    357    288    322    367    375    364    361    366    359
    579    623    612    613    544    578    623    631    620    617    622    615
    835    879    868    869    800    834    879    887    876    873    878    871
   1091   1135   1124   1125   1056   1090   1135   1143   1132   1129   1134   1127
   1347   1391   1380   1381   1312   1346   1391   1399   1388   1385   1390   1383
   1603   1647   1636   1637   1568   1602   1647   1655   1644   1641   1646   1639
   1859   1903   1892   1893   1824   1858   1903   1911   1900   1897   1902   1895
   2115   2159   2148   2149   2080   2114   2159   2167   2156   2153   2158   2151
   2371   2415   2404   2405   2336   2370   2415   2423   2412   2409   2414   2407
   2627   2671   2660   2661   2592   2626   2671   2679   2668   2665   2670   2663

Jadi, ['',2627 2415 2148 1893 -2528 66 -1169 -1161 2668 105 -146 103]hasil ans = Code Bowling. Tantangannya adalah menemukan set angka dan karakter yang paling mengurangi skor. Menggunakan semua digit tentu saja baik, tetapi duplikatnya buruk. Karena semua digit digunakan, dan non digunakan dua kali, ini adalah campuran terbaik. Juga, kita bisa menggunakan -, menghasilkan satu poin.

Orang dapat mengklaim bahwa itu dapat dikurangi menjadi garis di bawah (31 poin), tetapi kemudian tidak akan lagi menjadi "fungsi yang dapat dieksekusi" , dan karena itu akan memiliki fungsi yang berbeda.

disp(horzcat([67 9583 -412],'e B',"nvkhmf"+!0))

Apakah kamu function q();disp(...)juga mencoba ? Kecuali untuk i(), mereka baik-baik saja tidak tumpang tindih.
Sanchises

@ Berasal saya bisa memeriksanya. Tetapi cotdi dalam horzcatdan nfdi dalam tali akan menurunkan skor secara drastis. Mungkin lebih baik, jika saya menghapus horzcatdan membuat string dengan cara lain, tetapi kemudian saya tidak dapat menggunakan +!0keduanya. Saya akan terkejut jika itu meningkatkan skor menjadi jujur ​​... Ini hanya 7 karakter lebih lama dari jawaban saat ini, dan saya akan mendapatkan penalti 7 byte, selain yang saya sebutkan.
Stewie Griffin

1
Ya saya tidak bisa dengan sepele mendapatkan skor yang lebih tinggi function, tetapi kemudian saya pikir Anda mungkin sudah mencoba ini dan saya akan membuang-buang waktu saya (sebagai lawan dari, Anda tahu, menghabiskan waktu saya dengan berguna di PPCG)
Sanchises

12

QBasic, 34

Ini adalah kode yang tidak diformat (yay untuk case-insensitivity). Anda dapat menjalankannya di QB64 atau di archive.org (meskipun perhatikan bahwa yang terakhir akan memformat kode saat Anda mengetiknya). Saya pikir saya sudah berhasil mematuhi semua aturan.

CLS
PrINT "C
LOcatE 1, 2 : ? CHR$(957-846); "de Bowling

Yang CLSdiperlukan: tanpa itu, Ctidak dijamin untuk mencetak di sudut kiri atas layar, di mana ia akan sejajar dengan ode Bowling. The LOcatEdiperlukan: tanpa itu, ode Bowlingakan dicetak pada baris di bawah C. Saya tidak percaya ada subset dari program ini (kecuali spasi) yang dapat dihapus dan menjaga output yang sama.


1
Bisakah Anda membagikan tautan ke juru bahasa online? Saya tidak bisa menjalankan ini di repl.it. Saya dapatParse failed: Syntax error at 3:36: Token(Bowling)
Stewie Griffin

1
@StewieGriffin Diedit dalam beberapa opsi.
DLosc

1
@StewieGriffin, ini mengambil keuntungan dari kekhasan dalam implementasi Microsoft dari Basic di mana kutipan penutup dari sebuah string adalah opsional jika string tersebut meluas ke akhir baris. Saya berharap sebagian besar penerjemah non-Microsoft akan keberatan dengan tanda kutip yang hilang.
Markus

Rupanya QBasic memiliki asosiasi bau yang sangat kuat bagi saya.
Bukan berarti Charles

1
@Dosc. Baunya seperti buku yang saya pelajari, dan seperti ruang komputer di rumah saya yang tumbuh dewasa. Saya tidak tahu. Itu LOCATE 1, 2yang melakukannya
Bukan Charles

12

C, 27 29

+2 poin berkat @ceilingcat!

f(){char q<:]="Code B\157wling";puts(q);%>

2
Sarankan char q<:]alih-alih char q[]dan puts(q);%>bukannyaputs(q);}
ceilingcat

Saran: 1.menggunakan fungsi terpisah untuk mengeluarkan setiap segmen dari string dan kemudian menjalankan semuanya dalam fungsi f 2. Keajaiban menggunakan struct untuk membuat kode lebih lama tanpa alasan
Matthew Roh

1
@MatthewRoh Saya pikir Anda mungkin menemukan sistem penilaian menghukum yang cukup berat
Albert Renshaw

1
@AlbertRenshaw Mereka adalah digraf
ceilingcat

15
Haha, pertama kali saya melihat+2 points thanks to ...
Kritixi Lithos

9

Haskell , skor 21 38 46 47 21 70

putStr$toEnum(length"!#%&'*+,-./012345789;<=>?@ADGHIJKLMNOPQRTUVWXYZ[]^_`abcfjkqsvyz{|}~"):"ode B\x6Fwling"

Cobalah online! Idenya adalah untuk mendapatkan yang terdepan Cdengan membangun string dengan panjang 67 yang berisi semua karakter yang tidak digunakan dan mengubah panjang string ini menjadi sebuah karakter. Saya mulai dengan putStr$toEnum(length""):"ode B\x6Fwling"( '\x6F'heksadesimal '\111'yang menghasilkan 'o') dan menghitung semua karakter ASCII yang dapat dicetak yang tidak terkandung dalam program:

!#%&'*+,-./012345789;<=>?@ACDGHIJKLMNOPQRTUVWXYZ[]^_`abcfjkqsvyz{|}~

Kebetulan masih ada 67 karakter ASCII yang dapat dicetak yang dapat dimasukkan ke dalam string, dan Citu sendiri yang tidak dapat muncul dalam string karena dengan demikian program akan dapat direduksi menjadi adil putStr"Code B\x6Fwling".


Solusi sebelumnya: (skor 21)

f|x<-'C'=mapM putStr[(:)x"ode Bowling"]

Menentukan fungsi fyang tidak mengambil input dan mencetak string. Cobalah online!



@ Leo tangkapan yang bagus! Apakah pendekatan ini juga berfungsi untuk versi saya yang diperbarui 95dalam string dan pengurangan 4621? (Saya tidak punya waktu untuk memeriksanya sendiri sekarang tetapi akan memeriksanya beberapa waktu kemudian)
Laikoni

1
Gotcha . Butuh waktu lebih lama dari seharusnya, melihat betapa sederhananya hasilnya :)
Leo


8

Jelly , 94

“!#"$&('*)+-/,13.0456:79<;>=@B?ADFHJLNCPRTEVXZ\G^IKMQ`SWbY[]d_acfhjegliknmprotquvxwy{z}¹|³⁵⁷~°⁹⁻”O%2s8UḄỌ

Cobalah online!

105 karakter unik, 11 eksotik ( “¹³⁵⁷°⁹⁻”ḄỌ).

Bagaimana?

Membentuk string dari ASCII terbalik 8-bit di mana setiap bit dikodekan menggunakan LSB dari nilai Unicode karakter.

“...”O%2s8UḄỌ - Main link: no arguments
“...”         - the string enclosed            !  #  "  $  &  (  '  *  )  +  -  /  ,  1  3  .  0  4  5  6  :  7  9  <  ;  >  =  @  B  ?  A  D  F  H  J  L  N  C  P  R  T  E  V  X  Z  \  G  ^  I  K  M  Q  `  S  W  b  Y  [  ]   d  _  a  c   f   h   j   e   g   l   i   k   n   m   p   r   o   t   q   u   v   x   w   y   {   z   }   ¹   |   ³    ⁵    ⁷   ~   °    ⁹    ⁻
     O        - cast to ordinal (vectorises) [33,35,34,36,38,40,39,42,41,43,45,47,44,49,51,46,48,52,53,54,58,55,57,60,59,62,61,64,66,63,65,68,70,72,74,76,78,67,80,82,84,69,86,88,90,92,71,94,73,75,77,81,96,83,87,98,89,91,93,100,95,97,99,102,104,106,101,103,108,105,107,110,109,112,114,111,116,113,117,118,120,119,121,123,122,125,185,124,179,8309,8311,126,176,8313,8315]
      %2      - mod 2 (vectorises)           [ 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,  0, 1, 1, 1,  0,  0,  0,  1,  1,  0,  1,  1,  0,  1,  0,  0,  1,  0,  1,  1,  0,  0,  1,  1,  1,  0,  1,  1,  0,  1,   1,   1,  0,  0,   1,   1]
        s8    - split into chunks of 8       [[1,1,0,0,0,0,1,0], [1,1,1,1,0,1,1,0], [0,0,1,0,0,1,1,0], [1,0,1,0,0,1,1,0], [0,0,0,0,0,1,0,0], [0,1,0,0,0,0,1,0], [1,1,1,1,0,1,1,0], [1,1,1,0,1,1,1,0], [0,0,1,1,0,1,1,0], [1,0,0,1,0,1,1,0], [0,1,1,1,0,1,1,0], [1,1,1,0,0,1,1]]
          U   - upend (vectorises)           [[0,1,0,0,0,0,1,1], [0,1,1,0,1,1,1,1], [0,1,1,0,0,1,0,0], [0,1,1,0,0,1,0,1], [0,0,1,0,0,0,0,0], [0,1,0,0,0,0,1,0], [0,1,1,0,1,1,1,1], [0,1,1,1,0,1,1,1], [0,1,1,0,1,1,0,0], [0,1,1,0,1,0,0,1], [0,1,1,0,1,1,1,0], [1,1,0,0,1,1,1]]
           Ḅ  - binary to int (vectorises)   [67, 111, 100, 101, 32, 66, 111, 119, 108, 105, 110, 103]
            Ọ - to character (vectorises)    ['C', 'o', 'd', 'e', ' ', 'B', 'o', 'w', 'l', 'i', 'n', 'g']
              - implicit print               Code Bowling

1
Jelly lebih panjang dari yang lain bagaimana ini mungkin?
Christopher

1
@DownChristopher Ini sebenarnya lebih pendek dari jawaban python. Namun jawaban python memiliki pengulangan.
fəˈnɛtɪk

@DownChristopher saya mendeteksi sarkasme?
Jonathan Allan

@ Jonathan Allan no Ya saya masih merasa lucu bahwa jeli cukup panjang di sini
Christopher

6

Röda , 33

{["ode B\x6fwling"]|push chr(3*4+57-2).._}

Cobalah online!

Saya mencoba mengikuti semua aturan. Ini bekerja dengan terlebih dahulu mendorong string ode Bowling!ke aliran dan kemudian memasukkan C= 3 * 4 + 57-2 ke depan.


6

Kardinal 20

23 karakter bukan spasi putih
% #> / NI "CodeB8 ^ o) wl, ing

-3 untuk mengulang "o"

   I
 >\/N
%# "CodeB
 8^o
 ) w
   l
 , i
   n
   g

Jalur penunjuk:

Langkah 1:
Pointer dibuat di% ke kanan

Langkah 2:
Pointer terbagi pada # untuk naik, kanan dan turun (P1, P2, P3)

Langkah 3 :
P1 Dikirimkan dengan>
P2 Ke kanan
P3 Tetapkan menunggu 3 langkah pada 8

Langkah 4:
P1 Tercermin ke bawah oleh \. \ diubah menjadi /
P2 Atur ke mode cetak oleh "
P3 Tunggu 2 ticks pada 8

Langkah 5:
P1 Menuju ke bawah
P2 Cetak C
P3 Tunggu 1 centang pada 8

Langkah 6:
P1 Dikirim oleh ^
P2 Cetak o
P3 Selesai menunggu saat melanjutkan, ambil nilai ASCII "" (32) dari)

Langkah 7: P1 Heading up
P2 Print d
P3 Heading down

Langkah 8: P1 Dipantulkan oleh \ yang diubah menjadi /
P2 Cetak e
P3 Cetak karakter dengan nilai ASCII = 32 dari, operasi

Langkah 9:
P1 Dicerminkan oleh / yang diubah menjadi \
P2 Cetak B
P3 Mencapai ujung bidang dan berhenti

Langkah 10:
P1 Tercermin ke bawah oleh I
P2 Mencapai ujung lapangan dan berhenti

Langkah 11:
P1 Dicerminkan dengan benar oleh / yang diubah menjadi \. Perubahan kembali ke /

Langkah 12:
P1 Pantulkan kiri oleh N

Langkah 13:
P1 Tercermin ke bawah oleh /

Langkah 14:
P1 Atur ke mode cetak dengan "

Langkah 15:
P1 Cetak o

Langkah 16:
P1 Print w

Langkah 17:
P1 Cetak l

Langkah 18:
P1 Cetak i

Langkah 19:
P1 Cetak n

Langkah 20:
P1 Cetak g

Langkah 21:
P1 Mencapai ujung bidang dan berhenti.

Cobalah secara Online


5

C, 73

Terima kasih kepada @Laikoni!

F(){printf("Code B\157wli%cg",48+strlen("!#$&'*-../2369:<=>?@ADEGHIJKLMNOPQRSTUVWXYZ[]^_`abhjkmquvxyz|~"));}

Cobalah online!

C,  31   33  35

F(){printf("Code B\157wli%cg",96|0xD+3*4/8);}

Terima kasih kepada @ceilingcat dan @DLosc untuk dua poin lagi dan terima kasih kepada @ Ørjan Johansen untuk dua poin lagi!

Cobalah online!


1
@ceilingcat Kemudian seseorang dapat menghapus 8-dan masih memiliki kode yang valid. 0xA-4+8harus bekerja.
DLosc

1
Akan 0xA+32/8bekerja (Tanpa sesuatu yang dapat dilepas, yaitu.)
Ørjan Johansen

@ ØrjanJohansen Saya pikir tidak. Tak satu pun dari +32, +3, +2, +3/8, +2/8, /8atau +8menghasilkan output yang tepat. Terima kasih!
Steadybox

Oh, atau 0xD+4*8/32. Tidak tunggu, itu akan menjadi singkat 0xD+4/3bukan.
Ørjan Johansen

1
Menggunakan pendekatan yang sama dengan jawaban Haskell saya memberikan skor 74, jika tidak dapat direduksi dengan cara apa pun: Coba online!
Laikoni

3

Batch, 19 karakter

@echO(Cod%TMP:~5,1% Bowling

Dimulai dengan Windows Vista, TMPdimulai dengan C:\Users\dan oleh karena itu %TMP:~5,1%merupakan cara penulisan yang verbose e, meskipun membutuhkan hukuman dobel %pada -4.


3

Brainfuck: -204

++++[++++>---<]>.+[--->+<]>+++.-----------.+.--[--->+<]>-.+[->++<]>.-[--->+<]>++++.++++++++.-----------.---.+++++.-------.

Skor yang buruk, tetapi menyenangkan untuk menulis.

  • 122 karakter
  • ulangi alnum: -0 ()
  • tanda baca berulang: -134 (- [---]. ----------- ..-- [---] -. [-] .- [---] ..-- ---------. --- ..-------.)
  • diulang lainnya: -192 (+++++++>> +> + <> ++++> + <> +> ++ <>> + <> ++++++++++++++ ++++)
  • karakter spasi putih: -0 ()
  • karakter eksotis: -0 ()

Apakah Brainfuck memenangkan setiap tantangan PPCG? ; P
Draco18s

@ Draco18s mungkin bukan hahaha menangis.
Haydn Dias

1
'Menyenangkan menulis', maksud Anda mengetik "Code Bowling" ke dalam pembuat teks ?
Jo King

3

Java 8, 2 3 5 13 17 18 19 20 21 24 77 78 poin

Skor +53 (24 → 77) berkat @Laikoni .

v->(char)"!#$%&'*,/0234689:;<=?@ADEFGHIJKLMNOPQRSTUVWXYZ[]^_`bfjkmpqsuxyz{|}~".length()+"\157de Bowling"

Panjang 104 karakter
- alnum berulang: -15 ( helng)
- tanda baca berulang: -10 ( "()"")
- diulangi ASCII lainnya: tidak ada
- karakter spasi putih: -1
SCORE: 78

Cobalah online.


Old 24 bytes menjawab:

v->"C\157de Bowlin"+(char)103;

Panjang 30 karakter
- alnum berulang: -3 ( 1)
- tanda baca berulang: -2 ( ")
- diulangi ASCII lainnya: tidak ada
- karakter spasi putih: -1
SCORE: 24

Cobalah online.


Menggunakan pelarian oktal dalam teks akan meningkatkan skor Anda dengan 6 bukannya 2 yang Anda dapatkan untuk pelarian Unicode Anda (memiliki keduanya lebih buruk meskipun). Juga, menggabungkan karakter pertama atau terakhir akan meningkatkan skor Anda dengan 1. Akhirnya berpikir Anda mungkin lebih baik dengan lambda daripada fungsi yang disebutkan.
Neil

@Neil Aneh, saya sudah muncul dengan Object x(){return"C\157de Bowling";}beberapa jam yang lalu untuk 17 poin .. Rupanya saya belum mengedit / menyimpannya dalam kiriman saya, meskipun ..: S Adapun lambda, saya menggunakan Java 7 yang tidak belum punya lambda. Saya bisa menambahkan jawaban Java 8 dengan lambda.
Kevin Cruijssen

Ups, maaf, saya tidak memperhatikan 7. (Tapi jangan lupa penggabungannya.)
Neil

1
Menggunakan pendekatan yang sama dengan jawaban Haskell saya memberikan versi ini dengan skor 77: Coba online! .
Laikoni

@Laikoni Terima kasih! +53 skor terima kasih. Dan karena Java 8 jawaban biasanya dijawab tanpa trailing semi-colon, saya bisa menghapus trailing semi-colon dan ganti yang diulang ,,dengan ,;untuk +1 lainnya. Lucu bagaimana String menggunakan semua ASCII yang tersedia dicetak yang tersisa adalah PERSIS 97 karakter untuk kode-char C. :)
Kevin Cruijssen


2

jahat , -81

Lebih baik dari Brainfuck!

aeeaeuwkaaeeuwygaeaeclaaxjlwalusbdgueuewguwpweewpuuuwuuuwpuweew

Penjelasan

aeeaeuw //Write 'C'
k       //Set P[0] to 'C'
aaeeuw  //Write 'O'
y       //Set W[0] to 'O'
gaeae   //Set Accumulator to 'D'
claa    //Create new Wheel cell at index 0, swap with Accumulator, add 2
xj      //Set alternate marker mode and drop marker
lwa     //Write value of W[0], add 1
lu      //Put it back, subtract 1 from Accumulator
sb      //Go to 'j' if Accumulator != 0
d       //Delete W[0]
        //The above loop writes 'D' and 'E'
gueuew  //Write ' '
guw     //Write 'B'
pw      //Write 'o'
eew     //Write 'w'
puuuw   //Write 'l'
uuuw    //Write 'i'
puw     //Write 'n'
eew     //Write 'g'

Diserahkan karena tidak ada yang melakukan kejahatan tetapi itu menyenangkan.

Skor:

Panjang = 63

a*8  = -24
e*12 = -36
g*2  = -6
l*2  = -6
p*2  = -6
u*12  = -36
w*10  = -30

Cobalah online!

EDIT: TiO tampaknya menangani pembuatan dan penghapusan sel Wheel baru secara tidak benar - Saya telah mengajukan laporan bug tentang masalah ini. Itu tidak akan berfungsi dengan baik di sana, tetapi saya menjalankannya dengan penerjemah saya sendiri dan itu berfungsi dan Anda dapat mempercayai saya sehingga saya tidak akan khawatir tentang hal itu;)


2

Perl: 29 , 33

$_=OWLING;printf%s,"C\157de".chr(30+8/4).B.lc

Skor:

- 46 characters long
- repeated alnum:       -6 (rc)
- repeated punctuation: -6 ("..)
- repeated other:       -0 ()
- whitespace characters:  -1 (
)
- exotic characters:  -0 ()

Total score: 33

2

05AB1E , 94 poin

”X1234bcde5fghijk68l9<mn>,o.p|q\/{})r(_-+s=tu*vwxyzAB&YDEFG^HI%$ZK#L@!MNO~PQR`ST':UVW[0];"”€a7ôJCç€?

Cobalah online!


- 100 characters long
- repeated alnum:       -0 ()
- repeated punctuation: -0 ()
- repeated other:       -0 ()
- whitespace characters:  -0 ()
- exotic characters:  -6 (””€ôç€)

Total score: 94

Pada dasarnya bertobat (ASCII Biner dari Code Bowling):

['1000011', '1101111', '1100100', '1100101', '0100000', '1000010', '1101111', '1110111', '1101100', '1101001', '1101110', '1100111']

Ke dalam string 1's dan 0's, maka itu menggantikan setiap 1 dengan huruf dalam alfabet, dan masing-masing 0 dengan karakter spasi atau simbol atau digit.

”X1234bcde5fghijk68l9<mn>,o.p|q\/{})r(_-+s=tu*vwxyzAB&YDEFG^HI%$ZK#L@!MNO~PQR`ST':UVW[0];"”

Adalah string, di mana 1 adalah huruf dan 0 adalah simbol, angka atau apa pun. Kami kemudian beralih melalui, melihat mana yang abjad, mendorong 1 untuk abjad 0 untuk non-abjad. Kami kemudian dibagi menjadi kelompok-kelompok 7, mengkonversi kembali ke ASCII dan mencetak setiap karakter.


2

T-SQL, 65 18 32! poin

PRINT char(78-9605*43%12) + 'ode Bowling'

Terinspirasi oleh sebuah trik dalam jawaban QBasic Dlosc , saya menemukan cara untuk memasukkan semua 10 digit dan sebagian besar operator matematika ( %sisanya / modulo, hilang saja /), sebagian besar melalui coba-coba. Saya tidak berpikir ada cara untuk mendapatkan 67 dengan menghapus kombinasi angka / simbol, tetapi Anda boleh mencoba.

Versi 2 (18 poin, sepele):

DECLARE @ char(12)='Code Bowling'PRINT @

Bukan skor yang bagus, tetapi ini adalah versi pertama saya yang disederhanakan (terima kasih, MickyT). Semua yang saya coba (encoding dan decoding hex64, mengambil elemen individual dari sebuah string, mengonversi nilai ASCII, dll) semuanya memiliki terlalu banyak karakter berulang (terutama ECRdan simbol (),@) yang mendorongnya ke negatif.

Versi 1 (65 poin, tidak valid):

DECLARE @ char(123)=
'Code Bowling FGHJKMOQSUVWXYZbjkmpqsuvxyz045789 [!?.-":;]{`~#$%^&*_+|\><}'
PRINT left(@,LEN(@)/6)

Saya menggunakan panjang string untuk menentukan berapa banyak karakter yang saya gunakan dari sisi kiri, jadi menghapus karakter tunggal dari string akan menurunkan hasil pembagian integer ke 11, menghasilkan hanya Code Bowlin.


Tidak yakin, tapi saya pikir ini bisa dikurangi menjadi di DECLARE @ char(12)='Code Bowling'PRINT @bawah aturan.
MickyT

@MickyT Bisa, apakah itu membatalkan jawaban saya? Seseorang dalam obrolan mengatakan itu hanya harus menahan penghapusan karakter acak tunggal, bukan bagian yang sewenang-wenang, apakah mereka salah?
BradC

Saya akan meninggalkannya di sini untuk saat ini, Itu selalu baik untuk melihat jawaban t-SQL
MickyT

@MickyT Saya akan meninggalkannya tetapi mencoret skor. Yang terbaik yang bisa saya lakukan selain itu adalah 18 poin yang sangat sedikit: P
BradC

2

; # , skor -1163, tidak bersaing

Saya tidak berpikir ini akan menjadi kompetisi yang banyak bahkan jika itu bisa bersaing.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

Cobalah online! Catatan: TIO tidak memiliki; # juru bahasa, hanya; # +.


1

CJam , skor 47

"'#?GyQ2wE(s6&␟JI!gF$u*Aq;0p4BvOKkHLhM"3/{:i~-z+c}%

Semoga tidak ada masalah dengan ini ...

Menggunakan satu karakter eksotis (Unit Separator, ASCII 31, diwakili oleh ), dan satu karakter berulang ( "). Saya pikir itu bisa dibuat lebih lama lagi, tapi saya akan membiarkannya seperti sekarang.

Cobalah online!

Program ini bekerja dengan mengambil string panjang dan membaginya menjadi panjang-3 substring. Setiap substring kemudian dipetakan ke blok, yang mengubah karakternya ke nilai ASCII mereka, membuang nilai-nilai pada tumpukan, mengambil perbedaan absolut dari dua yang kedua, menambahkan hasilnya dengan yang pertama, kemudian mengonversi hasil akhir kembali ke ASCII karakter.


1

CJam, skor 93

"g!#$&'()n*+/0134i5689:;<l=>?@ADEwFGHIJKLoMNOPQRSBTUVWXYZ [\]^_`aebcfhjkmdqrstuvxpyz{|}  C"7~%2,.-

Cobalah online

Terinspirasi dari jawaban Python TidB .
Tidak yakin apakah ada cara untuk menghindari pengulangan tanda kutip ganda.

Penjelasan:

String berisi "Cpde Bowling" secara terbalik, setiap karakter ke-8.
7~%ekstrak "Cpde Bowling" ( 7~= -8)
2,.-mengurangi karakter p ( 2,= [0 1])


@Laikoni jika Anda bermaksud melanggar aturan kode yang tidak terpakai, itu harus diperbaiki sekarang
aditsu

@Laikoni ya, tetapi jika Anda menghapus satu karakter dalam kodenya tidak berfungsi dengan baik, karena itu, karena semua kode digunakan, itu valid.
Magic Gurita Guci

@carusocomputing Aturan menyebutkan dengan jelas bahwa kode tidak boleh bekerja "jika ada karakter individu (atau kumpulan karakter yang berbeda) dihapus /", jadi saya rasa interpretasi Anda tidak berlaku. Pokoknya, aditsu sudah memperbaiki masalah sehingga semuanya baik-baik saja sekarang.
Laikoni

1

PHP, 33 poin

Ini cukup sulit untuk dipikirkan.

Skor mungkin akan dibuktikan di masa depan.

<?echo IHASZODECG9F^"
'%6z\r+2/.W!";

Baris baru diasumsikan sebagai baris baru bergaya Linux! Windows-style dan Old-Mac-Style tidak akan berfungsi dengan baik.


1

Ruby, 75

Kira-kira port jawaban Python, tetapi Ruby tidak memiliki fungsi langkah keren jadi saya gunakan gsubsaja. Saya juga memutuskan untuk bersenang-senang dengan karakter eksotis dengan melemparkan frasa ke dalam Google Translate

Cobalah online!

print"Cachjkmq\x6fvyzADEFdGHIJKLMeNOPQRST UVWXYZ0B234589[o!?-:;]`w~@\#$%^&l*_+=|><i コードゴルフn 代碼保齡球 gκωδικός".gsub /(.).{7}/,'\1'

1

USML, 12 atau 9 poin (tidak bersaing)

"Code\tBowling'

Cobalah online!

Jawaban ini sedikit curang dengan menyalahgunakan bagaimana HTML menerjemahkan. String sebenarnya dibuat oleh ini "Code\tBowling ". Poin hilang karena mengulangi karakter "o".

Untuk jawaban yang tidak curang:

"Code Bowling

USML masih cukup awal dalam pengembangan dan belum mampu meningkatkan ukuran program lebih jauh.


" USML masih cukup awal dalam pengembangan dan belum mampu meningkatkan ukuran program lebih jauh. " Bagaimana dengan ini untuk 10 poin "Code&'Bowling(* Catatan: Ganti &dengan break-line, itu tidak akan membiarkan saya mengetikkannya dalam komentar)
Albert Renshaw

Anda juga dapat menambahkan backslash di bagian depan huruf apa saja dan masih akan menghasilkan string yang sama karena kompiler mengabaikannya atau melepaskan karakter itu sendiri. Ini mendapatkan skor (bersaing) hingga 11 sekarang!
Albert Renshaw

Anda kemudian dapat menambahkan break-line dan huruf kecil ske baris berikutnya (mendapatkan substring apa-apa, sehingga tidak mengubah output sama sekali) untuk mendapatkan skor bersaing Anda hingga 12, sama dengan skor Anda yang tidak bersaing kecuali skor aktual pengajuan yang valid: D
Albert Renshaw

Infact, berikut ini adalah jawaban 16 poin dalam USML, saya akan memposting hastebin untuk itu karena sulit untuk mengetikkan kode multi-line di komentar: hastebin.com/icuguviyax.tex
Albert Renshaw

Saya idiot dan lupa aturan untuk tantangan saya sendiri lol, bagian dari kode di atas masih akan menyelesaikan tantangan, mendiskualifikasi jawaban saya; wah!
Albert Renshaw

1

Cubix , 85

Codeha1spqumtr;$"gnilwoB"Sv"ADEFH%IJK2f!OPUzQ0V3XY&*[-|L:]\T`~#x>MR56cGk'?W<()b4j}.{Z_^/978@

Cobalah online!

Digabung dengan karakter tidak penting yang diganti dengan.

        C o d e
        . . . .
        . . u . 
        . . ; . 
" g n i l w o B " S v " . . . .
. . . . . . . ! . . U . . . . .
. . . . . . . L . . \ . . . . .
> . R . . . . . . . W < . . . .
        . . . {
        . . ^ /
        . . . @
        . . . .

Saya pikir saya telah membuat jalur cukup rapuh sehingga menghapus karakter akan merusaknya dengan sangat buruk.

Lihat saja

- 92 characters long
- repeated alnum:       -3 (o)
- repeated punctuation: -4 ("")
- repeated other:       -0 ()
- whitespace characters:  -0 ()
- exotic characters:  -0 ()

Total score: 85

0

VB.net, 68

cONSOLE.WRITE("Code BowlingADEFGHJKQUVXYZfhjkmpqyz`!@#$%^&*9876543~][{}\|';:<>?+=-_".subStrinG(0,12))

Tes cepat memanfaatkan ketidaksensitifan kasus VB dan kurangnya membutuhkan "sistem.".


1
Saya tidak tahu VB.net, tetapi bisakah ini dikurangi cONSOLE.WRITE("Code Bowling")?
Laikoni

1
Ya, bisa. Per pos,: Semua kode harus digunakan. Berarti program harus gagal untuk selalu menyelesaikan tugas dengan benar jika ada karakter individu (atau beragam set karakter) yang dihapus. Secara alami, suatu subset dari program seharusnya tidak dapat menyelesaikan tugasnya sendiri tanpa sisa dari program. "Skor harus 17, saya percaya.
charliefox2

@ charliefox2 Terima kasih. Saya tidak membaca itu - pasti terlalu bersemangat untuk menggunakan VB lagi!
chrixbittinx

1
Hei, 17 masih menghancurkan skor saya -81!
charliefox2

0

Shell: skor 17

#!/bin/bash
echo "CODE BoWLING" | tr D-X d-x
  • 44 karakter
  • alnum yang diulang: -12 (bhoD)
  • tanda baca berulang: -4 ("-)
  • diulang lainnya: -4 (/)
  • karakter spasi putih: -7 ()
  • karakter eksotis: -0 ()

Total skor: 17


0

Acc !! , 171 karakter

119
Write _-52
Write _-8
Count i while i-2 {
	Write _-19+i
}
32
Write _
_+34
Write _
_+45
Write _
_+8
Write _
_-11
Write _
Count i while i-2 {
	Write 105+i*5
}
_-5
Write _

Cobalah online!

Acc !! berfungsi dengan baik untuk tantangan ini karena ruang putih diperlukan dan loop mahal. Saya menggunakan umulator Acc di sini, tapi buruk, untuk meningkatkan karakter. Berikut ini adalah ikhtisar singkat dari halaman:

AccumulatorEkspresi apa pun yang berdiri sendiri dievaluasi dan ditugaskan ke akumulator (yang dapat diakses sebagai _). Jadi, misalnya, 3 adalah pernyataan yang menetapkan akumulator ke 3; _ +1 meningkatkan akumulator; dan _ * N membaca karakter dan melipatgandakan akumulator dengan kode sandi-nya. (N mendapat input)

Write <charcode> Output karakter tunggal dengan nilai ASCII / Unicode yang diberikan ke stdout. Kode sandi dapat berupa ekspresi apa pun.

Loop di Acc, setidaknya untuk bermain golf, sangat menyebalkan. Mereka membutuhkan kawat gigi, dan semua ruang putih diperlukan. Kalau tidak, itu cukup jelas.


Ini adalah tantangan bowling, bukan golf, jadi Anda seharusnya memaksimalkan skor. Selain itu, skornya tidak biasa. Dengan menggunakan alat penilaian di atas, kode Anda mendapat skor negatif.
Ørjan Johansen

1
@ ØrjanJohansen Sepertinya mereka berusaha memaksimalkan skor (karena "Saya menggunakan umulator Acc di sini, tapi buruk, untuk menambah karakter"), tetapi mereka tidak membuat skor dengan benar.
LyricLy

@ ØrjanJohansen Ah ya, sepertinya saya benar-benar merindukan bagian penilaian. Saya akan memperbarui
FantaC
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.