Triforce ReBoot [đã đóng]


10

Xem làm thế nào xin chào thế giới đã phản tác dụng khủng khiếp, đây là một khó khăn hơn.

Tôi yêu Zelda và tôi yêu ReBoot.

Tạo như sau

nhập mô tả hình ảnh ở đây

Yêu cầu:
Nó phải là một cửa sổ (có thể là bất kỳ cửa sổ nào kể cả các trình duyệt và như vậy).
Cửa sổ có thể có kích thước bất kỳ.
Cửa sổ có thể không chứa bất cứ thứ gì khác ngoại trừ hình ảnh.
Cửa sổ không nên tự đóng lại ngay.
Hình tam giác phải là bất kỳ màu xanh lam.
Vòng tròn phải là bất kỳ màu xanh lá cây.
Tam giác nhỏ hơn phải chạm vào các cạnh của
hình ảnh không bị đánh cắp bằng cách cung cấp các liên kết.

Điều kiện: Mã ngắn nhất thắng.

PS: Có logo ReBoot hơi khác một chút nhưng điều này đủ gần để làm cho nó vui.

EDIT: Tôi đã thêm một yêu cầu khác. Có vẻ như chúng ta có rất nhiều người rất thiên tài, những người thích tìm kiếm sơ hở: PI yêu các bạn.


"Tam giác phải là bất kỳ sắc thái của màu vàng." Xung đột hình ảnh?
TimTech

@Timtech Tôi xin lỗi, văn bản được gạch chân là màu cam do lỗi chính tả và tôi nghĩ màu cam trong khi muốn viết màu xanh.
Quillion 29/11/13

1
Được rồi, ít nhất là nó đã được sửa bây giờ. Và tôi thậm chí đang cố gắng để có được những bình luận ngắn hơn - chơi golf quá nhiều mã ...
Timtech

Tôi có nhận được điểm thưởng nếu hình ảnh lấp đầy màn hình và tiếp tục khi tôi thay đổi kích thước màn hình không? (Bạn phải cho phép hình tròn là hình bầu dục sau đó)
Cruncher

Trên thực tế đọc lại các yêu cầu, điều gì ngăn ai đó tạo ra hình ảnh bằng sơn và làm cho một chương trình đọc hình ảnh? Đây sẽ chỉ là một vài dòng trong python. Có lẽ bạn nên viết một quy tắc chống lại điều đó
Cruncher

Câu trả lời:


10

Toán học 118 119 118 107 97

Chỉnh sửa: Rút ngắn xuống 107 ký tự với sự giúp đỡ từ Belisarius và 97 với alephalpha.

CreateDialog[Graphics@{Blue,Polygon@Outer[Plus,#,#,1]&@{{0,0},{1,1},{2,0}}, Green,
{2,1}~Circle~1}]

Tam giác


Tôi sợ bạn đã đánh bại tôi: 3 Nhưng vòng tròn đó phải xanh!
Timtech

Bây giờ là màu xanh lá cây. Cảm ơn đã lưu ý.
DavidC

1
Năm 107:p=Polygon;a={1,1};b={2,0};CreateDialog[Graphics@{Blue,p@{0a,2b,2a},White,p@{a,b+a,b},Green,{2,1}~Circle~1}]
Tiến sĩ belisarius

1
CreateDialog[Graphics@{Blue,Polygon@Outer[Plus,#,#,1]&@{{0,0},{1,1},{2,0}},Green,{2,1}~Circle~1}]
alephalpha

3
Tôi đã nhận được một chút giúp đỡ từ bạn bè của tôi.
DavidC

7

Thuốc nhuộm APL ( 121 116 115)

(Chỉnh sửa: sử dụng hình tam giác rộng 8 phần tử thay vì 10, để rút ngắn mã một chút)

(Chỉnh sửa 2: Tôi chỉ từng sử dụng , do đó, bao gồm ¨định nghĩa về M)

M←{' ',⍵,⍺,⍨4/0}¨⋄⎕SM←↑(256M⊃,/(⊂8 0)(⊂8 32)(⊂0 16)∘.+⊂(,⍳⍴Z)/⍨≤/¨,Z←⊖Z,⌽Z←2/⍳2/8),512M⌈0 16∘+¨1 2∘ר8+8×1 2∘○¨⍳1e4

Đồ họa? Ai cần đồ họa?

(Ngoài ra, màu đen là nền mặc định, bạn không muốn thay đổi nó)

nhập mô tả hình ảnh ở đây


4

Kịch bản Shell: 166 163 ký tự

f=-fill
d=-draw
convert -size 64x32 xc: $f blue $d 'polygon 32,0 0,32 64,32' $f white $d 'polygon 32,32 16,16 48,16' $f none -stroke lime $d 'circle 32,16 32,0' x:

Đầu ra mẫu:

Logo Triforce ReBoot


đây là nhiều hình ảnh hơn là vỏ
mniip

@mniip, đúng rồi. Nhưng vì ImageMagick chủ yếu là một thư viện. Nếu đây là tập lệnh PHP sử dụng IMagick, tiêu đề bài viết sẽ nói PHP, không phải ImageMagick. Vâng, theo logic của tôi. Tôi không chống lại bất kỳ cải tiến tiêu đề. Nhưng dù sao, 2 trong số 3 ký tự rút ngắn kể từ phiên bản đầu tiên nằm ở phía vỏ. :)
manatwork

4

R, 124 , 122 , 111

frame()
p=polygon
p(c(1,3,5)/5,c(1,3,1)/5,c=4)
p(c(2,4,3)/5,c(2,2,1)/5,c="white")
symbols(.6,.4,.1,i=1,a=T,f=3)

Điều này tạo ra hình ảnh sau đây trong một cửa sổ cốt truyện:

nhập mô tả hình ảnh ở đây


Tôi nghĩ rằng bạn có thể lưu một ký tự bằng cách viết p=polygon, p(c(1,3,5v.v. (BTW, trên hệ thống của tôi, kích thước vòng tròn có tỷ lệ khác với các hình tam giác khi cửa sổ được thay đổi kích thước và tôi phải chơi với nó một chút để có được vòng tròn giao nhau các góc của "hình vuông".)
res

@res Cảm ơn vì tiền boa. Kích thước của vòng tròn là nhược điểm chính của giải pháp này. Tôi đã không thể tìm ra một mã ngắn để giải quyết vấn đề này.
Sven Hohenstein

@plannapus Ý tưởng tuyệt vời, cảm ơn! Điều này đã lưu 11 ký tự.
Sven Hohenstein

3

Java, 434 358 349

import java.awt.*;
public class T
{
    public static void main(String[] a)
    {
        new Frame()
        {
            public void paint(Graphics g)
            {
                g.setColor(Color.BLUE);
                Polygon p=new Polygon(new int[]{50, 75, 100},new int[]{75, 50, 75},3);
                g.fillPolygon(p);
                p.translate(-25, 25);
                g.fillPolygon(p);
                p.translate(50, 0);
                g.fillPolygon(p);
                g.setColor(Color.green);
                g.drawOval(50, 50, 50, 50);
            }
        }.show();
    }
}

chơi gôn

import java.awt.*;public class T{public static void main(String[] a){new Frame(){public void paint(Graphics g){g.setColor(Color.BLUE);Polygon p=new Polygon(new int[]{50,75,100},new int[]{75,50,75},3);g.fillPolygon(p);p.translate(-25,25);g.fillPolygon(p);p.translate(50,0);g.fillPolygon(p);g.setColor(Color.green);g.drawOval(50,50,50,50);}}.show();}}

Ai biết chơi golf giảm mã rất nhiều.

EDIT: Cảm ơn manatwork cho tất cả các đề xuất của bạn.


1
Hãy chơi mã của bạn.
Kevin Cox

Bạn vẫn còn khoảng trống vô dụng sau dấu phẩy phân tách tham số. Và vui lòng sử dụng khối mã thay vì đánh dấu mã nội tuyến, vì vậy các tập lệnh như Gói nâng cao mã người dùng Code Golf có thể nhận ra nó là mã và hiển thị kích thước của nó.
manatwork

3

Ngôn ngữ nhà sản xuất trò chơi, 167 165 155

EDIT 1 - Tôi đã loại bỏ hai ký tự bằng cách thay thế c_greenbằng 32768, cùng một giá trị. Các giá trị của màu khác dài hơn tên được xác định trước.

EDIT 2 - Sân golf hoành tráng! Các biến được sử dụng cho các giá trị được sử dụng thường xuyên và quên rằng các dòng mới không cần thiết (dòng mới được tính là hai khoảng trắng).

Phòng ( r) được xác định trước 64 x 32 với nền trắng. Đối tượng dlà bất cứ nơi nào trong phòng r. Vẽ mã sự kiện:

a=16b=32draw_set_color(c_blue)draw_triangle(0,b,64,b,b,0,0)draw_set_color(32768)draw_circle(b,a,a,1)draw_set_color(c_white)draw_triangle(a,a,48,a,b,b,0)

Kết quả:

Đầu ra của phòng r

Ti84-Basic - 54 ký tự (nhưng đầu ra là đen trắng)

:Line(0,0,2,0
:Line(0,0,1,1
:Line(2,0,1,1
:Circle(1,.5,.5

Không có hình ảnh được sử dụng!
Timtech

Liệu con số xuất hiện trong cửa sổ riêng của nó?
DavidC

@DavidCarraher Có. Tôi đã sử dụng tính năng chụp màn hình trong trò chơi, vì vậy cửa sổ không hiển thị.
Timtech

Bạn đã sử dụng draw_set_colorba lần. Bạn không thể lưu các nhân vật bằng cách như thế d=draw_set_characternào?
DavidC

@DavidCarraher Tôi đã thử nó rồi; đôi khi nó không hoạt động :( GML đôi khi hơi bướng bỉnh.
Timtech

2

HTML, 101

<img style=position:absolute;clip:rect(30px,130px,110px,20px) src=http://i.stack.imgur.com/iE6m9.png>

2
Có một yêu cầu mới - "Không đánh cắp hình ảnh bằng cách cung cấp liên kết."
TimTech

Tôi cá là bạn có thể đánh bại điều đó một cách đơn giản: http://someshort.url(... và điều này cũng sẽ tạo ra một yêu cầu khác)
Olivier Dulac

2

HTML + CSS, 352 290 261 257

<div style="width:0;border:50px solid #fff;border-bottom-color:#00f">
<p style="border:25px solid #00f;border-top-color:#fff;border-bottom:0;margin:25px 0 0 -25px">
<p style="border:1px solid #0f0;border-radius:50px;width:50px;height:50px;margin:-52px -26px">

http://jsfiddle.net/WF3hP/6/

Ung dung:

<style>
    #blue-triangle {
        width:0;
        border:50px solid #fff;
        border-bottom-color:#00f
    }
    #white-triangle {
       border:25px solid #00f;
       border-top-color:#fff;
       border-bottom:0;
       margin:25px 0 0 -25px        
    }
    #circle {
       border:1px solid #0f0;
       border-radius:50px;
       width:50px;
       height:50px;
       margin:-52px -26px        
     }
</style>
<div id="blue-triangle">
<p id="white-triangle">
<p id="circle">

1
Thay vì cài đặt border-leftborder-rightriêng biệt, tốt hơn hãy đặt bordersau đó giảm cái không cần thiết như border-top:0: jsfiddle.net/WF3hP/2
manatwork 29/11/13

Vâng, tôi cũng khuyên bạn như vậy. Nó sẽ làm cho mã của bạn ngắn hơn.
Timtech

@manatwork, thậm chí điều đó có thể được cải thiện border-bottom-colorthay vì border-bottomtrên div đầu tiên và tương tự border-top-colortrên div thứ hai. Và sử dụng 1emthay vì 25px2emthay vì thay 50pxđổi kích thước nhưng tiết kiệm một vài ký tự.
Peter Taylor

Cảm ơn, @manatwork & Pete Taylor. Tôi đã thử sử dụng em thay vì px, nhưng thật khó để lấy vòng tròn làm trung tâm nếu đường viền của nó phải rộng 1px.
Danko Durbić

Các id có thực sự phải dài như vậy không?
Timtech

2

R, 108 ký tự

Rất giống với giải pháp Sven Hohenstein nhưng khác ở hai điểm thú vị, vì vậy tôi nghĩ tôi sẽ thêm nó:

frame()
p=polygon
p(c(0:3,1:4)/5,c(0:1,0:1,1:2,1:0)/5,c=4)
t=seq(0,2*pi,.1)
p(.2*cos(t)+.4,.2*sin(t)+.2,b=3)

Thay vì vẽ một hình tam giác lớn màu xanh và một hình nhỏ màu trắng, tôi vẽ một hình đa giác đại diện cho ba hình tam giác. Đối với vòng tròn, cái này (có mã rõ ràng dài hơn Sven) sẽ không mất các liên hệ với các hình tam giác khi thay đổi kích thước.
Cuối cùng, thay vì sử dụng tên màu, tôi đã sử dụng số của chúng trong bảng màu mặc định của R (4 cho màu xanh lam và 3 cho màu xanh lá cây).

nhập mô tả hình ảnh ở đây


1

JavaScript (canvas, Firefox), 237 231 ký tự

<body onload=with(c=document.all.a.getContext('2d'))fillStyle='#00F',strokeStyle='#0F0',mozFillRule='evenodd',c.f=lineTo,moveTo(4,0),f(8,4),f(0,4),f(2,2),f(6,2),f(4,4),f(2,2),fill(),beginPath(),arc(4,2,2,0,7),stroke()><canvas id=a>

Tôi không thể tìm thấy bất kỳ yêu cầu khó khăn nào về kích thước, vì vậy tôi đã quyết định lạm dụng một chút và sử dụng 8 × 4 pixel để cắt giảm kích thước mã ... đồng thời, dựa vào tiện ích mở rộng Mozilla mozFillRule để có được điền chẵn sự tầm thường

jsbin (nhỏ) , jsbin (lớn hơn)


1

SVG 305 296

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="1 3 9 10">
<path d="M 5,4 2.5,7 7.5,7 5,4 z M 7.5,7 5,10 10,10 7.5,7 z M 5,10 2.5,7 0,10 5,10 z"
fill="#00f" /><path d="m 7.5,7 a 2.5,3 0 0 1 -5,0 2.5,3 0 1 1 5,0 z"
fill="none" stroke="#0f0" stroke-width="0.02" /></svg>

Cửa sổ Firefox với bản vẽ Svg


Thay vì style="fill:#00f", bạn có thể sử dụng fill="#00f", tôi nghĩ. Tương tự cho các styles khác .
Ry- 30/11/13

@minitech: Tôi phải có thể tiết kiệm thêm 5 byte khi chuyển bản vẽ này lên bằng cách 1: có kế hoạch dọc từ 2 to 9thay vì 3 to 10...
F. Hauri

1

HTML 118

<svg><path fill=#00f d="M0,2 2,0 4,2 2,2 3,1 1,1 2,2z"/><circle fill=none stroke-width=.1 stroke=#0f0 cx=2 cy=1 r=1 />

1

Hiền nhân (CLI), 111 106

p=polygon;circle((2,1),1,color=(0,1,0))+p([(0,0),(2,2),(4,0)])+p([(1,1),(3,1),(2,0)],axes=0,color=(1,1,1))

hình ảnh trong cửa sổ được tạo bởi SageĐiều này là thông qua giao diện dòng lệnh Sage. (Điều này cũng hoạt động trong Notebook Sage, nhưng mặc dù hình ảnh xuất hiện trong ô riêng của nó, nhưng điều đó có lẽ không đủ điều kiện làm "cửa sổ".)

EDIT: Loại bỏ 5 dấu trừ và thay thế ảnh chụp màn hình của ô Sage Notebook bằng một trong cửa sổ Sage CLI. (Tín dụng @boothby)


Nếu bạn gọi .show()một đối tượng đồ họa từ CLI, nó sẽ bật lên một cửa sổ. Ngoài ra, bạn có thể lưu một vài ký tự bằng cách thay đổi mọi thứ (+ 2, + 1).
gian hàng

@boothby - Cảm ơn ý tưởng để thoát khỏi các dấu trừ. Về cửa sổ, hóa ra việc chạy chương trình nguyên trạng (không có .show ()) tạo ra cửa sổ mong muốn từ Sage CLI. (Cả phiên bản này cũng không phải .show () đều hoạt động khi tôi chạy Sage trong Linux trong máy ảo (Win7 / VirtualBox). Hoạt động tốt khi tôi khởi động Ubuntu và chạy Sage theo cách đó.) Cảm ơn bạn đã thử dùng CLI.
res

0

Golf-Basic 84, 36 ký tự (Đầu ra là Đen và Trắng)

l;0,0,2,0l;0,0,1,1l;2,0,1,1c;1,.5,.5
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.