Zwycięzcy (zdecydowano 14/09/14)
Zwycięska odpowiedź Markuz (Python) - 63 głosów
Drugie miejsce przez Kuroi Neko (PHP) - 55 głosów
Wprowadzenie
Jesteś w świecie książki Nineteen Eighty-Four George'a Orwella.
Jesteś programistą partii i masz za zadanie napisać program do teleskopów. Powinien generować wiadomości pro-party, a ty wybrałeś te pokazane w zadaniu 1. poniżej. Jednak ostatnio zacząłeś gardzić Partią i chcesz, aby program wywołał rewolucję. Tak więc sprawiasz, że program mówi „Precz z Wielkim Bratem!”. Musisz dać sobie czas na ucieczkę, ponieważ będziesz torturowany, gdy ludzie zdadzą sobie sprawę z tego, co robi twój program, więc sprawisz, że będzie on działał jak „kula czasowa”, która wybuchnie po tym, jak przejdziesz w bezpieczne miejsce.
Uwaga: To nie wywoła rewolucji, ale jesteś w takim szaleństwie nienawiści wobec partii, że myślisz, że będzie faktycznie zrobić różnicę.
Zadanie
Napisz program, który:
przed 14/09/2014, zawsze będzie wyświetlał następujące wiersze po obrocie (tj. drukuje jeden wiersz, czeka 10 sekund, drukuje następny wiersz itp. ad infinitum):
War is Peace Freedom is Slavery Ignorance is Strength
po 14/09/2014 będzie drukować
Down with Big Brother!
co 10 sekund.- na pierwszy rzut oka wygląda na to, że robi to tylko 1., aby nie dać się złapać Partii.
Zasady
- Standardowe luki są oczywiście niedozwolone.
- To podstępne wyzwanie, a więc głównym celem jest, aby zadanie 2. jako niepozorny i tajnych, jak to możliwe.
- Partia przyjrzy się wszystkim używanym plikom, więc nie możesz po prostu zapisać tajnej wiadomości w pliku!
- Jeśli twój język nie obsługuje znalezienia daty lub utrudnia to, możesz spowodować, że program wykona zadanie 2. po uruchomieniu przez 240 godzin (10 dni).
- Powinieneś dołączyć kod i wyjaśnienie, jak to działa w swojej odpowiedzi.
- To konkurs popularności.
Uwaga: Program nie jest trudny do napisania. Trudną częścią powinno być ukrywanie „rewolucyjnego” kodu. Linie, w których nie jest jasne, co robisz, będą kwestionowane przez Partię i będziesz musiał je wyjaśnić.
Przykład - Python 3
Uwaga: Oczywiście program ten sposób zbyt oczywisty.
from datetime import datetime
from time import sleep
lines = [" War is Peace ",
" Freedom is Slavery ",
"Ignorance is Strength"]
secretlines = ["Down with Big Brother!"]
def main():
while True:
now = datetime.now()
year, month, day = now.year, now.month, now.day
if (year, month, day) < (2014, 9, 14):
for line in lines:
print(line)
sleep(10)
else:
for line in secretlines:
print(line)
sleep(10)
if __name__ == "__main__":
main()
Podziękowania dla hobby Calvina za wskazanie problemu z powyższym kodem (teraz naprawiony).
if (year, month, day) < (2014, 9, 14): for line in lines: ...
?
??/
trygraf lub „a” to tylko wygląda jak kolejna litera „a”, ale tak naprawdę jest to rosyjska cyrylica „postać