Создание топ-100 и списка онлайн игроков

Печать RSS
372

U
Автор
Пришелец
0
привет всем. имею немного опита в php программирование (онлайн игри, соц. сеть), но никуда их не запускал (создал только для себя, для проверки способностей). и сейчас мне уже хочется создать какойто серйозний проект - например онлайн многопользовательскую игру. но для етого мне еще нужно узнать какието подробности:
- как создать рейтинг игроков (топ 100) - сортировка за количеством денег - база данних (на файлах, ники игроков записани у db_player.db ( структура такая
ник 1 игрока|количество денег1 игрока/n
ник 2 игрока|количество денег 2 игрока/n
и так далее
).
for($i=0; $i<count($all_player);$i++){
// здесь ми должни отсортировать...
// но как ето зделать - просто  не понимаю
}

- как создать такое, чтоби показивало, кто из игроков есть на сайте, и подщитать количество игроков на сайте.
Помогите! Пожалуйста
P.S. извините, что плохо с написанием русского язика - просто я из Украини, и у меня украинськая клавиатура...
C

Пришелец
0
база данних на
файлах? Да ещё и в онлайн игре? Да вы, ... извращенец!
U
Автор
Пришелец
0
мне на файлах понятнее.
или mysql лутше?
U
Автор
Пришелец
0
но как же ето организировать? рейтинг и онлайн?
U
Автор
Пришелец
0
уже сортировать у топ-100 умею, но осталось еще список онлайн и их количество.

вот код топ-100
<?php
$file = file("data.txt");

/// структура файла:
/// 1|nick1
/// 45467|nick2
/// 457|nick3
/// 76|nick4

for($k=0;$k<count($file);$k++){
$m = explode("|",$file[$k]);

$arr[] = Array();
$arr[$k] = $m[0]; /// создали список с значением денег
}

arsort($arr, SORT_NUMERIC); /// сортируем деньги
reset($arr);

while(list($key, $val) = each($arr)){

$pl = explode("|",$file[$key]);
$pl_nick = $pl[1]; ///розбиваем список файлов, и достаем строку, из которой возмем ник...

echo "<a href='#'>$pl_nick</a> $val<br>"; /// виводим
}

?>
Изменил: ubnt (27.01.2013 / 19:10)
U
Автор
Пришелец
0
помогите еще з онлайном игроков?
Изменил: ubnt (27.01.2013 / 19:43)

Веем холодом
0
Копать файлы, чтобы вывести 100? А какова будет нагрузка? Ну как организован онлайн в роторе - пользователь обновляет страницу и происходит запись или обновление записи в таблице. Если время обновления больше нужного, то пользователь онлайн. Но фигзнатsmile
U
Автор
Пришелец
0
7. Zдешний, и я также думал... но как грамотно все вивести у браузер? нам надо знать не только одного пользователя состояние, а узнать всех, но показать только онлайн

Добавлено через 03:43 сек.
7. Zдешний, нагрузка не будет очень большая, если я планирую обновлять значение топ-100 только раз в сутки. а от з онлайном будет трудновато... даже незнаю как его написать для всех игроков...
Изменил: ubnt (27.01.2013 / 20:18)
U
Автор
Пришелец
0
7. Zдешний, но может только узнавать какое именно количество игроков на сайте... делать ето по ип, или по авторизациям - уму не постежимо...
U
Автор
Пришелец
0
упс, мой предедущий код рейтинга топ-100 показивал рейт всех игроков...
вот справний код
<?php

$top = 100;

$file = file("data.txt");

for($k=0;$k<count($file);$k++){
$m = explode("|",$file[$k]);

$arr[] = Array();
$arr[$k] = $m[0];
}

arsort($arr, SORT_NUMERIC);
reset($arr);

for($i=0;$i<count($arr) && $i<$top;$i++){

list($key, $val) = each($arr);
$pl = explode("|",$file[$key]);
$pl_nick = $pl[1];


echo "<a href='#'>$pl_nick</a> $val<br>";
}

?>
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск