qqmmcc 发表于 2011-5-17 01:17:51

小游戏-石头剪子布源码




io.open();

var 玩家得分 , 机器得分 = 0,0

/*
剪刀剪布,布包石头,石头压死了蜥蜴,蜥蜴毒死了史波克,史波克踩碎了剪刀,剪刀斩首了蜥蜴,蜥蜴吃了布,
布(paper又意论文,引申为相对论)否定了史波克的存在,史波克融化了石头,石头砸碎了剪刀
*/
var 游戏规则表 = {};
游戏规则表["石头"] = {["石头"]="平";["剪刀"]="赢";["布"]="输";["蜥蜴"]="赢";["史波克"]="输"};
游戏规则表["剪刀"] = {["石头"]="输";["剪刀"]="平";["布"]="赢";["蜥蜴"]="赢";["史波克"]="输"};
游戏规则表["布"] = {["石头"]="赢";["剪刀"]="输";["布"]="平";["蜥蜴"]="输";["史波克"]="赢"};
游戏规则表["蜥蜴"] = {["石头"]="输";["剪刀"]="输";["布"]="赢";["蜥蜴"]="平";["史波克"]="赢"};
游戏规则表["史波克"] = {["石头"]="赢";["剪刀"]="赢";["布"]="输";["蜥蜴"]="输";["史波克"]="平"};

math.randomize(time.tick());
var 机器随机出拳 = function(){
    var 角色表 = {"石头";"剪刀";"布";"蜥蜴";"史波克"};
    return 角色表;
}

var 猜拳结果 = function( 玩家出拳 , 机器出拳){
    var 结果 = 游戏规则表[玩家出拳][机器出拳];
    select( 结果 ){
      case "赢"
            玩家得分 += 1;
      case "输"
            机器得分 += 1;
    }

    io.print("玩家出拳:",玩家出拳,"机器出拳:",机器出拳,'\n这次你'+结果+"了!")
}

io.print("石头 = o","剪刀 = x","布 = l","蜥蜴 = f","史波克 = w")
io.print('输入q退出本次游戏!\n')

开始游戏 = function(){
    while(true){
      io.print("玩家得分:"+玩家得分 , "机器得分:"+机器得分+'\n')
      if(玩家得分 >= 20 || 机器得分 >= 20) break;
      io.print("请输入o或x或l或f或w或q:");

      var strin = io.stdin.read();
      if( #strin != 1) continue ;
               
      var 玩家出拳 = string.lower(strin);   
      var 角色表 = {o="石头";x="剪刀";l="布";f="蜥蜴";w="史波克"};
      
      if(玩家出拳 = "q") break;
      elseif(string.indexAny("oxlfw",玩家出拳))
            猜拳结果( 角色表[玩家出拳] , 机器随机出拳());
      else
            io.print("无效输入,请重试!");
    }

    玩家得分 , 机器得分 = 0,0   
    io.print("游戏结束!重玩一次请按r回车,退出请按其他任意键回车");
    var 重玩还是退出 = string.lower(io.stdin.read());
    if(重玩还是退出 = "r") return 开始游戏();
    elsereturn;
}

开始游戏();

io.close();

运行结果




suixinppo2011 发表于 2011-5-17 09:03:08

呵呵!有意思,看看,谢谢分享!

飘云 发表于 2011-5-17 10:00:22

中文变量。。NX

电速极光 发表于 2011-7-7 12:41:28

C语言的呀?
页: [1]
查看完整版本: 小游戏-石头剪子布源码