Złóż życzenia walentynkowe w swoim ulubionym języku [zamknięte]

13

Napisz najbardziej kreatywny program, aby wyświetlić życzenia walentynkowe w swoim ulubionym języku programowania, w tym języku.

Na przykład

#!/usr/bin/perl

use Modern::Perl;

say "I love Perl";
Wordzilla
źródło
Zaakceptowano @ugoren
Wordzilla

Odpowiedzi:

38

C / Python Polyglot / Polygamist

Monogamia nie jest dla wszystkich.
Na podstawie mojej odpowiedzi na wykonanie odbitek wstecz .

#define def main(){0?
#define print printf(
#define return 0)));}

def main():
    print "Python",
    print ", I love you much more than ",
    print "C",
    return

main();

Dane wyjściowe, gdy działają jako C:

C, I love you much more than Python

Dane wyjściowe po uruchomieniu jako Python:

Python , I love you much more than  C
ugoren
źródło
11
To jest cholernie genialne.
Adam Maras
24

JavaScript (ES6)

Ładna wersja:

           r=/c/g         ,n='\n'
       ,m=/.\d+/g,[,    ,'ca','8b',5,
     'a10b',6,'ca3b',  13,'a4b',1,3,'c'
    ,'a1b',16,'a2b1',5,'cb35cb',35,'ca',
    ,'1b7 JS b',22,'ca2b',31,'ca3b',29,
     ,'ca',5,'b',25,'ca7b',2,1,'ca',9,
      ,'b','17ca',11,'b13ca',14,'b',
       '7c','a1',7,'b1c'].join('').
         replace(m, c=>(c[0]!='a'?
           '\u2665':' ').repeat
              (+c.substr(1))).
                 replace(r,
                     n);

Dane wyjściowe konsoli:

            ♥♥♥♥♥          ♥♥♥♥♥♥
       ♥♥♥♥♥♥♥♥♥♥♥♥♥    ♥♥♥♥♥♥♥♥♥♥♥♥♥
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
     ♥♥♥♥♥♥♥ JS ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
      ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
       ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
         ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
           ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
             ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
               ♥♥♥♥♥♥♥♥♥♥♥♥♥
                  ♥♥♥♥♥♥♥
                     ♥

Wersja z adnotacjami:

[
  // Contains the instruction to draw the heart.
  //   * `a` is a space
  //   * `b` is a heart
  //   * `c` is a line break
  // 
  // `a` and `b` instructions are followed by an integer
  // telling how many times the character should be printed.
  // 
  // Abuse JS arrays to split the string in smaller parts.
  ,,'ca','8b',5,'a10b',6,'ca3b',13,'4b13ca1b16a2b1cb35cb35ca1b7'
  // This is the text we want to display.
  ,' JS '
  // Other instructions to draw the heart.
  // This part isn't splitted for readability purpose.
  ,'bca2bca3b29ca5b25ca7b21ca9b17ca11b13ca14b7ca17b1c'
]
// Join every substring.
.join('')
// Process instructions.
.replace(
  // Match all `a` and `b` instructions.
  /.\d+/g,
  c => (
    // Fetch the right character.
    c[0] != 'a'
      ? '\u2665' // `b` Heart
      : ' '      // `a` Space
  )
  // Repeat the character.
  .repeat(
    // Extract the number from the instruction.
    +c.substr(1)
  )
)
// Replace `c` by a line break.
.replace(/c/g,'\n');
Florent
źródło
13

Przetwarzanie

public static final int px = 25;
public static final int rectRad = 3;
PFont font;

public boolean[][] used;
public int[] heart = {
               65, 66, 67,                 72, 73, 74,
           84, 85, 86, 87, 88,         91, 92, 93, 94, 95,
      103,104,105,106,107,108,109,110,111,112,113,114,115,116,
  122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,
  142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
  162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,
      183,184,185,186,187,188,189,190,191,192,193,194,195,196,
          204,205,206,207,208,209,210,211,212,213,214,215,
          224,225,226,227,228,229,230,231,232,233,234,235,
              245,246,247,248,249,250,251,252,253,254,
                  266,267,268,269,270,271,272,273,
                      287,288,289,290,291,292,
                          308,309,310,311,
                              329,330
                                 };
void setup() {
  size(500, 500);
  background(255);
  stroke(127+64);
  strokeWeight(1.75);
  //font=loadFont("Font1.vlw");
  font=createFont("Purisa",28);
  textFont(font,28);
  frameRate(50);
  used = new boolean[width/px][height/px]; // initialised to false by default
}

void draw() {
  int i, j;
  int drawingframes = width * height / px / px;
  int textframesdelay = (int)(500 * frameRate / 1000);
  do {
    i=(int)random(0, width / px);
    j=(int)random(0, height / px);
  } while(used[i][j] && frameCount <= drawingframes);
  used[i][j] = true;
  if(frameCount > drawingframes + textframesdelay) {
    noLoop();
    return;
  } else if(frameCount == drawingframes + textframesdelay) {
    fill(63 + 32);
    text("Dear Processing,", 10, 50);
    text("Happy Valentine's Day!", 80, 200);
    text("Love,\nAce", 10, 430);
    return;
  } else if(frameCount > drawingframes) {
      return; // effectively creating a small delay after drawing the tiles
              // and before writing the text
  }
  int R = (int)random(64, 255 - 64);
  int G = (int)random(128, 255);
  int B = (int)random(128, 255);
  int alpha = (int)random(55, 85);
  int hash = j * width / px + i;
  if(java.util.Arrays.binarySearch(heart,hash)>=0) {
  //if(heart.indexOf(hash) >= 0) {
    R = (int)random(128 + 64, 255);
    G = (int)random(0, 63);
    B = (int)random(0, 63);
    alpha = (int)random(70, 100);
  }
  fill(R, G, B, alpha);
  rect(i * px, j * px, px, px, rectRad, rectRad, rectRad, rectRad);
}

Zobacz, jak działa tutaj online .

Zrzut ekranu jednego możliwego wyjścia: wprowadź opis zdjęcia tutaj

użytkownik12205
źródło
3
Niezłe. Podobało mi się.
Merin Nakarmi
8

Befunge 98

"/\ "7k:a"/ ":"\ "6k:a"/ "2k:"\ "5k:a"/ ":"89 ":"\ "4k:a"/ "6k:"\ "3k:a"| ":"egnufeB | "2k:a"| "8k:"| "2k:a"\ /____\ / "3k:a'_' 5k:'_\4k:a"?enitnelaV ym eb uoy lliW"aa >:!2+j4,<@

Dane wyjściowe (jako obraz, ponieważ wygląda lepiej w konsoli niż tutaj):

Justin
źródło
5

PHP

Po co nadmiernie komplikować, skoro można zrobić najprostszą rzecz, która działa?

Program:

I ♥ PHP!

Wynik:

I ♥ PHP!
Konrad Borowski
źródło
5
Nie chodzi o najkrótszy kod - chodzi o najbardziej kreatywny i piękny.
german_guy
3

GRZMOTNĄĆ

Co jest lepszego niż SSH na maszynie twoich żon / mężów, a następnie pozwól jej NIC wykonać zabawną część flashowania kodu Morse'a dla „Happy Valentines Day” dla twojego ulubionego języka skryptowego Jestem pewien, że prawie wszyscy zaczęli - BASH? I jak wszyscy geekowie wiedzą - zawsze powinieneś mieć oko na NIC swojej maszyny;)

#!/bin/bash

#.... .- .--. .--. -.-- ...- .- .-.. . -. - .. -. . ... -.. .- -.--
#1111 12 1221 1221 2122 1112 12 1211 1 21 2 11 21 1 111 211 12 2122

while IFS= read -r -n1 char
do
    ethtool eth0 p$char
done < morse

Oczywiście „Morse” zawiera kod Morse'a „przetłumaczony” na liczby:

111131231221312213212231112312312113132132311321313111321131232122

„1” jest krótkie, „2” jest długie, a „3” to spacja. Oczywiście należy wprowadzić obowiązkowy „ethtool”. Jeśli nie, to czyń to współmałżonkowi.

german_guy
źródło
3

PODSTAWOWY

Tylko dlatego, że wszyscy kiedyś napisaliśmy jeden z nich i jest to naprawdę jedyny styl, który naprawdę wyraża proste, uczciwe serce tego języka.

10 PRINT "HAPPY VALENTINES DAY BASIC"
20 GOTO 10
Zamieszki
źródło
3

Matematyka

ContourPlot3D[(2 x^2 + y^2 + z^2 - 1)^3 - (1/10) x^2 z^3 - y^2 z^3 == 
  0, {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}, Mesh -> None, 
 ContourStyle -> Opacity[0.8, Red]]

wprowadź opis zdjęcia tutaj

To powierzchnia serca Taubina . Tak, zdaję sobie sprawę, że wyzwanie dotyczy sztuki ASCII. Jeśli jednak chcesz to zlekceważyć, nie rób tego, ponieważ jest zbyt piękne, zrób to, ponieważ ukradłem kod z /math/12098/drawing-heart-in-mathematica

Michael Stern
źródło
2

~ - ~!

Ze względu na zainteresowanie liczba znaków wynosi 865 .

'=~~~~:''=<<'+~>,'+~~~>,':'''=<'+~>,<',<'+~>-~>:''''=<'+~>,<<',~~>+~>+~~:'''''=',',~~:''''''=',<<'+~>,<'+~~>+~>:'''''''=',~~+~~:
@''''':@''':@''':@''':@''':@''''':@''''':@''''':@''':@''':@''':@''':@''''''':
@'''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''':@''''':@''''':@''''':@'':@''''''':
@'''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''''':@''''''':
@'':@''''':@|I|:@''''':@|<|:@|3|:@''''':@|~|:@|-|:@|~|:@|!|:@''''':@'''':@''''''':
@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@'':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''''':

Wynik:

 ____   ____
/    \ /    \
|           |
\ I <3 ~-~! /
 \         /
  \       /
   \     /
    \   /
     \ /
cjfaure
źródło
2

Pyton

Pamiętasz, kiedy ludzie nie mieli komputerów na Walentynki i musieli wytrawić swoje piękne życie na drzewach? To jest to co robię:

def valentine(person1,person2):
    leading_whitespace = range(0,4)[::-1] +[0]+range(0,8)
    inside = [3,5,14,14]+range(0,15)[::-1][::2]
    layers = ["  ___    ___",r" /   \  /   \ ",r'/     \/     \ ','|             |']
    for i in range(5,12):
        layers.append(' ' * leading_whitespace[i] + '\\' + ' ' * inside[i] + '/')
    #inserts person1 into layers[4]
    temp = []
    for char in layers[3]: temp.append(char)
    temp[1:len(person1)+1] = person1
    layers[3] = ''.join(temp)

    temp = []
    layers[4] = '|      +     |'

    # do that again for person2
    for char in layers[5]: temp.append(char)
    temp[-len(person2)-1:-1] = person2
    layers[5] = ''.join(temp)

    print '\n'.join(layers)

valentine('Me','Python')

Uwaga: pierwsze wartości insidezmiennej są zakodowane na stałe. Wynik:

  ___    ___
 /   \  /   \ 
/     \/     \ 
|Me           |
|      +     |
 \    Python/
  \        /
   \      /
    \    /
     \  /
      \/
Dan the Man
źródło
Ale kod nie używa żadnych drzew.
ugoren
-3

mhm czy to coś takiego?

<?echo "I love PHP";

EchoAnd
źródło
14
To konkurs popularności - bądź kreatywny.
niestosowne
-3
#include<stdio.h>
#include<conio.h>
main();
{
  int i, n;
   printf(" enter n=");
    scanf("%d",&n);
         for(i=0;i<n;i++)
      {
          printf(" i love you honey ");
      }  
         scanf("%d",&i);
        getch();
}
miód Vik
źródło