You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

伪代码读写CSV文件:游戏账号登录注册校验功能实现求助

游戏账号体系CSV读写校验实现方案

首先约定accountDetails.csv的存储格式,每行存储一个账号信息,逗号分隔昵称和密码,示例如下:

alice,123456
bob,abc123

如果需要表头区分字段,可在第一行加nickname,password,后续读取时跳过首行即可。


核心缺省函数实现

你目前的伪代码框架已经很清晰,只需要补全write_details(注册写入)和check_details(登录校验)两个函数即可:

1. 注册写入函数 write_details

逻辑:先校验昵称是否已存在,不存在再追加写入新账号

write_details(input_nick, input_pwd)
{
    // 先读文件校验昵称重复
    myFile = openRead("accountDetails.csv")
    while not endOfFile(myFile)
    {
        line = trim(readLine(myFile))
        if line == "" // 跳过空行
            continue
        saved_nick, saved_pwd = split(line, ",")
        if saved_nick == input_nick
        {
            closeFile(myFile)
            print("该昵称已被注册,请更换")
            return
        }
    }
    closeFile(myFile)

    // 校验通过写入新账号
    myFile = openAppend("accountDetails.csv")
    writeLine(myFile, input_nick + "," + input_pwd)
    closeFile(myFile)
    print("注册成功")
}

同时需要调整你原有user_register函数,把输入的昵称密码传入写入函数:

user_register()
{
    nickname = input("Enter nickname") // 注意此处应为获取输入的input,不是输出用的print
    password = input("Enter password")
    write_details(nickname, password)
}

2. 登录校验函数 check_details

逻辑:遍历CSV所有行,比对输入的账号密码是否匹配

check_details(input_nick, input_pwd)
{
    myFile = openRead("accountDetails.csv")
    // 如果CSV有表头,加一行 skipFirstLine(myFile) 跳过首行
    while not endOfFile(myFile)
    {
        line = trim(readLine(myFile))
        if line == ""
            continue
        saved_nick, saved_pwd = split(line, ",")
        if saved_nick == input_nick and saved_pwd == input_pwd
        {
            closeFile(myFile)
            print("登录成功,欢迎" + input_nick)
            // 此处可跳转游戏主逻辑
            return true
        }
    }
    closeFile(myFile)
    print("昵称或密码错误,请重试")
    return false
}

同样需要调整原有user_login函数,传入参数:

user_login()
{
    nickname = input("Enter nickname")
    password = input("Enter password")
    check_details(nickname, password) 
}

额外优化建议

  • 输入限制:可以限制昵称不允许包含逗号,避免CSV拆分时出现异常
  • 异常处理:可以加文件不存在的判断,首次运行时自动创建空的accountDetails.csv,避免读取报错
  • 安全优化:如果后续需要提升安全性,不要明文存储密码,可将密码哈希后再写入CSV,校验时比对哈希值即可

内容的提问来源于stack exchange,提问作者james.billinge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:54:00