继上一次介绍了《神奇的六边形》的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏《跳跃的方块》的完整开发流程。
(点击图片可进入游戏体验)
因内容太多,为方便大家阅读,所以分多次来讲解。
若要一次性查看所有文档,也可点击这里。
接上回(《跳跃的方块》Part 5)
(三)分数上传及排行榜查询
实现分数上传
创建一个名为updateScore.php的页面,用来处理分数上传功能。 代码如下:
1 <?php 2 require_once("db.php"); 3 4 // 从请求中获取参数 5 $rid = $_REQUEST["rid"]; 6 $token = $_REQUEST["token"]; 7 $score = $_REQUEST["score"]; 8 9 if (!isset($rid) || !isset($score)) { 10 die(json_encode(array( 11 "error" => "参数有误" 12 ))); 13 } 14 // 这里可以使用token进行验证,是否允许调用存储数据库 15 // 这里不做实现 16 17 // 提交分数 18 $mysqli = DB::getDB(); 19 $update_sql = "update user_info set score = ?, update_time = ? where open_id = ? and score < ?"; 20 $stmt = $mysqli->prepare($update_sql); 21 if (!$stmt) { 22 die(json_encode(array( 23 "error" => "数据库连接失败" 24 ))); 25 } 26 27 $stmt->bind_param("ddsd", $v_score, time(), $v_open_id, $v_score); 28 29 $v_open_id = $rid; 30 $v_score = $score; 31 32 $stmt->execute(); 33 if ($stmt->errno) { 34 die(json_encode(array( 35 "error" => "更新分数失败,错误代码:".$stmt->errno 36 ))); 37 } 38 $stmt->close(); 39 die(json_encode(array( 40 "success" => "更新成功" 41 ))); 42 ?>
获取排行榜信息
创建一个名为getRank.php的页面,用来获取排行榜信息。 代码如下:
1 <?php 2 3 // 查询排行榜 4 require_once("db.php"); 5 6 // 从请求中获取参数 7 $rid = $_REQUEST["rid"]; 8 $token = $_REQUEST["token"]; 9 10 if (!isset($rid) || !isset($score)) { 11 die(json_encode(array( 12 "error" => "参数有误" 13 ))); 14 } 15 // 这里可以使用token进行验证,是否允许调用存储数据库 16 // 这里不做实现 17 18 // 查询排行榜 19 $mysqli = DB::getDB(); 20 $top = array(); 21 $user = array(); 22 23 // 获取前100的用户数据 24 $sql = "SELECT open_id as rid, name, score, head_icon FROM user_info where score > 0 ORDER BY score desc, update_time asc limit 100"; 25 $result = $mysqli->query($sql); 26 if ($result) { 27 while ($obj = $result->fetch_object()) { 28 array_push($top, $obj); 29 } 30 $result->close(); 31 } 32 33 $sql = "SELECT open_id, name, score, head_icon FROM user_info where open_id = '$rid'"; 34 $result = $mysqli->query($sql); 35 if ($result) { 36 $user = $result->fetch_object(); 37 $result->close(); 38 } 39 40 $ret = array( 41 'rankTop' => $top, 42 'userData' => $user, 43 ); 44 echo json_encode($ret); 45 ?>
下次将继续介绍如何做”服务器链接“,敬请期待!
其他相关链接
开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?