简单的七日签到系统

一个简单的七日签到系统
代码:在这里插入图片描述

// An highlighted block
	using System.Collections.Generic;
	using System.Collections;
/// <summary>
/// 7日签到系统
/// </summary>
public class SignView : MonoBehaviour
{
    public const string SignNumPrefs = "SignNum";
    public const string SignDataPrefs = "SignData";
    int signNum;//签到次数
    DateTime today;//今日日期
    DateTime signData;//上次签到日期
    IEnumerator Start()
    {
        WWW www = new WWW("http://www.hko.gov.hk/cgi-bin/gts/time5a.pr?a=1");
        while (!www.isDone)
        {
            //防止加载失败
            yield return www;
        }
        if (www.text == "" || www.text.Trim() == "")//如果获取网络时间失败,改为获取系统时间
        {
            today = DateTime.Now;
        }
        else//成功获取网络时间
        {
            string timeStr = www.text.Substring(2);
            System.DateTime time = System.DateTime.MinValue;
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new 		System.DateTime(1970, 1, 1));
            time = startTime.AddMilliseconds(Convert.ToDouble(timeStr));
            timeStr = time.ToString();
            today = DateTime.Parse(timeStr);
        }
        signNum = PlayerPrefs.GetInt(SignNumPrefs, 0);
        signData = DateTime.Parse(PlayerPrefs.GetString(SignDataPrefs, 		DateTime.MinValue.ToString()));
        RefreshView();//刷新签到面板
    }
   //签到领取奖励
    public void OnSignClick(int index)
    {
        if (IsOneDay()&&signNum==index)
        {
            signNum++;
            signData = today;
            Debug.Log("执行了");
            PlayerPrefs.SetString(SignDataPrefs, today.ToString());
            PlayerPrefs.SetInt(SignNumPrefs, signNum);
            RefreshView();
            UserGift(); //给用户奖励
            if (signNum >= 7)//重新计算签到
            {
                PlayerPrefs.DeleteKey(SignNumPrefs);
            }
        }
        else
        {
            //签到日期未到
        }
    }
	//视图刷新方法
    void RefreshView()
    {

    }
//判断是否可以签到
    private bool IsOneDay()
    {
        if (signData.Year == today.Year && signData.Month == today.Month && signData.Day == today.Day)
        {
            return false;
        }
        if (DateTime.Compare(signData, today) < 0)
        {
            return true;
        }
        return false;
    }
//签到奖励
    void UserGift()
    {
       
    }

}

第一次写博客,不对之处请多多指教,欢迎讨论

参考链接: https://blog.csdn.net/yupu56/article/details/82873362.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些针对七签到活动的测试用例示例: 1. 注册和登录功能: - 测试用户能否成功注册账号。 - 测试用户能否使用已注册的账号登录。 - 测试登录时是否能够正确验证账号和密码的准确性。 - 测试登录时是否能够处理错误的账号或密码输入。 2. 签到按钮和界面: - 测试签到按钮是否正确显示在用户界面上。 - 测试用户点击签到按钮后,是否能够成功签到并更新签到状态。 - 测试签到界面是否正确展示已签到期,包括已签到期的高亮或标记。 3. 签到规则和周期: - 测试用户是否能够每天只能签到一次,不能重复签到。 - 测试连续签到是否会获得额外奖励,例如连续签到3天、5天等。 - 测试用户在中途未签到的情况下,是否能够重新开始连续签到计数。 4. 签到奖励发放: - 测试签到后是否能够正确发放相应的奖励给用户,例如积分、优惠券、道具等。 - 测试用户在连续签到达到特定条件后,是否能够获得额外奖励。 - 测试用户在签到周期结束后,是否能够获得最终的奖励。 5. 异常情况处理: - 测试用户在签到时间限制外尝试签到,是否能够正确提示用户签到时间未到。 - 测试用户在网络异常情况下进行签到,是否能够正确处理网络错误并进行相应提示。 6. 用户体验: - 测试签到界面的用户友好性,包括界面布局、按钮位置等。 - 测试签到过程中的操作流畅性,例如点击签到按钮后的响应时间。 - 测试签到活动中的提示信息准确性,例如签到成功提示、奖励展示等。 这些测试用例可以根据具体的需求和功能进行进一步扩展和细化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值