Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menambah ganjaran tugasan dan sistem pencapaian pada kuiz dalam talian

Cara menambah ganjaran tugasan dan sistem pencapaian pada kuiz dalam talian

WBOY
WBOYasal
2023-09-24 14:40:581338semak imbas

Cara menambah ganjaran tugasan dan sistem pencapaian pada kuiz dalam talian

Cara menambah ganjaran tugasan dan sistem pencapaian kepada soalan menjawab dalam talian

Dengan perkembangan berterusan Internet, soalan menjawab dalam talian telah menjadi lagi Cara pembelajaran yang semakin popular. Untuk meningkatkan semangat pengguna, banyak platform menjawab soalan dalam talian telah memperkenalkan sistem ganjaran dan pencapaian tugasan secara beransur-ansur sebagai tambahan kepada menjawab soalan biasa. Artikel ini akan memperkenalkan cara menambahkan ganjaran tugasan dan sistem pencapaian pada kuiz dalam talian dan memberikan contoh kod yang sepadan.

1. Sistem ganjaran tugas
Sistem ganjaran tugas ialah mekanisme ganjaran yang ditetapkan untuk memotivasikan pengguna menyelesaikan tugasan tertentu. Ia boleh menetapkan pelbagai tugas, seperti melengkapkan bilangan jawapan tertentu, menjawab soalan untuk beberapa hari berturut-turut, berkongsi jawapan kepada Moments, dsb. Selepas pengguna menyelesaikan tugasan, mereka boleh memperoleh ganjaran yang sepadan, seperti mata, mata wang maya atau ganjaran fizikal, dsb. Di bawah ialah contoh kod ringkas yang menunjukkan cara menambah sistem ganjaran tugasan.

# 定义任务列表
tasks = [
    {"id": 1, "name": "每日答题", "type": "daily", "target": 5, "reward": 10},
    {"id": 2, "name": "连续答题", "type": "continuous", "target": 7, "reward": 20},
    {"id": 3, "name": "分享答题", "type": "share", "target": 3, "reward": 5}
]

# 用户完成任务后的奖励函数
def complete_task(user_id, task_id):
    user = get_user(user_id)
    task = get_task(task_id)

    # 判断任务类型并发放奖励
    if task["type"] == "daily":
        user["score"] += task["reward"]
    elif task["type"] == "continuous":
        user["score"] += task["reward"]
    elif task["type"] == "share":
        user["score"] += task["reward"]
        user["coins"] += task["reward"]

    # 标记任务已完成
    task["completed"] = True

    # 更新用户和任务信息
    update_user(user)
    update_task(task)

2. Sistem Pencapaian
Sistem pencapaian boleh memberi ganjaran kepada pengguna untuk menyelesaikan kesukaran tertentu atau matlamat tertentu, supaya pengguna dapat merasakan pencapaian dan kepuasan. Pencapaian ini boleh dipersembahkan dalam bentuk lencana, pingat, gelaran dan sebagainya. Di bawah ialah contoh kod ringkas yang menunjukkan cara menambah sistem pencapaian pada kuiz dalam talian.

# 定义成就列表
achievements = [
    {"id": 1, "name": "答题小白", "target": 50, "reward": "初级答题者徽章"},
    {"id": 2, "name": "答题大师", "target": 500, "reward": "高级答题者徽章"},
    {"id": 3, "name": "解锁全部题目", "target": 100, "reward": "全能答题者徽章"}
]

# 用户完成成就后的奖励函数
def complete_achievement(user_id, achievement_id):
    user = get_user(user_id)
    achievement = get_achievement(achievement_id)

    # 标记成就已完成
    achievement["completed"] = True

    # 发放奖励
    user["badges"].append(achievement["reward"])
    user["score"] += achievement["target"]

    # 更新用户和成就信息
    update_user(user)
    update_achievement(achievement)

Dalam contoh kod di atas, kami menggunakan struktur data ringkas untuk mewakili tugasan dan pencapaian. Dalam aplikasi praktikal, kami boleh menggabungkan pangkalan data untuk menyimpan dan mengurus ganjaran tugas dan maklumat pencapaian.

Melalui contoh kod di atas, kita boleh melihat cara menambah ganjaran tugasan dan sistem pencapaian pada soalan menjawab dalam talian. Sistem ini boleh menggalakkan pengguna untuk mengambil bahagian secara aktif dalam menjawab soalan dan meningkatkan hasil pembelajaran. Sudah tentu, tetapan tugas dan pencapaian tertentu boleh dilaraskan secara fleksibel mengikut keperluan sebenar Saya harap artikel ini akan membantu semua orang apabila membangunkan platform menjawab soalan dalam talian.

Atas ialah kandungan terperinci Cara menambah ganjaran tugasan dan sistem pencapaian pada kuiz dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn