#76 22. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige Und wird es noch eine Veröffentlichung der Scripte geben? Oder postet wieder jeder seins, wie beim letzten Mal. Spoiler Meins. (Ich hab's wieder eingerückt, damit's übersichtlicher ist... PHP: <!-- by Telefonzelle Sa. 07. August, 17:30--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <title>Telefonzelle:Scriptbattle:7-Segment</title> <style type="text/css"> body { font-size:4px; } br { clear:both; } pre { float:left; margin:0px; padding:0px; } </style> </head> <body onLoad="document.xform.x.focus();"> <form name="xform" action="" method="get"><input type="text" name="x" onKeyUp="document.xform.submit();" value="<?php /* Gehört nicht zum Script, ist nur damit's schön aussieht! :) */ echo preg_replace ( "/[^0-9]/" , "" , $_GET [ 'x' ]); ?>" /> <?php $Z = $_GET [ 'x' ]; $X [ 0 ]= '1110111' ; $X [ 1 ]= '0010010' ; $X [ 2 ]= '1011101' ; $X [ 3 ]= '1011011' ; $X [ 4 ]= '0111010' ; $X [ 5 ]= '1101011' ; $X [ 6 ]= '1101111' ; $X [ 7 ]= '1010010' ; $X [ 8 ]= '1111111' ; $X [ 9 ]= '1111011' ; function b ( $x ) { $Y [ 0 ]= "XXXXX" ; $Y [ 1 ]= "X" ; $Y [ 2 ]= "X" ; $Y [ 3 ]= "XXXXX" ; $Y [ 4 ]= "X" ; $Y [ 5 ]= "X" ; $Y [ 6 ]= "XXXXX" ; $G = " 1 \n 2 3\n 2 3\n 4 \n 5 6\n 5 6\n 7 \n" ; for( $i = 0 ; $i < 7 ; $i ++) { $G = str_replace ( $i + 1 ,( $x { $i })? $Y [ $i ]: " " , $G ); } echo '<pre>' . $G . '</pre>' ; } for( $i = 0 ; $i < strlen ( $Z ); $i ++) { b ( $X [ $Z { $i }]); } ?> </body></html> + Multi-Zitat Zitieren
#77 23. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige ...hab das mit timer schon besprochen, er wird die tage die restlichen scripte veröffentlichen, damit jeder was davon hat !! + Multi-Zitat Zitieren
#78 24. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige battle vorbei, sticky entfernt, ich lass noch auf wenn jemand sein script posten will. + Multi-Zitat Zitieren
#79 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige oO uiui nich schlecht ^^ hab zwar nich mitgemacht aber mein code war: PHP: <table><? $a = "<td><pre> 00009999888877776666555522223333 045689 0489 7231 045689 0489 7231 9999888866665555444422223333 0268 068 975413 0268 068 975413 0000999988886666222233335555</td>" ;while( $x < strlen ( $q )){ $v = preg_replace ( '/\d/' , '' , preg_replace ( '/' . $q { $x }. '/' , 'X' , $a )); $x ++;echo $v ;} ?> </table> sehr verwirrend ;-D aber in dieser form mit html und funktionierend nur 313byte groß :O aufruf mit xx.php?q=1234 an die regel mit 2 zeichen hinter der letzten zahl hat sich wohl auch keiner dran gehalten nächstes mal bitte besser organisieren .. alle regeln in den thread und dann auch keine neuen dazuerfinden ! + Multi-Zitat Zitieren
#80 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige @enel, hab dein script mal geteste die darstellung ist auch bei dir nicht korrekt und ziemlich unschön, des weiteren kommt zu deiner dateigröße noch mindestens 14bytes hinzu, da es ratsam wäre "q" dem script auch zu übergeben (es fehlt PHP: $q = $_GET [ 'q' ]; )!! MfG op + Multi-Zitat Zitieren
#81 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige Hab mal dein Script genommen, die Darstellung korrigiert und allgemein "zum Laufen gebracht" und nun ist der PHP teil genau 286 bytes groß. Du musst nicht extra $x++; machen, du kannst das direkt im preg_replace inkrementieren, dazu musst du nicht erst $v = preg_replace... machen sondern kannst direkt echo preg_replace... - das spart alles Bytes. + Multi-Zitat Zitieren
#82 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige nich schlecht telefonzelle ^^ wie inkrementierst du denn in dem preg replace ? ansonsten nich schlecht herr specht ^^ + Multi-Zitat Zitieren
#83 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige So: PHP: <table cellpadding="4"><tr><?php $a = "<td><pre> 00009999888877776666555522223333045689 0489 7231045689 0489 7231 99998888666655554444222233330268 068 9754130268 068 975413 0000999988886666222233335555</pre></td>" ;while( $x < strlen ( $q )) echo preg_replace ( '/\d/' , '' , preg_replace ( '/' . $q { $x ++}. '/' , 'X' , $a )); ?></tr></table> // EDIT Die Leerzeichen werden anscheinend im Posting nicht angezeigt, also ist die Darstellung wieder inkorrekt. + Multi-Zitat Zitieren
#84 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige hab diese version gebaut, aber vergessen einzuschicken... naja, hätte eh nix gebracht, 6xx bytes PHP: <pre> <?php$x = array( 119 , 36 , 93 , 109 , 46 , 107 , 123 , 37 , 127 , 111 ); $z = str_split ( $_GET [ 'z' ]); $a = " XXXX " ; $b = " " ; $c = "X " ; $d = " " ; $e = "X " ; $f = " " ;foreach( $z as $k ) { $n = $x [ $k ]; $v [ 0 ].= ( $n & 1 ) ? $a : $b ; $v [ 1 ].= ( $n & 2 ) ? $c : $d ; $v [ 1 ].= ( $n & 4 ) ? $e : $f ; $v [ 3 ].= ( $n & 8 ) ? $a : $b ; $v [ 4 ].= ( $n & 16 ) ? $c : $d ; $v [ 4 ].= ( $n & 32 ) ? $e : $f ; $v [ 6 ].= ( $n & 64 ) ? $a : $b ;}for( $i = 0 ; $i <= 6 ; $i ++) if( $i == 2 || $i == 5 ) echo $v [ $i - 1 ]. "\n" ; else echo $v [ $i ]. "\n" ;echo $z1 . "\n" ;echo $z2 . "\n" ;echo $z2 . "\n" ;echo $z4 . "\n" ;echo $z5 . "\n" ;echo $z5 . "\n" ;echo $z7 . "\n" ; ?> </pre> auf was anderes bin ich nicht gekommen, bin wegen digitaltechnik-vorlesungen zu sehr auf diese vorgehensweise fixiert gewesen :/ + Multi-Zitat Zitieren
#85 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige ...hier meins: PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Script by opio12 | Script-battle Runde 2 - 7-Segmentanzeige</title><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/><style type="text/css">pre{width:58px;margin-right:20px;float:left;}</style></head><body> <?$n = $_GET [ 'n' ]; $e =array(); $e [ 2 ]= $e [ 3 ]= 'X' ;for( $i = 0 ; $i < 5 ; $i ++)for( $z = 0 ; $z < substr ( '76561' , $i , 1 ); $z ++) $e [ $i ].= ' ' ; $e [ 4 ].= 'XXXXX' . $e [ 4 ]; $e [ 2 ].= 'X' ; $e [ 1 ].= 'X' ;for( $i = 0 ; $i < $a = strlen ( $n ); $i ++){ ?><pre><? for( $z = 0 ; $z < strlen ( $t = substr ( '4220224011011041143344114114022411043341144334224411011042242244224114' , $n { $i }* 7 , 7 )); $z ++)echo $e [ $t { $z }].( $i < $a - 1 ? " \n" : "\n" ); ?></pre> <? } ?> </body></html> und rauskommen tut das hier(mit den gewünschten leerzeichen): {bild down} + Multi-Zitat Zitieren
#86 25. August 2007 AW: Script-battle Runde 2 - 7-Segmentanzeige PHP: <table><tr> <? $s = $_GET [ 's' ]; $l = array( ' XXXX ' , 'X X' , ' ' , ' X' , 'X ' ); $n = array( '0112110' , '2332332' , '0330440' , '0330330' , '2110332' , '0440330' , '0440110' , '0332332' , '0110110' , '0110330' );for( $i = 0 ; $i < strlen ( $s ); $i ++) { $g = str_split ( $n [ $s { $i }]); echo '<td><pre>' ; foreach( $g AS $r ) echo $l [ $r ].(( $i + 1 == strlen ( $s ))? '' : ' ' ). "\n" ; echo '</pre></td>' ;} ?> </tr></table> irgendwas mit 390bytes (+-2) + Multi-Zitat Zitieren