Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: EFEX en 22 Diciembre 2013, 03:39 am



Título: Sprites PPM
Publicado por: EFEX en 22 Diciembre 2013, 03:39 am
Existe un juego viejo de estrategia al que quiero conseguir los sprites, se consigen con extension .ppm, leyendo en wiki ...

https://en.wikipedia.org/wiki/Netpbm_format#PPM_example

Asi que me puse a tratar de producirlo con php creando divs pero no logro hacerlo o quizas el juego lo interpreta con alguna forma matematica...  :(

Código
  1. <?php
  2. $countRows = 0;
  3. $countColumns = 1;
  4. $columns = 57;
  5. $rows = 55;
  6. $array = array();
  7. $pixels = 5;
  8.  
  9. $fh = fopen('norman-069.ppm','r');
  10. while ($line = fgets($fh)) {
  11. if ($countRows >= 3) {
  12. $array[$countColumns][] = $line;
  13. if ( $countRows-3 == $rows*$countColumns) {
  14. $countColumns++;
  15. //echo $countRows."<br>";
  16. }
  17. }
  18. $countRows++;
  19. }
  20. fclose($fh);
  21. echo '<pre>';
  22. //print_r($array);
  23. echo '</pre>';
  24.  
  25. //Formar la imagen
  26. echo '<div class="box" style="width:'.($columns*$pixels).'px;height:'.($rows*$pixels).'px;background-color:#F4F4F4;margin-left:auto;margin-right:auto;">';
  27. for ($b=0; $b <= $rows-1; $b++) {
  28. for ($a=1; $a <= $columns; $a++) {
  29. if (!empty($array[$a][$b])) {
  30. $background =  str_replace(" ", ",",$array[$a][$b]);
  31. }
  32. echo '
  33. <div style="background-color:rgb('.$background.');width:'.$pixels.'px;height:'.$pixels.'px;float:left;">
  34. </div>
  35. ';
  36. }
  37. }
  38. echo "</div>";
  39. ?>
  40.  
Resultado
(http://i.elhacker.net/i?i=ygUvdpB6hfAceipZRTHv-WVo)


Archivos para probar... https://github.com/downloads/7k2/7k2/norman.zip