Adakah yang punya tips kode-golf untuk bermain golf di Pemrosesan ? Ini adalah ekstensi grafis dari java, dan agak sulit untuk bermain golf.
13
Adakah yang punya tips kode-golf untuk bermain golf di Pemrosesan ? Ini adalah ekstensi grafis dari java, dan agak sulit untuk bermain golf.
Jawaban:
void draw()
dan memasukkan semuanya ke dalamvoid setup()
.(100, 100)
secara default.height
danwidth
dalam kode Anda, biasanya lebih pendek untuk menggunakan nilai numeriknya. Misalnya, dengan kanvas ukuran(100, 100)
, gunakan99
untuk menggantiheight
danwidth
dapat menghemat 7 byte.sumber
Jika Anda hanya menjalankan kode dalam metode pengaturan maka Anda tidak perlu menulis garis besar metode. Misalnya, Anda dapat menulis:
dari pada
Dan selama Anda tidak menggunakan metode lain maka semuanya akan dimasukkan ke dalam metode pengaturan sebelum dijalankan
sumber
(R, G, B)
Notasi warnaWarna heksadesimal
Pemrosesan sangat fleksibel dalam format warna.
dapat ditulis menggunakan notasi heksadesimal sebagai
Skala abu-abu
Berikut ini adalah penggunaan khusus untuk warna jika semua nilai Merah, Hijau dan Biru sama (putih):
Ketiga parameter dapat disingkat menjadi satu parameter yang berisi nilai skala abu-abu: dari
0
hitam ke255
putih.Ini dapat diperluas untuk alpha juga:
Keduanya berarti warna yang sama, tetapi cara yang terakhir lebih pendek sebesar 8 byte.
Alfa
Meskipun jelas, harus dinyatakan bahwa parameter alpha dalam menentukan warna adalah opsional karena warna default ke nilai alpha
255
(100% buram).Ringkasan: Format warna
Gunakan format warna terpendek untuk mengekspresikan warna Anda (ingat untuk meninggalkan bit yang tidak perlu - tergantung pada konteks program - misalnya: alpha atau skala abu-abu)
R
: MerahG
: hijauB
: biruA
: alphag
: abu-abusumber
Singkatan konstan
Jika Anda pernah menggunakan salah satu kata kunci semua-huruf besar dalam Memproses (seperti
DIFFERENCE
atauTRIANGLE_FAN
), lihat apakah nomor yang sesuai dengan mereka lebih pendek.Sebagai contoh,
DIFFERENCE
hanya sebuahint
yang sama dengan 32. Alih-alih menggunakan diDIFFERENCE
sini , saya bisa menulis32
, menyimpan 8 karakter.sumber
Alternatif yang lebih pendek
void keyPressed(){}
Itu
void draw(){}
dibutuhkan secara default agarkey
diperbarui. Jika pengguna belum menekan tombol sejak awal program,key
diberi nilai0
. Dengan memeriksa apakah lebih dari0
(yaitu pengguna telah menekan tombol), kami memiliki kode golfier dan menyimpan 10 byte.sumber
putih
#FFFFFF
Terkait: Notasi Warna
Alih-alih menggunakan ini untuk putih:
kamu bisa melakukan ini:
dan simpan 1 byte.
sumber
Mengatur dan melakukan piksel menggunakan set ()
Lebih efisien mengatur piksel melalui piksel [] :
Namun, itu memerlukan
updatePixels()
dan juga menggunakan indeks yang tergantung pada skenario akan memerlukan konversi posisi x, y ke indeks piksel. Agar semuanya singkat, meskipun CPU kurang efisien (karena setiap panggilan memperbarui seluruh buffer), set () memungkinkan piksel untuk mengatur dan berkomitmen untuk buffer langsung dalam satu panggilan.sumber