Пакет Level Up — это пакет Laravel, вводящий геймификацию в ваши приложения. Пользователи могут зарабатывать очки опыта (XP) и повышать уровни через ваше приложение. Он также включает в себя функцию динамической таблицы лидеров.
Этот пакет имеет три концепции, которые составляют геймификацию:
- Очки опыта (XP)
- Уровней
- Достижения
После того, как вы импортируете черту GiveExperience
в свою пользовательскую модель:Эта черта модели открывает доступ к различным методам работы с API геймификации:Вы можете создавать уровни для своего приложения с помощью следующего API:
use LevelUp\Experience\Concerns\GiveExperience;
class User extends Model
{
use GiveExperience;
// ...
}
$user->addPoints(10);
$user->deductPoints(10);
$user->setPoints(10);
$user->getPoints();
Level::add(
['level' => 1, 'next_level_experience' => null],
['level' => 2, 'next_level_experience' => 100],
['level' => 3, 'next_level_experience' => 250],
);
И, наконец, вот как вы создаете достижения Вы также можете определить секретные достижения
Achievement::create([
'name' => 'Hit Level 20',
'is_secret' => false,
'description' => 'When a User hits Level 20',
'image' => 'storage/app/achievements/level-20.png',
]);
// Unlock an achievement
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);
// Set achievement progress
$user->grantAchievement(
achievement: $achievement,
progress: 50 // 50%
);
, скрытые от пользователя, пока они не будут разблокированы. Этот пакет также поддерживает аудит, отслеживание, когда пользователь набирает очки, повышает уровень и т. Д.
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.