- 浏览: 158764 次
- 性别:
- 来自: 大连
最新评论
-
xueyw:
http://www.devdiv.com/forum-iph ...
iPhone开发网站、论坛、博客 -
Meggie_love:
受教了
游戏算法整理 算法七 无限大地图的实现 -
xueyw:
http://www.devdiv.net/bbs/forum ...
iPhone开发网站、论坛、博客 -
junlas:
APE 物理引擎与 Box2D 物理引擎对比 -
ha397666:
5、扩展的点已经被扩展过了。当扩展节点的时候,每个节点都是向四 ...
游戏算法整理 算法六:关于SLG中人物可到达范围计算的想法
iPhone Coding Tutorial – Creating an Online Leaderboard For Your Games3
- 博客分类:
- iphone
Displaying The Scores Table
As mentioned before, we will be displaying a table on a webpage. The url that the webview will access will be something like this
http://icodeblog.com/ws/get_scores.php?sort=score%20DESC
There are quite a few parameters that can be used with my script that will determine how the table will be displayed. The parameters and their descriptions are in the table below:
type | This value will determine what data the table will display. The possible values for it are global, device, and name. Global will simply show the global high scores list containing all of the users. Device is specific to the calling users device. It will only display high scores for a given udid. Finally, we have name, which will only display high scores for a given username. |
offset | Used for paging the SQL results. It will be the first parameter in the ORDER BY clause of the SQL select statement. Ex: An offset of 10 will tell the system to show records starting with the 10th. |
count | Used for paging the SQL results. It will be the second parameter in the ORDER BY clause of the SQL select statement. This is basically the number of results to show in the table. |
sort | Tells the table how to sort. If this isn’t specified, the sorting is default set to “score DESC”. This will order by scores from highest to lowest. |
udid | The UDID of the device viewing the leaderboard. This variable is required if you specify type=device |
name | The name of the device viewing the leaderboard. This variable is required if you specify type=name |
As you can see, you have quite a bit of control over how the results get displayed. You may want to offer multiple high score views to your user (global, personal, etc…). You can also fancy this up quite a bit and give the users the ability to view the high scores of other users on the list.
Here is the code for get_scores.php
<?php // get_scores.php /** MySQL database name */ define('DB_NAME', ''); /** MySQL database username */ define('DB_USER', ''); /** MySQL database password */ define('DB_PASSWORD', ''); /** MySQL hostname */ define('DB_HOST', $_ENV{DATABASE_SERVER}); $table = "highscores"; // Initialization $conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); mysql_select_db(DB_NAME, $conn); // Error checking if(!$conn) { die('Could not connect ' . mysql_error()); } $type = isset($_GET['type']) ? $_GET['type'] : "global"; $offset = isset($_GET['offset']) ? $_GET['offset'] : "0"; $count = isset($_GET['count']) ? $_GET['count'] : "10"; $sort = isset($_GET['sort']) ? $_GET['sort'] : "score DESC"; // Localize the GET variables $udid = isset($_GET['udid']) ? $_GET['udid'] : ""; $name = isset($_GET['name']) ? $_GET['name'] : ""; // Protect against sql injections $type = mysql_real_escape_string($type); $offset = mysql_real_escape_string($offset); $count = mysql_real_escape_string($count); $sort = mysql_real_escape_string($sort); $udid = mysql_real_escape_string($udid); $name = mysql_real_escape_string($name); // Build the sql query $sql = "SELECT * FROM $table WHERE "; switch($type) { case "global": $sql .= "1 "; break; case "device": $sql .= "udid = '$udid' "; break; case "name": $sql .= "name = '$name' "; break; } $sql .= "ORDER BY $sort "; $sql .= "LIMIT $offset,$count "; $result = mysql_query($sql,$conn); if(!$result) { die("Error retrieving scores " . mysql_error()); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> </head> <body> <?php // Display the table echo '<table style="width:100%"> <thead> <tr> <th>Name</th> <th>Score</th> </tr> </thead> <tbody>'; while ($row = mysql_fetch_object($result)) { echo '<tr> <td> '.$row->name.' </td> <td> '.$row->score.' </td> </tr>'; } echo '</tbody> </table>'; mysql_free_result($result); mysql_close($conn); ?> </body> </html>
After initialization, we build the SQL query based on the parameters that were specified. This will determine what data will get displayed. Notice that after the code to query the database, there is some HTML. This is because we want to output a full HTML page for our table. You can use this opportunity to ad things such as styling, images, and advertising. Within the body, we simply loop over the results returned from MYSQL and output the score data. And that’s it! You now have a fully functional high score server. With our server complete, there are only two things left to do: submit score data in our iphone application and display the leaderboard.
发表评论
-
UIPickerView – spinning multiple components
2010-08-24 16:24 1571I found an interesting issues w ... -
UITableView效果收集
2010-07-10 12:28 2863某些打不开需翻()墙 Customizing the bac ... -
日期处理
2010-03-17 22:58 1138NSDateFormatter *dateFor ... -
uninstall xcode
2010-02-08 02:35 1701How to uninstall Xcode and ... -
从一个url中获得文本信息(转)
2010-01-21 11:37 1340有时候你可能需要从一个url中获取一个文本文件中的信息。 下面 ... -
将图片保存在iPhone的相册中(转)
2010-01-21 11:28 2890有时候你的应用需要将应用中的图片保存到用户iPhone或者iT ... -
一些遊戲製作有關的博客(转)
2010-01-20 14:57 1136站長在收集站內朋友的博客,然後把它們列出來方便大家看,這的確是 ... -
Beautiful Snowflakes
2010-01-14 18:51 1417It is a application that displa ... -
Layer Programming with Quartz Core
2010-01-08 14:11 3486《转载》 2009/6/25 ... -
如何移除Three20中private API
2010-01-07 22:04 1798Three20 是一个非常有 ... -
iphone下Three20库(From Facebook)的设置使用方法
2010-01-07 22:03 3987Three20是一个编译的静态类库 ,在Xcode中的项目实 ... -
Opera Masks
2010-01-07 01:13 1636It is a application that introd ... -
Java读取星际译王(StarDict)词库
2010-01-06 18:08 2544下面的文件是StarDict的词库格式说明文件: Form ... -
iPhone Coding Tutorial – Creating an Online Leaderboard For Your Games4
2010-01-06 11:06 1482Submitting High Scores To The ... -
iPhone Coding Tutorial – Creating an Online Leaderboard For Your Games2
2010-01-06 11:01 699Inserting Scores Into The Dat ... -
iPhone Coding Tutorial – Creating an Online Leaderboard For Your Games1
2010-01-06 10:59 1038As you may have seen, there a ... -
iPhone Coding Tutorial – Inserting A UITextField In A UIAlertView
2010-01-06 10:44 1565This will be a simple tutorial ... -
iPhone Coding Tutorial – In Application Emailing
2010-01-06 10:36 1170A lot of applications you see ... -
Objective-C内存管理总结〜CC专版
2009-12-28 11:09 2973之前写过类似的文章,这篇以做总结,希望能帮助刚上船的兄弟。^_ ... -
tell user the status
2009-12-17 17:42 1176+(UIView *)waitingView { ...
相关推荐
NULL 博文链接:https://xxxxxfsadf.iteye.com/blog/563625
NULL 博文链接:https://xxxxxfsadf.iteye.com/blog/563653
Polar Code译码编码详细步骤案例 Polar Coding Step-by-Step decode encode example
A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems
online coding单表表单模板上传使用说明online coding单表表单模板上传使用说明online coding单表表单模板上传使用说明online coding单表表单模板上传使用说明online coding单表表单模板上传使用说明online coding单...
JEECG Online Coding开发手册v3.6.pdf
An introduction to coding for constrained systems, Draft Version, 2001. by B H Marcus, R M Roth, P H Siegel
Beginners and experienced programmers can use Python to build and play computer games, from mind-bending brainteasers to crazy action games with explosive sound effects and 3-D graphics. Each chapter ...
After reading this book you will be able to develop your own 2d and 3d videogames and use it on your presentations, to speed up your level design deliveries, test your game design ideas, work on your ...
百度的余凯老师在CVPR2012上的Tutorial
Beginning iPhone Games Development (Mar 2010) Part 2 of 2 Part 1 -> http://download.csdn.net/source/2283635 源代码 -> http://apress.com/book/view/9781430225997 iPhone games are hot! Just look at ...
JEECG Online Coding开发手册v3.6,Online表单开发,Online表单配置等等
JEECG Online Coding开发手册v3.4.5
Creating Games with Unity and Maya gives you with an end-to-end solution for Unity game development with Maya. Written by a twelve-year veteran of the 3D animation and games industry and professor of ...
In addition to evaluating the impact of different types of video content and powerful feature sets on HEVC coding efficiency, the text provides an in-depth study on the practical performance of ...
Coding_Games_in_Scratch(英文版)
非常适合入门学习用Swift开发iphone apps,强烈推荐。
Beginning iPhone Games Development Apress, 2010年出品 You’ve probably already read and mastered Beginning iPhone 3 Development; Exploring the iPhone SDK, the best-selling, the second edition of ...
cvpr12_tutorial_sparse_coding.ppt
Note Correction to the 1997 Tutorial on Reed-Solomon Coding----RS编码