跳一跳游戏大全(使用php编写一个微信跳一跳游戏)

发布时间:2025-12-11 02:30:28 浏览次数:1

具体内容如下

<?phprequire'config.php';functionsimilar($rgb1,$rgb2){$r1=($rgb1>>16)&0xFF;$g1=($rgb1>>8)&0xFF;$b1=$rgb1&0xFF;$r2=($rgb2>>16)&0xFF;$g2=($rgb2>>8)&0xFF;$b2=$rgb2&0xFF;returnabs($r1-$r2)<10&&abs($b1-$b2)<10&&abs($g1-$g2)<10;}functiongetStart(){global$image;$width=imagesx($image);$height=imagesy($image);for($i=$height/3;$i<$height/3*2;$i++){for($j=0;$j<$width-75;$j++){if(checkStart($i,$j)){$x=$i;$y=$j+37;}}}returnarray($x,$y);}functiongetEnd(){global$image;global$sx,$sy;$l_r=0;$cnt=0;$width=imagesx($image);$height=imagesy($image);for($i=$height/3;$i<$sx;$i++){$demo=imagecolorat($image,0,$i);for($l=0;$l<$width;$l++){$c=imagecolorat($image,$l,$i);if(!similar($c,$demo)){$r=$l;while($r+1<$width&&!similar(imagecolorat($image,$r+1,$i),$demo)){$r++;}if(abs(($l+$r)/2-$sy)>20){if(!isset($mid))$mid=($l+$r)/2;if($r-$l>BODY_WIDTH*1.1){if($r<=$l_r){$cnt++;if($cnt==3){return[$i,round($mid)];}}else{$cnt=0;}$l_r=$r;}}$l=$r;}}}return[$sx-round(abs($mid-$sy)/sqrt(3)),round($mid)];;}$cheet=[2829129,2829129,2829129,2829129,2829387,2960716,2960461,2960463,3026256,3026256,3092563,3092563,3158614,3158615,3224408,3290202,3356252,3356252,3356252,3356767,3357024,3553376,3618913,3618913,3553891,3684707,3750243,3684706,3684707,3684707,3684707,3750243,3618914,3618913,3684450,3750243,3750243,3750243,3750243,3750243,3684706,3618913,3618913,3618913,3684450,3684706,3684706,3684450,3684450,3750243,3750243,3684450,3684706,3750243,3618913,3618913,3618913,3684448,3749727,3749727,3749727,3749727,3749727,3749470,3749469,3749469,3749721,3749720,3749720,3814998,3814997,3880534,3880533,3946835,3881042];functioncheckStart($sx,$sy){global$cheet;global$image;for($i=0;$i<75;$i++){$rgb=imagecolorat($image,$sy+$i,$sx);if(!similar($rgb,$cheet[$i])){returnfalse;}}returntrue;}functionscreencap(){ob_start();system('adbshellscreencap-p/sdcard/screen.png');system('adbpull/sdcard/screen.png.');ob_end_clean();}functionpress($time){system('adbshellinputswipe50016005001601'.$time);}for($id=0;;$id++){echosprintf("#%05d:",$id);//截图screencap();//获取坐标$image=imagecreatefrompng('screen.png');list($sx,$sy)=getStart();list($tx,$ty)=getEnd();if($sx==0)break;echosprintf("(%d,%d)->(%d,%d)",$sx,$sy,$tx,$ty);//图像描点imagefilledellipse($image,$sy,$sx,10,10,0xFF0000);imagefilledellipse($image,$ty,$tx,10,10,0xFF0000);imagepng($image,sprintf("screen/%05d.png",$id));//计算按压时间$time=pow(pow($tx-$sx,2)+pow($ty-$sy,2),0.425)*PRESS_TIME;$time=round($time);echosprintf("time:%f\n",$time);press($time);//等待下一次截图sleep(SLEEP_TIME);}
<?php/***按压力度参数,根据实际表现进行调节*如果跳远了就调低点*///define('PRESS_TIME',3.752);define('PRESS_TIME',3.452);/***睡眠时间*/define('SLEEP_TIME',2);/***角色宽度,不需要调节*/define('BODY_WIDTH',75);

###################我是分割线######################

另一种方法

functionjump(){sleep(2.5);//延迟2.5秒,音乐盒、便利店、井盖等站2秒加分$screenShell="cdD:\&adbshell/system/bin/screencap-p/sdcard/screenshot.png&adbpull/sdcard/screenshot.pngd:jumper/screenshot.png";exec($screenShell);//截图$i=imagecreatefrompng("d:jumper/screenshot.png");//读取图片$point=array();for($y=400;$y<imagesy($i);$y++){//从第400行开始,避开上部内容for($x=0;$x<imagesx($i);$x++){//横向扫描$rgb=imagecolorat($i,$x,$y);//取得颜色$point["now"]["r"]=($rgb>>16)&0xFF;$point["now"]["g"]=($rgb>>8)&0xFF;$point["now"]["b"]=$rgb&0xFF;if(isset($point["last"]["r"])){if(!isset($point["x"]["a"])){if(abs($point["now"]["r"]-$point["last"]["r"])>1orabs($point["now"]["g"]-$point["last"]["g"])>1orabs($point["now"]["b"]-$point["last"]["b"])>1){$point["x"]["a"]=$x;if(imagesx($i)/2>$x){$point["direction"]="left";}else{$point["direction"]="right";}$point["a"]=$point["last"];}}else{if($point["now"]==$point["a"]){$point["x"]["b"]=$x-1;break;}}}$point["last"]=$point["now"];}if(isset($point["x"])){break;}}$param["left"]=3750;$param["right"]=3100;$time=pow((abs(imagesx($i)/2-($point["x"]["a"]+$point["x"]["a"])/2)/imagesx($i)),1)*$param[$point["direction"]];if($time<400){$time+=($param[$point["direction"]]/300);}$time=round($time,0);echo"direction:".$point["direction"];echo"\nx.a:".$point["x"]["a"];echo"\nx.b:".$point["x"]["b"];echo"\ntime:".$time."\n";$touchShell="cdD:\&adbshellinputswipe50250250250".$time;exec($touchShell);imagedestroy($i);jump();}jump();
跳一跳游戏大全
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477