Author Topic: js1k, 1k Javascript demo contest  (Read 7393 times)

0 Members and 1 Guest are viewing this topic.

Offline ponce

js1k, 1k Javascript demo contest
« on: 18 August 2010 à 23:27:53 »
C'est un contest assez marrant où il faut exploiter 1024 octets de Javascript.

http://js1k.com



Le truc difficile est d'arriver à faire un truc intéressant, puis à size-coder l'effet tout en vérifiant régulièrement qu'on ne casse rien sur aucun des 4 browsers à supporter.

Offline Anarkhya

  • Base
    • View Profile
  • Ville: Nantes
Re : js1k, 1k Javascript demo contest
« Reply #1 on: 19 August 2010 à 03:15:24 »
Amusant et très étrange...
C'est quand même à réserver à un public restreint, pour ne pas dire GeekCoderPorn.

Offline ponce

Re : js1k, 1k Javascript demo contest
« Reply #2 on: 19 August 2010 à 11:22:54 »
En général avec les tailles limitées, c'est un peu réservé aux codeurs c'est vrai  ;D

Il y a beaucoup d'entrées très moches (la technique du <canvas> est toute récente) mais quelques trucs assez incroyables, comme celle là: http://js1k.com/demo/435


Code: [Select]
for(B=i=y=u=b=i=5-5,x=10,I=[],l=[];l[B]="ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK  IDHGFE".charCodeAt(B)-64,B++<120;I[B-1]=B%x?B/x%x<2|B%x<2?7:B/x&4?0:l[i++]:7);function X(c,h,e,s){e^=8;for(var o,S,C,A,R,T,G,n,N=-1e8,O=20;++O<99;)if((o=I[T=O])&&(G=o^e)<7){A=G--&2?8:4;C=o-9?l[61+G]:49;do if(!(R=I[T+=l[C]])&&!!G|A<3||(R+1^e)>9&&G|A>2){if(!(R-2&7))return 78-h<<x;n=G|(e?T>29:T<91)?o:6^e;S=(R&&l[R&7|32]-h-G)+(G?0:n-o?55:(A<2)+1);if(c>h||1<c&c==h&&S>2){I[T]=n;I[O]=0;S-=X(c,h+1,e,S-N);if(!(h||c-1|B-O|T-b|S<-1e4))return W(B=0),e&&setTimeout("X(2,0,8),X(1,0,8)",50);I[O]=o;I[T]=R}if(S>N||!h&S==N&&Math.random()<.5)if(N=S,c>1)if(h?s-S<0:(B=O,b=T,0))return S}while(!R&G>2||(T=O,(G||A>2|(e?O>78:O<41)&!R)&&++C*--A))}return N}function W(){i="<table>";for(u=18;u<98;i+=++u%x-9?"<th width=60 height=60 onclick='I[b="+u+"]>8?W(B=b):X(1,0,0)'style='font-size:50px'bgcolor=#"+(u-B?u*.9&1||9:"d")+"0f0e0>&#"+(I[u]?9808+l[67+I[u]]:160)+";":u++&&"<tr>");document.body.innerHTML=i+"</table>"}W();

Ca fait raler de se faire battre par une IA d'échec qui tient entièrement dans le code ci-dessus.

Offline RaHoW

  • Base
    • Pouet.net
    • View Profile
    • Apex - official site
  • Ancienneté: 1993
  • Groupe: Apex
  • Rôle: Gfx, code, orga
Re : js1k, 1k Javascript demo contest
« Reply #3 on: 19 August 2010 à 13:34:02 »
J'ai perdu... 8)
=RaHoW/Apex=

Offline ponce

Re : js1k, 1k Javascript demo contest
« Reply #4 on: 19 August 2010 à 15:13:30 »
A un moment il y avait carrément le même jeu d'échec en 3D, ca paraissait impossible, mais il a été retiré, sans doute parce que ca devait downloader un code pus gros.  :D

Offline Anarkhya

  • Base
    • View Profile
  • Ville: Nantes
Re : js1k, 1k Javascript demo contest
« Reply #5 on: 19 August 2010 à 15:45:59 »
Ne jouant pas aux echecs je ne peux dire si l'IA est impressionnante ou non, je suis juste surpris que ça tienne en si peu de lignes. Mais bon comme le coding n'est pas dans mes domaine d'activités, difficile d'en dire plus... difficile d'apprécier tout court en fait.

Offline maracuja

  • Base
    • View Profile
Re : js1k, 1k Javascript demo contest
« Reply #6 on: 19 August 2010 à 17:44:00 »
il doit utiliser un obfuscateur pour que cela tienne sur une ligne. :-) Le plus intéressant c'est le résultat. :)

Offline TarMil

  • Base
    • Pouet.net
    • View Profile
    • Greek Sugar Cake
  • Ancienneté: 2006
  • Groupe: Ctrl-Alt-Test
  • Rôle: Code
  • Ville: Villejuif
Re : Re : js1k, 1k Javascript demo contest
« Reply #7 on: 19 August 2010 à 18:42:22 »
Ne jouant pas aux echecs je ne peux dire si l'IA est impressionnante ou non, je suis juste surpris que ça tienne en si peu de lignes. Mais bon comme le coding n'est pas dans mes domaine d'activités, difficile d'en dire plus... difficile d'apprécier tout court en fait.
Non l'IA est loin d'être exceptionnelle, on peut la battre avec un coup du berger. Mais faire tenir une IA même simple + le plateau de jeu en 1k, ça reste proprement impressionnant.
- De l'eau ?
- J'ai la gorge sèche, pas les pieds sales.

Offline RaHoW

  • Base
    • Pouet.net
    • View Profile
    • Apex - official site
  • Ancienneté: 1993
  • Groupe: Apex
  • Rôle: Gfx, code, orga
Re : Re : Re : js1k, 1k Javascript demo contest
« Reply #8 on: 19 August 2010 à 19:52:39 »
Non l'IA est loin d'être exceptionnelle, on peut la battre avec un coup du berger.

Ça m'étonnerait étant donnée qu'il sort direct les cavaliers ^^
=RaHoW/Apex=

Offline TarMil

  • Base
    • Pouet.net
    • View Profile
    • Greek Sugar Cake
  • Ancienneté: 2006
  • Groupe: Ctrl-Alt-Test
  • Rôle: Code
  • Ville: Villejuif
Re : Re : Re : Re : js1k, 1k Javascript demo contest
« Reply #9 on: 19 August 2010 à 20:17:09 »
Ça m'étonnerait étant donnée qu'il sort direct les cavaliers ^^
Dans ce cas, elle est suffisamment évoluée pour ne pas toujours commencer de la même manière. :-)
- De l'eau ?
- J'ai la gorge sèche, pas les pieds sales.

Offline Anarkhya

  • Base
    • View Profile
  • Ville: Nantes
Re : Re : Re : js1k, 1k Javascript demo contest
« Reply #10 on: 20 August 2010 à 00:59:37 »
[...] Mais faire tenir une IA même simple + le plateau de jeu en 1k, ça reste proprement impressionnant.

Je crois que c'est surtout le plateau qui m'interpelle, forcément vu que ça touche à l'image, ça me parle plus... Toutefois, je ne sais pas vraiment sur quoi repose cette programmation, j'imagine que le code fait appel à une sorte de jeu de caractères intégré au navigateur ou intégré à l'OS?

Offline ponce

Re : js1k, 1k Javascript demo contest
« Reply #11 on: 20 August 2010 à 09:08:29 »
Ben c'est du Javascript, la moitié du code est la pour le rendu et l'autre pour l'IA.
Je pense que les pieces sont des caractères Unicode particulier.

Offline TarMil

  • Base
    • Pouet.net
    • View Profile
    • Greek Sugar Cake
  • Ancienneté: 2006
  • Groupe: Ctrl-Alt-Test
  • Rôle: Code
  • Ville: Villejuif
Re : Re : js1k, 1k Javascript demo contest
« Reply #12 on: 20 August 2010 à 10:49:55 »
Ben c'est du Javascript, la moitié du code est la pour le rendu et l'autre pour l'IA.
Je pense que les pieces sont des caractères Unicode particulier.

Yup.
- De l'eau ?
- J'ai la gorge sèche, pas les pieds sales.

Offline ponce

Re : js1k, 1k Javascript demo contest
« Reply #13 on: 20 August 2010 à 13:41:48 »
☯ ☠ ☏

Offline Anarkhya

  • Base
    • View Profile
  • Ville: Nantes
Re : js1k, 1k Javascript demo contest
« Reply #14 on: 20 August 2010 à 16:20:49 »
Ok Chess/Checkers unicode chart, j'arrive pas à trouver le bon raccourci pour les pièces. En même temps, c'est pas comme si c'etait quelque chose qui m'etait indispensable