卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章22603本站已运行3424

【PHP】非常古老的回合制WEBGAME游戏HOF源代码

这个源代码包简称hof,全称是Hall of Fame,意为荣誉圣殿,是小日子流传过来的文字页游源代码,开发者开源,但是保留对其版权及二次开发的所有权。这个代码跟国内常见的PHP代码不同,没有使用SQL数据库,而是将基本数据写到php文件里,将动态数据写入dat文件,看见时候还是蛮惊艳的,代码小巧别致,单内容非常丰富,具备了回合制页游的基本功能,包含4个基本职业和11个转职后的进阶职业,游戏内容也非常丰富,粗略看了一下,设计了上百个游戏技能和近千种游戏道具,还具备了基本的商店、竞技场、精炼、制造、招募等等核心功能,但是由于代码过于古老,网页编码为gbk,且仅能在PHP5.3以下正常运行,于是我对这个源代码进行了下列优化修改:
1、删除了源代码包里的几个网页木马,已经尽力了,不知道删除干净没有;
2、修改了代码网页编码为utf-8,便于在目前常用的主流浏览器上面使用;
3、修改了PHP5.3以上版本不兼容的代码,目前在PHP7下运行暂时没发现问题;
4、对于部分细节的汉化进行了优化,但因为我拿到的就是已经汉化的版本,很多原版的日文由于编码问题翻译不出来了,所以只能就细节部分进行优化,但代码整体是中文的,基本不存在英文影响体验进行的问题。

架设方法:PHPSTUDY环境或IIS配置PHP支持后直接可用,测试环境PHP7。
测试账号:test/test
后台管理地址:./admin.php
后台管理密码:123456

后续个人是打算好好研究一下这个代码,计划把我喜欢的寻仙资源、世界观、概念和道具引入进来,重做角色职业、道具系统和技能,然后整合一些寻宝、赌坊之类的小游戏小玩法,自己弄个自娱自乐的网页游戏,总体来说这个源代码还是非常可玩耐玩的。

下面是基本配置文件的源代码,总体来看还是功能很丰富的,注释中的乱码是因为编码改变变成了乱码,不知道原来是什么,所以没办法作进一步的翻译:

<?php
// 游戏设置
define("TITLE","荣誉圣殿中文版 (Hall of Fame)");//网页标题
define("MAX_TIME",100);//最大体力
define("TIME_GAIN_DAY",500);//每日所获得的体力
define("MAX_CHAR",5);//最大角色数量
define("MAX_USERS",500);//最大用户数量
define("ABANDONED",60*60*24*14);//删除用户周期
define("CONTROL_PERIOD",60*60*12);//自动管理周期
define("RECORD_IP",1);//IP记录(0=NO 1=YES)
 
// 其他设置
define("DEBUG",0);// 0=OFF
define("CHAR_NO_IMAGE","NoImage.gif");// 无角色图片
define("SESSION_SWITCH",1);// 0=OFF
define("CHAR_ROW",5);//角色队列数
define("CRYPT_KEY",'$1$12345678$');//パス射规步キ〖(ゲ〖ム肋弥稿は恃えるな)
define("COOKIE_EXPIRE",60*60*24*3);//cookie时间 60*60*24*3
define("UP_PASS","password");// 公告管理密码
 
define("START_TIME",100);//游戏初始体力
define("START_MONEY",10000);//游戏初始资金
define("MAX_STATUS",255);//最大属性点
define("GET_STATUS_POINT",3);//升级获得属性点
define("GET_SKILL_POINT",1);//升级获得技能点
define("MAX_LEVEL",50);//最大等级
define("SELLING_PRICE",1/5);//卖出物品比率(物品原价x比率)
define("REFINE_LIMIT",10);//篮希嘎肠猛
 
define("EXP_RATE",1);//经验倍数
define("MONEY_RATE",1);//金钱倍数
 
define("NEW_NAME_COST",100000);//改变队伍名称所需资金
define("BBS_OUT","http://localhost/bbs/");//论坛链接地址
define("BBS_BOTTOM_TOGGLE",0);//底部论坛链接按钮(0=OFF 1=ON)
define("AUCTION_TOGGLE",1);//是否开启拍卖会所(0=OFF 1=ON)
define("AUCTION_EXHIBIT_TOGGLE",0);////拍卖(0=暂停 1=开启)
define("JUDGE_LIST_AUTO_LOAD",1);//条件判定列表自动取得 1=自动 0=手动操作
define("AUCTION_MAX",100);//最大拍卖数
 
// 排名设置
define("RANK_TEAM_SET_TIME",60*60*48);//排名队伍設定周期
define("RANK_BATTLE_NEXT_LOSE",60*60*24);//失败后再挑战时间
define("RANK_BATTLE_NEXT_WIN",60*1);//赢得排名站再战的时间
 
// 对战设置
define("NORMAL_BATTLE_TIME",1);//默认战斗消耗体力
define("ENEMY_INCREASE",0);//对手选择(随机)
define("BATTLE_MAX_TURNS",100);//战斗最大回合数
define("TURN_EXTENDS",20);// 疯缅がつきそうな眷圭变墓するタ〖ン眶。
define("BATTLE_MAX_EXTENDS",100);//变墓した眷圭の呵络乖瓢搀眶(变墓の嘎肠)
define("BTL_IMG_TYPE",2);// (0=GD 1=CSS 2=瓤啪貉茶咙蝗脱CSS)
define("BTL_IMG","./image.php");// GD文件
define("BATTLE_STAT_TURNS",10);// 战斗统计回合
define("DEAD_IMG","mon_145.gif");// HP=0时的角色图片
define("MAX_BATTLE_LOG",100);// 战斗记录保存数(通常怪)
define("MAX_BATTLE_LOG_UNION",50);// 战斗记录保存数(BOSS)
define("MAX_BATTLE_LOG_RANK",50);// 战斗记录保存数(BOSS)
define("MAX_STATUS_MAXIMUM",2500);// 最大战斗回合数(1000%=10)
 
define("DELAY_TYPE",1);// 0=奠 1=糠
// DELAY_TYPE=0
define("DELAY",2.5);//ディレイ(2笆惧が誊奥。眶猛が你いとSPDが光い客は铜网)
// DELAY_TYPE=1
define("DELAY_BASE",5);// 眶猛が光いと汗がつかなくなる。
 
// union
define("UNION_BATTLE_TIME",10);//BOSS战消耗体力
define("UNION_BATTLE_NEXT",60*20);//BOSS战再挑战时间
 
// files
define("INDEX","index.php");
 
// CLASS FILE
define("CLASS_DIR", "./class/");
define("BTL_IMG_CSS", CLASS_DIR."class.css_btl_image.php");// CSS山绩
define("CLASS_MAIN", CLASS_DIR."class.main.php");
define("CLASS_USER", CLASS_DIR."class.user.php");
define("CLASS_CHAR", CLASS_DIR."class.char.php");
define("CLASS_MONSTER", CLASS_DIR."class.monster.php");
define("CLASS_UNION", CLASS_DIR."class.union.php");
define("CLASS_BATTLE", CLASS_DIR."class.battle.php");
define("CLASS_SKILL_EFFECT", CLASS_DIR."class.skill_effect.php");
define("CLASS_RANKING", CLASS_DIR."class.rank2.php");
define("CLASS_JS_ITEMLIST", CLASS_DIR."class.JS_itemlist.php");
define("CLASS_SMITHY", CLASS_DIR."class.smithy.php");
define("CLASS_AUCTION", CLASS_DIR."class.auction.php");
define("GLOBAL_PHP", CLASS_DIR."global.php");
define("COLOR_FILE", CLASS_DIR."Color.dat");
 
// DATA FILE
define("DATA_DIR", "./data/");
define("DATA_BASE_CHAR", DATA_DIR."data.base_char.php");
define("DATA_JOB", DATA_DIR."data.job.php");
define("DATA_ITEM", DATA_DIR."data.item.php");
define("DATA_ENCHANT", DATA_DIR."data.enchant.php");
define("DATA_SKILL", DATA_DIR."data.skill.php");
define("DATA_SKILL_TREE", DATA_DIR."data.skilltree.php");
define("DATA_JUDGE_SETUP", DATA_DIR."data.judge_setup.php");
define("DATA_JUDGE", DATA_DIR."data.judge.php");
define("DATA_MONSTER", DATA_DIR."data.monster.php");
define("DATA_LAND", DATA_DIR."data.land_info.php");
define("DATA_LAND_APPEAR", DATA_DIR."data.land_appear.php");
define("DATA_CLASSCHANGE", DATA_DIR."data.classchange.php");
define("DATA_CREATE", DATA_DIR."data.create.php");
define("DATA_TOWN", DATA_DIR."data.town_appear.php");
 
define("MANUAL", DATA_DIR."data.manual0.php");
define("MANUAL_HIGH", DATA_DIR."data.manual1.php");
 
define("GAME_DATA_JOB", DATA_DIR."data.gd_job.php");
define("GAME_DATA_ITEM", DATA_DIR."data.gd_item.php");
define("GAME_DATA_JUDGE", DATA_DIR."data.gd_judge.php");
define("GAME_DATA_MONSTER", DATA_DIR."data.gd_monster.php");
 
define("TUTORIAL", DATA_DIR."data.tutorial.php");
// DAT
define("AUCTION_ITEM","./auction.dat");//アイテムオ〖クション脱のファイル
define("AUCTION_ITEM_LOG","./auction_log.dat");//アイテムオ〖クション脱のログファイル
 
define("REGISTER","./register.dat");
define("UPDATE","./update.dat");
define("CTRL_TIME_FILE","./ctrltime.dat");//年袋瓷妄のための箕粗淡脖ファイル
define("RANKING","./ranking.dat");
define("BBS_BOTTOM","./bbs.dat");
define("BBS_TOWN","./bbs_town.dat");
define("MANAGE_LOG_FILE","./managed.dat");//年袋瓷妄淡峡ファイル
define("USER_NAME","./username.dat");//叹涟瘦赂ファイル
 
// dir
define("IMG_CHAR","./image/char/");
define("IMG_CHAR_REV","./image/char_rev/");
define("IMG_ICON","./image/icon/");
define("IMG_OTHER","./image/other/");
define("USER","./user/");
define("UNION","./union/");
define("DATA","data.dat");
define("ITEM","item.dat");
 
define("LOG_BATTLE_NORMAL","./log/normal/");
define("LOG_BATTLE_RANK","./log/rank/");
define("LOG_BATTLE_UNION","./log/union/");
 
// 觉轮年盗
define("FRONT","front");
define("BACK","back");
 
define("TEAM_0",0);
define("TEAM_1",1);
define("WIN",0);
define("LOSE",1);
define("DRAW","d");
 
define("ALIVE",0);
define("DEAD",1);
define("POISON",2);
 
define("CHARGE",0);
define("CAST",1);
 
?>
 
卓越飞翔博客
上一篇: 生成抖音卡片自动跳转到微信指定页面引流
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏