Ini adalah tantangan keluaran grafis di mana tugasnya adalah memberikan kode terpendek per bahasa.
Tugas
Kode Anda harus memplot satu piksel ungu (nilai hex # 800080 atau rgb (128, 0, 128)), bergerak searah jarum jam mengitari lingkaran. Seharusnya tepat 60 detik untuk melakukan perjalanan penuh mengitari lingkaran dan akan berlanjut tanpa batas. Tidak ada lagi yang harus ditampilkan di layar atau jendela kecuali untuk pixel. Lebar lingkaran harus 0,75 (pembulatan yang sesuai) lebar layar atau jendela dan latar belakang harus putih. Untuk mencegah solusi konyol, layar atau jendela harus memiliki lebar minimal 100 piksel.
Kode Anda harus merupakan program lengkap .
Bahasa dan perpustakaan
Anda dapat menggunakan bahasa atau perpustakaan apa pun yang Anda suka. Namun, saya ingin dapat menguji kode Anda jika memungkinkan jadi jika Anda dapat memberikan instruksi yang jelas tentang cara menjalankannya di Ubuntu yang akan sangat dihargai.
Dua puluh bahasa teratas tidak ada. Butuh bantuan.
Dua puluh bahasa pemrograman berikut ini saat ini tidak memiliki solusi sama sekali.
C , C ++, C # , Python , PHP , Visual Basic .NET , Perl, Delphi / Object Pascal, Majelis , Objective-C , Swift, Pascal, Matlab / Oktaf , PL / SQL, OpenEdge ABL, R
Katalog
Cuplikan Stack di bagian bawah posting ini menghasilkan katalog dari jawaban a) sebagai daftar solusi terpendek per bahasa dan b) sebagai leaderboard keseluruhan.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
## Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Misalnya:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
## Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat nama bahasa menjadi tautan yang kemudian akan muncul di cuplikan:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
<style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; }</style><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table><script>var QUESTION_ID = 62095; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var OVERRIDE_USER = 9206; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function commentUrl(index, answers) { return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER; } function getAnswers() { jQuery.ajax({ url: answersUrl(answer_page++), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { answers.push.apply(answers, data.items); answers_hash = []; answer_ids = []; data.items.forEach(function(a) { a.comments = []; var id = +a.share_link.match(/\d+/); answer_ids.push(id); answers_hash[id] = a; }); if (!data.has_more) more_answers = false; comment_page = 1; getComments(); } }); } function getComments() { jQuery.ajax({ url: commentUrl(comment_page++, answer_ids), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { data.items.forEach(function(c) { if (c.owner.user_id === OVERRIDE_USER) answers_hash[c.post_id].comments.push(c); }); if (data.has_more) getComments(); else if (more_answers) getAnswers(); else process(); } }); } getAnswers(); var SCORE_REG = /<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/; var OVERRIDE_REG = /^Override\s*header:\s*/i; function getAuthorName(a) { return a.owner.display_name; } function process() { var valid = []; answers.forEach(function(a) { var body = a.body; a.comments.forEach(function(c) { if(OVERRIDE_REG.test(c.body)) body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>'; }); var match = body.match(SCORE_REG); if (match) valid.push({ user: getAuthorName(a), size: +match[2], language: match[1], link: a.share_link, }); else console.log(body); }); valid.sort(function (a, b) { var aB = a.size, bB = b.size; return aB - bB }); var languages = {}; var place = 1; var lastSize = null; var lastPlace = 1; valid.forEach(function (a) { if (a.size != lastSize) lastPlace = place; lastSize = a.size; ++place; var answer = jQuery("#answer-template").html(); answer = answer.replace("{{PLACE}}", lastPlace + ".") .replace("{{NAME}}", a.user) .replace("{{LANGUAGE}}", a.language) .replace("{{SIZE}}", a.size) .replace("{{LINK}}", a.link); answer = jQuery(answer); jQuery("#answers").append(answer); var lang = a.language; lang = jQuery('<a>'+lang+'</a>').text(); languages[lang] = languages[lang] || {lang: a.language, lang_raw: lang, user: a.user, size: a.size, link: a.link}; }); var langs = []; for (var lang in languages) if (languages.hasOwnProperty(lang)) langs.push(languages[lang]); langs.sort(function (a, b) { if (a.lang_raw > b.lang_raw) return 1; if (a.lang_raw < b.lang_raw) return -1; return 0; }); for (var i = 0; i < langs.length; ++i) { var language = jQuery("#language-template").html(); var lang = langs[i]; language = language.replace("{{LANGUAGE}}", lang.lang) .replace("{{NAME}}", lang.user) .replace("{{SIZE}}", lang.size) .replace("{{LINK}}", lang.link); language = jQuery(language); jQuery("#languages").append(language); } }</script>
Jawaban:
Memproses ,
1019796 byte4 byte terima kasih kepada Flambino.
1 byte terima kasih kepada Kritixi Lithos.
Ini menciptakan jendela 100 x 100 piksel default dengan animasi yang diperlukan.
Penafian: gambar itu bukan GIF. Jangan menatapnya sebentar.
sumber
π/1800
radian sekaligus. (Ituπ/3600
10 detik yang lalu karena kentut otakku.)QB64, 79 byte
QB64 adalah emulator QBasic yang menambahkan beberapa fitur bagus. Program ini menggunakan satu (
CLS,15
) yang tidak didukung oleh vanilla QBasic.Ini sangat keras. Ini menggunakan
PLAY
perintah untuk menghentikan eksekusi untuk sementara waktu sebelum membersihkan layar; jika tidak, piksel akan berkedip dan menjadi tidak terlihat.Unduh QB64 , muat file ini, klik
Run
laluStart
.Ini dia sedang beraksi:
Aku mengambil beberapa trik (
SCREEN 7
bukanSCREEN 13
, danPSET
bukanPOKE
) dari @ jawaban DLosc, sehingga kredit sudah jatuh tempo. Seperti dalam jawabannya, magenta saya sebenarnya#8B008B
, yang dianggap dapat diterima oleh OP.(Konstanta
9.55
adalah perkiraan30/π = 9.54929658551
. Apakah cukup dekat?)sumber
PLAY
untuk menggunakan penundaan. Bisa bersumpah ada kode untuk istirahat, tapi aku tidak melihatnya sekarang di file bantuan. Saya memang mempertimbangkan menggunakan (fungsi)TIMER
sebagai parameter, tetapi tidak pernah mencobanya untuk melihat apakah itu lebih pendek. Pujian!PSET
darimu, jadi kudos kembali :) Sepertinya istirahat adalahn0
yang lebih panjang daric
. Juga, saya suka sebagai sedikit aturan-bending: OP berkata apa-apa lagi yang bisa ditampilkan di jendela, tetapi tidak pernah mengatakan program saya tidak bisa keras pergi BIP BIP BIP BIP .Java,
449443439 byteKarena aku selalu punya ide bodoh. Seperti golf di Jawa;).
Sunting: Terima kasih atas @Ypnypn untuk bermain golf 7 byte!
Sunting2: Terima kasih atas @Franz D. karena telah menghemat 3 byte!
sumber
8388736
.JFrame
, gunakanFrame
, memungkinkan Anda untuk menghapus impor javax.Mathematica,
10210194 byteMembuat lingkaran putih yang tersembunyi dan menempatkan titik yang mengikuti ujungnya dari 0 hingga 2π.
DefaultDuration
Opsi Mathematica mari saya atur untuk menyelesaikan loop setiap 60 detik.Berikut ini adalah versi keluaran yang dipercepat:
EDIT: Ubah
Circle
keDisk
untuk menyimpan 2 karakter, menambahkan tanda negatift
untuk membuatnya bergerak searah jarum jam.EDIT: Disimpan 7 byte dengan menggunakan
~
operator (terima kasih kepada Mauris).sumber
a~f~b
sebagai gantif[a,b]
, bukankah itu akan membuat AndaRotate
lebih pendek?)Point@{0,1}
dan saya pikir Anda tidak perlu daftar di sekitarPurple,Point...
.HTML, 235
290295354347byteSimpan sebagai
.html
file dan buka di browser, yang tidak memerlukan awalan vendor, seperti Chrome atau Firefox. Atau coba biola ini .Ini adalah versi baru yang jauh lebih pendek daripada upaya pertama saya, yang saya tulis 5 menit sebelum rapat. Ukuran kanvas yang baru adalah bujur sangkar berdasarkan ketinggian viewport. Itu bekerja cukup baik dan tidak terbatas pada ketinggian tertentu yang ditentukan. Saya sangat akurat tentang pengaturan dalam tantangan (ukuran 75% dari induknya, ungu dan 1px). Karenanya saya perlu dan tidak bisa membuang atau menyederhanakan aturan berikut:
Tidak disatukan
Ini adalah versi yang tidak dipisahkan dengan markup bersih:
Suntingan
linear
sekarang.)}}
. Berkat sikat gigi .12%
bukannya12px
yang memiliki nilai yang sama sesuai dengan ukuran elemen induk.sumber
)}}
dari ujung (parser CSS akan secara otomatis mengakhiri blok)TI-BASIC, 44 byte
Untuk kalkulator TI-84 + CSE / CE, yang mendukung beberapa grafis warna BASIC terbatas.
Warna di sini adalah magenta, atau warna 13 (satu juga dapat menggunakan
MAGENTA
token).Saya menggunakan
rand
bukannya1
untuk kondisi loop tak terbatas untuk memberikan sedikit keterlambatan (~ 15 ms) antara saat piksel ditampilkan dan ketika dimatikan lagi.Setel kalkulator Anda ke mode radian sebelum menjalankan program ini; Saya tidak menghitung ini dalam ukuran karena ini adalah keadaan default. Juga atur
Ans
ke 0 dengan memasukkan 0 sebelum program; ini juga standarnya.Terima kasih kepada @quartata untuk menguji program ini (saya tidak memiliki kalkulator warna).
sumber
Java,
339308289287 byteTerima kasih kepada @Peter Lenkefi, yang solusi hebatnya membuat saya mulai, dan untuk-loop yang saya salin tanpa malu-malu!
Penghematan utama adalah karena beralih ke AWT murni dan rendering langsung di Frame - tidak perlu untuk JPanel (atau Kanvas). Saya juga membuat counter variabel integer, diperbarui dengan kenaikan sederhana, dan menyimpan beberapa byte memutar-mutar konstanta untuk dapat menghapus angka di sana-sini.
EDIT: Terima kasih kepada @Peter Lenkefi dan @tobii untuk saran mereka di komentar. Mengalahkan HTML akan menyenangkan - apakah ada yang tahu cara menghentikan sementara eksekusi di Java tanpa menggunakan sleep () dan harus menangkap pengecualian?
EDIT 2: JAVA BEATS HTML (saat ini di 290 byte!): D Waktu sekarang tergantung pada mesin, tetapi ~ 60 detik untuk lingkaran penuh pada mesin saya, yang OK menurut @Lembik. Terima kasih lagi kepada @PeterLenkefi atas sarannya - jawaban saya lebih dari setengahnya :)
EDIT 3: @Ajay menyarankan untuk menghapus "re" dari "repaint". Dua byte lebih sedikit. Kami sampai di sana :)
sumber
int c,i
dan menghilangkanint
difor(int i=..
harus menyimpan lebih banyak.new Frame(){...}
.Haskell,
143136 byteIni menggunakan paket gloss :
Versi yang lebih cantik adalah
sumber
.0
.HTML (CSS?), 167 byte
Terinspirasi oleh insertusername, di sini ada jawaban
Tidak Disatukan:
sumber
HTML + CSS
biasanya tidak dianggap sebagai bahasa pemrograman, namun terserah OP.body
sendiri. :)QBasic, 106
Diuji pada QB64 , yang mengatakan itu memiliki versi Linux (meskipun saya baru mencobanya di Windows).
SCREEN 7
mengatur mode grafis.COLOR 5,15
mengatur magenta gelap sebagai warna latar depan dan putih terang sebagai warna latar belakang.DO ... LOOP
adalah loop tak terbatas. Biasanya Anda akan melihatnya sebagaiDO WHILE ... LOOP
(atau Anda dapat meletakkannyaLOOP WHILE
, atau menggunakanUNTIL
untuk kondisi yang dinegasikan), tetapi Anda juga dapat membiarkan kondisi tersebut keluar, dalam hal ini loop selamanya.TIMER
adalah jumlah detik sejak tengah malam, sebagai nilai titik-mengambang.CLS
= Layar CLear.PSET
SETs a Point to a color, foreground color secara default.i
mulai dari nol dan dihitung dengan pi / 300 setiap kali melalui loop, sehingga menyelesaikan lingkaran penuh setelah 600 pengulangan. Kami menghitung pi sebagai 4 * arctan (1).t# = TIMER: WHILE TIMER < t# + 0.1: WEND
. Tetapi kita tidak membutuhkan angka presisi ganda (ditandai dengan#
) untuk perbedaan 0,1 detik, dan ternyataIF cond THEN [GOTO] line
sintaksnya 1 karakter lebih pendek dari satuWHILE ... WEND
loop.Loop berulang 600 kali dalam 60 detik, sehingga melengkapi lingkaran penuh.
Peringatan
#8B008B
bukan yang diminta#800080
(dibersihkan dengan OP).i
ditambahkan hingga revolusi cukup dekat hingga 60 detik. (Coba denominator 69 atau 68.)sumber
SCREEN 8
bukannya7
dilakukan?skrip mIRC, 184 byte
Ini dioptimalkan untuk mIRC dalam Wine. Mulai mIRC, tekan
Alt + R
lalu tempel ini, tutup editor dan jalankan dengan/g
Pengaturan waktu pada gif mungkin tidak aktif.
sumber
R, 170 byte
Itu bergantung pada paket
animation
. Dan inilah gif untuk menunjukkannya berfungsi:Hemat Solusi Tidak Valid ke gif (139 byte):
Yang ini membutuhkan ImageMagick untuk diinstal. Hasilnya disimpan ke gif.
sumber
Ruby with Shoes, 159 byte
Pixel sebenarnya adalah ujung jarum detik jam analog. Jadi yang ini sangat tepat.
Ruby with Shoes, 134 byte
Ini adalah alternatif berbasis frame per detik, terinspirasi oleh jawaban lain. Meskipun dokumentasi mengatakan fps default adalah 10, tes praktis menunjukkan itu sebenarnya 12.
Kedua solusi mengambil "Lebar lingkaran harus 0,75 (pembulatan yang sesuai) lebar layar atau jendela" secara harfiah: menghitung berdasarkan lebar jendela, sehingga piksel sesekali dapat meninggalkan bagian bawah jendela non-persegi. Tidak yakin bagaimana kasus seperti itu diharapkan ditangani. (Gunakan minimum lebar dan tinggi? Berjalan di jalur oval?) Jendela dimulai dengan ukuran standar 600 x 500 dan dapat diubah ukurannya.
sumber
D,
286280 byte(392 jika ditulis secara normal)
Atau cara saya awalnya menulisnya tanpa bermain golf:
Bergantung pada simpledisplay.d dan color.d yang terletak di sini: https://github.com/adamdruppe/arsd
Cukup unduh kedua file tersebut dan letakkan di direktori yang sama dengan kode di atas, lalu:
dmd yourfile.d simpledisplay.d color.d
kompilasi dan jalankan saja.Perpustakaan kecil saya ditulis untuk membuat animasi cepat seperti ini cukup sederhana sehingga ini memainkan kekuatannya! Sayangnya, saya agak suka nama pengidentifikasi panjang dan tidak menyediakan
Point
konstruktor yang membutuhkan waktufloat
sehingga menambahkan 18 byte casting dan .... idk beberapa lusin mengeja nama metode saya.sumber
C #,
379365 byteTergantung
System.Windows.Forms
danSystem.Drawing
dijalankan. Output dalam jendela 1000x1000.sumber
var
SVG, 177 byte
Markup tidak valid dari neraka untuk sarapan, tetapi berjalan (setidaknya di Chrome). Seperti kanvas HTML5, ukuran default untuk SVG tampaknya 300x150, jadi itulah asumsinya.
Sunting: Whoops, saya tidak sengaja meninggalkan dalam durasi 6 bukannya 60. Memperbaiki itu, tetapi juga menemukan yang
0.5
berfungsi sebagai adil.5
, jadi tidak ada perubahan dalam jumlah byte.sumber
Kode Mesin X86 -
150146149133127 byteVersi golf:
'Tidak Digubah', versi sumber:
Versi enkode base64 yang dapat diunduh
Salin dan tempel alamat ini ke browser Anda. Ganti nama file yang dihasilkan
golfcrcl.com
dan jalankan di lingkungan DOS, yaitu DosBox.sumber
Mathematica
208 185139 bytesMemindahkan piksel ungu di sekitar array yang digunakan sebagai Gambar.
Metode 1 139 byte
Metode 2 154 byte
Plot piksel sepanjang jalur melingkar dalam 60 detik.
Metode 3 193 byte
Ini menggambar jam, dengan kutu dan label berwarna putih, di mana jarum detik adalah piksel.
sumber
30
dant
.Obj-C ++ / Cocoa,
777678668657643628 byteJadi ini mungkin cara terburuk untuk melakukan apa pun, tetapi saya pikir saya akan mencoba.
Dapat dikompilasi di Mac (milik saya) dengan
g++ -framework Cocoa file.mm
dan dijalankan dari terminal ( ctrl-Cuntuk berhenti, karena itu bukan aplikasi).Sunting: Disimpan 99 byte: Tetap
main()
berjalan pada OS X 10.10 (versi 1 hanya berjalan pada 10.8), melewatkan terjemahan / putar demi perhitungan kalkulasi trigonometri, berhenti mengganggu penempatan jendela, dan hal-hal kecil lainnya.Sunting: Disimpan 10 byte lagi: Diubah menjadi hanya
orderFront
untuk menampilkan jendela. Tidak benar-benar membuatnya menjadi jendela depan, tetapi tidak jugaorderFrontAndMakeKey
, jadi ...Sunting: Menyimpan 11 byte lainnya: Dilewati
NSMakeRect
dan menemukan digit yang baru saja pergi.Sunting: Disimpan 14 byte lagi: Tidak perlu menetapkan
NSTimer
instance untuk apa pun, dan tampaknya dapat melewatkan inisialisasir
ke nol.Sunting: Disimpan 15 byte lagi: Saya tidak bisa berhenti. Kirim bantuan.
sumber
Javascript / Pemrosesan,
175173156153152 byteUntuk menjalankan: kunjungi http://www.openprocessing.org/sketch/226733 untuk melihatnya beraksi menggunakan processing.js, atau unduh pemrosesan 2.0 dari processing.org , tempel kode ke IDE pemrosesan, pilih mode Javascript dan tonton itu pergi.
sumber
background(-1)
lebih pendek satu byte daribackground(255)
Elm , 274 byte
Coba atau edit di browser Anda:
Versi kecil
Versi tidak golf
Perhatikan bahwa jika kita menyingkirkan impor dan menggambar garis di sekitar kanvas, kita turun ke 149 byte, tapi itu mungkin curang!
sumber
C #, 301 byte
Tergantung pada metrik ukuran standar; ukuran dan posisi mungkin sedikit berbeda tergantung pada sejumlah faktor. Mungkin atau mungkin tidak berkedip dengan buruk; untuk mengatasinya, tambahkan berikut ini:
sumber
Lua + Löve, 189 karakter
love.update()
menerima sebagai parameter waktu yang berlalu sejak frame sebelumnya. Menarik di jendela standar 800 x 600 pada koordinat tetap, karena jendela toh tidak resizable.sumber
Python 2 + Pygame,
221198193sumber
C (menggunakan SDL1.2),
237233Kompilasi & jalankan menggunakan
gcc -I/usr/include/SDL snippet.c -lSDL -lm && ./a.out
sumber
ActionScript 2.0, 151 byte
Sayangnya, Adobe Flash tidak freeware, dan Google menginformasikan bahwa itu tidak bekerja di Linux tanpa VM atau Wine (dan bahkan dengan Wine, itu hanya sebagian besar berfungsi). Tetap saja, saya ingin melihat seberapa baik hal itu dalam tugas ini. Cukup bagus, ternyata.
Ide dasarnya: buat objek klip video baru, posisikan di (200, 200), lalu gambar titik 2 di dalamnya 200 piksel lebih jauh ke kanan. Sekarang klip video adalah lebar 200 piksel dan tinggi 1 piksel. Titik pivot adalah koordinat asli tempat kami memulai, jadi ketika kami memodifikasi
_rotation
properti, titik bergerak dalam lingkaran di sekitar titik (200, 200). Nyaman,_rotation
dalam derajat; 0,25 derajat / bingkai * 24 bingkai / detik * 60 detik / menit = 360 derajat / menit.Untuk menjalankan dari awal jika Anda memiliki Flash, buat dokumen Flash baru 1 , buka panel Tindakan, dan rekatkan kode di atas. Tidak diperlukan penyesuaian lebih lanjut, dengan asumsi latar belakang putih default, kanvas 550x400, dan 24 fps. Tekan Ctrl-Enter dan tontonlah.
Jika Anda tidak memiliki Flash itu sendiri, Anda masih dapat melihat hasilnya dengan Flash Player gratis, yang seharusnya datang dengan sebagian besar browser modern. Unduh file SWF di sini . Jika Anda tidak dapat memainkannya, coba unduh halaman HTML ini juga dan buka, dengan file SWF di direktori yang sama.
1 Diuji pada Adobe Flash CS4 Professional, memilih "Flash File (ActionScript 2.0)" ketika ditanya jenis file apa yang akan dibuat.
2 Sebenarnya segitiga kecil, karena Anda akan melihat apakah Anda cukup memperbesarnya. Itu cara golf yang bisa kutemukan untuk menggambar titik.
sumber
JavaScript dengan jQuery, 205 byte
jsfiddle , cuplikan di bawah
Ini mungkin tidak sesuai dengan buku. Ukuran default sebuah kanvas (setidaknya di Chrome) adalah 300x150, jadi saya memusatkan lingkaran pada 75x75. Saya dapat memusatkannya pada 150x75, dan membuat jari-jarinya 113px (~ 75% lebar), tapi itu akan berada di luar kanvas beberapa waktu, jadi saya memilih ~ 75% tinggi sebagai gantinya.
Tapi toh itu tidak terlalu pendek, jadi meh '
Tampilkan cuplikan kode
sumber
Blitz 2D / 3D , 126 byte
Sayangnya, bahasa ini hanya didukung di Windows (meskipun dapat berjalan di Wine).
sumber
Javascript ES6, 202 byte
Diuji di Firefox 41.
Seperti jawaban Javascript murni lainnya (hampir), lingkaran dipusatkan pada 75x75 karena ukuran default elemen kanvas adalah 300x150 sebagaimana ditentukan oleh spesifikasi HTML.
sumber
Matlab,
141136Saya hanya mengirimkan ini untuk Anda, Lembik, untuk memiliki daftar lengkap.
Versi lama:
sumber