- 浏览: 140925 次
- 性别:
- 来自: 西安
最近访客 更多访客>>
文章分类
- 全部博客 (160)
- 电话实名 (1)
- coding (3)
- firefox (3)
- 杀人游戏 (6)
- myspace (3)
- 八路军西安办事处 (0)
- domain (1)
- IIS (1)
- Google (4)
- paper english abstract (1)
- Code (11)
- 求租 (3)
- 卧铺 (3)
- nakedXP (1)
- static cast (1)
- 密码被盗 (1)
- 端午节 (3)
- acrobat reader (3)
- mfc (3)
- 模态对话框 (3)
- IMPLEMENT DYNAMIC (3)
- OnOK (3)
- cpp (3)
- 我的文档 (1)
- 快乐生活 (1)
- 下载 (4)
- Site Log (6)
- 参考消息 (3)
- 逃税 (0)
- utf8 (3)
- style (3)
- vc++ (9)
- sbm (3)
- wordpress (10)
- 话题广告 (3)
- memsic (6)
- mozine (3)
- 微软 (3)
- SEO (3)
- learning english (3)
- 保护 (3)
- 健身 (12)
- Groundhog Day (0)
- ELLA (6)
- 占星术 (3)
- 作者 (3)
- CWnd (5)
- 走钢丝 (3)
最新评论
这是一个很经典的游戏系列,在我本科的时候,常常和同学一起游戏,通宵达旦,比拼谁能早日统一全中国。游戏里可以自建武将,但是挑来跳去,很难挑到一个武力高强,又不是白痴的人物。于是乎,偶就偷偷摸摸翻了几本c语言的教程,写了一段小程序,用来修改自建武将的资料。现在看来,那个时候面向过程的编程方法着实可爱 : ) 源代码如下:
下载: sango.c
#include "stdio.h"
/*这里需要填写各武将的资料*/
struct genenral
{
long position;
int wuli;
int zhili;
int dengchang;
int tili;
int jili;
int nannv;
}genrl[50];
save(FILE *fp,int i)
{
fseek(fp, -1L, 1);
printf("%-6d", i);
genrl[i].position = ftell(fp);
genrl[i].wuli = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].wuli);
genrl[i].zhili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].zhili);
genrl[i].dengchang = fgetc(fp);
fseek(fp, 1L, 1);
genrl[i].tili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].tili);
genrl[i].jili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].jili);
genrl[i].nannv = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d\n", genrl[i].nannv);
}
writeback(FILE *fp, int i)
{
fseek(fp,genrl[i].position,0);
fputc(genrl[i].wuli, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].zhili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].dengchang, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].tili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].jili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].nannv, fp);
fseek(fp, 1L, 1);
}
main()
{
int i,t;
FILE *fp;
if((fp = fopen("NewGen~1.sav", "rb+")) == NULL)
{
printf("no saved file!\n");
printf("该程序在Win98下测试通过,请将其拷贝到Sango3存档目录下使用\n");
printf("制作:http://isdox.com\n");
getch();
}
else
{
printf("制作:http://isdox.com\n");
printf(" 下面是自建武将内容:\n");
for(;;)
{
printf("序号 武力 智力 体力 技力 男女\n");
rewind(fp);
fseek(fp,116L,0);
for(i = t = 0; i < 50; i++)
{
if((fgetc(fp)) != 0)
{
save(fp, t);
fseek(fp, 50L, 1);
t++;
}
else
fseek(fp, 61L, 1);
}
getch();
printf("请输入要修改的武将序号,若要退出请输入-1");
scanf("%d", &i);
if(i < 0 || i > 49)
break;
else
{
printf("武力=%-3d,修改y/n?", genrl[i].wuli);
getchar();
if(getchar() == 'y')
{
printf("\t武力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].wuli = t;
}
printf("智力=%-3d,修改y/n?", genrl[i].zhili);
getchar();
if(getchar() == 'y')
{
printf("\t智力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].zhili = t;
}
printf("体力=%-3d,修改y/n?", genrl[i].tili);
getchar();
if(getchar() == 'y')
{
printf("\t体力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].tili = t;
}
printf("技力=%-3d,修改y/n?", genrl[i].jili);
getchar();
if(getchar() == 'y')
{
printf("\t技力=?");
scanf("%d",&t);
if(t < 1 || t > 255)
t = 255;
genrl[i].jili = t;
}
writeback(fp, i);
}
}
}
fclose(fp);
}
/*这里需要填写各武将的资料*/
struct genenral
{
long position;
int wuli;
int zhili;
int dengchang;
int tili;
int jili;
int nannv;
}genrl[50];
save(FILE *fp,int i)
{
fseek(fp, -1L, 1);
printf("%-6d", i);
genrl[i].position = ftell(fp);
genrl[i].wuli = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].wuli);
genrl[i].zhili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].zhili);
genrl[i].dengchang = fgetc(fp);
fseek(fp, 1L, 1);
genrl[i].tili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].tili);
genrl[i].jili = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d", genrl[i].jili);
genrl[i].nannv = fgetc(fp);
fseek(fp, 1L, 1);
printf("%-6d\n", genrl[i].nannv);
}
writeback(FILE *fp, int i)
{
fseek(fp,genrl[i].position,0);
fputc(genrl[i].wuli, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].zhili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].dengchang, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].tili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].jili, fp);
fseek(fp, 1L, 1);
fputc(genrl[i].nannv, fp);
fseek(fp, 1L, 1);
}
main()
{
int i,t;
FILE *fp;
if((fp = fopen("NewGen~1.sav", "rb+")) == NULL)
{
printf("no saved file!\n");
printf("该程序在Win98下测试通过,请将其拷贝到Sango3存档目录下使用\n");
printf("制作:http://isdox.com\n");
getch();
}
else
{
printf("制作:http://isdox.com\n");
printf(" 下面是自建武将内容:\n");
for(;;)
{
printf("序号 武力 智力 体力 技力 男女\n");
rewind(fp);
fseek(fp,116L,0);
for(i = t = 0; i < 50; i++)
{
if((fgetc(fp)) != 0)
{
save(fp, t);
fseek(fp, 50L, 1);
t++;
}
else
fseek(fp, 61L, 1);
}
getch();
printf("请输入要修改的武将序号,若要退出请输入-1");
scanf("%d", &i);
if(i < 0 || i > 49)
break;
else
{
printf("武力=%-3d,修改y/n?", genrl[i].wuli);
getchar();
if(getchar() == 'y')
{
printf("\t武力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].wuli = t;
}
printf("智力=%-3d,修改y/n?", genrl[i].zhili);
getchar();
if(getchar() == 'y')
{
printf("\t智力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].zhili = t;
}
printf("体力=%-3d,修改y/n?", genrl[i].tili);
getchar();
if(getchar() == 'y')
{
printf("\t体力=?");
scanf("%d", &t);
if(t < 1 || t > 255)
t = 255;
genrl[i].tili = t;
}
printf("技力=%-3d,修改y/n?", genrl[i].jili);
getchar();
if(getchar() == 'y')
{
printf("\t技力=?");
scanf("%d",&t);
if(t < 1 || t > 255)
t = 255;
genrl[i].jili = t;
}
writeback(fp, i);
}
}
}
fclose(fp);
}
存档文件下载在这里
c, code, 三国群英传, 游戏修改发表评论
-
MSDN:volatile 声明符
2007-07-27 12:47 953volatile 声明符 volatile关键字是一个类型限定 ... -
三国群英传3
2007-05-14 07:35 805这是一个很经典的游戏系列,在我本科的时候,常常和同学一起游戏, ... -
三国群英传3
2007-05-14 07:35 1042这是一个很经典的游戏系列,在我本科的时候,常常和同学一起游戏, ... -
一道应聘程序员的笔试题目
2006-12-10 13:14 1281同学应聘程序员,接到这样的一道笔试题目,要我帮忙。我二话不说, ... -
认识php的变量类型
2006-12-10 13:20 1929最近为了修改模板,开始一点点地看php的源码.这是我接触的第一 ... -
发现mozine主题的一个小bug以及添加guestbook
2006-12-13 14:06 1935从theme8发现mozine theme有 ... -
DomainCreator 1.0 源代码(for 初学者)
2006-12-18 16:35 801当初为了申请域名,一直想不到一个又短又好记的词,想得到的都已经 ... -
更新dashboard后台的index.php至2.0.5版
2006-12-20 15:58 1292以前发过一篇文章,说到为什么WordPress进入后台的时候启 ... -
模仿VC6.0界面代码的类关系
2006-12-26 12:27 866以前在vckbase下了个模仿VC6.0界面的代码包,有两个 ... -
软件提交成功!
2006-12-31 14:54 760前几日在skycn上提交了DomainCreator,昨天收到 ...
相关推荐
"《三国群英传》所有武将登场时间.pdf" 《三国群英传》是根据中国古典小说《三国演义》改编的电子游戏系列,本资源摘要信息总结了游戏中所有武将的登场时间。该游戏系列以三国时期为背景,玩家可以扮演不同的武将,...
《三国群英传》是一款深受玩家喜爱的历史策略游戏,源于台湾奥汀科技的开发,以其独特的战争模拟和角色扮演相结合的玩法,吸引了大量的忠实粉丝。本项目是基于Unity3D引擎制作的一款三国群英传的复刻版,旨在提供与...
《三国群英传》是一款深受玩家喜爱的历史策略游戏,其背后的数据系统构成了游戏的核心部分,即所谓的“三国群英传数据库”。这个数据库包含了游戏中的各种信息,如武将、兵种、道具、城市、战役等,是游戏运行的基础...
_《三国群英传7》全物品数量上限图表知识点汇编 《三国群英传7》是一款非常受欢迎的游戏,在游戏中物品数量的上限是一个非常重要的概念。了解游戏中的物品数量上限可以帮助玩家更好地进行游戏战略规划和资源管理。...
非常简易的三国群英传2的存档文件分析工具,可以导出所有武将数据到列表,VS2010 C++编译通过。验证游戏为Sanguo2cm1.4.1版。也许存在游戏版本兼容问题,仅供参考。也可做ListControl控件,ComboBox控件的使用参考和...
非常怀念经典游戏《三国群英传》系列,想着要是能在移动平台上可以玩那就太好了 打包下载: https://sourceforge.net/projects/sangoqy01/files/ SVN版本控制: svn checkout svn://svn.code.sf.net/p/sangoqy...
"三国群英传7添加新势力及新武将资料" 从给定的文件信息可以看出,这篇文章主要讲述了在三国群英传7游戏中添加新势力及新武将的方法。下面是从文件中提取的知识点: 1. 添加新武将的方法:首先需要修改General01....
Unity和C#-游戏开发-三国群英传 武将天赋版+源代码工程
完整的三国群英传源码+外加16个小游戏, 代码是自己扣下来的 三国时代是中国的一个历史时期。东汉末年,曹操统一中国北方并实际上以丞相的职位掌握东汉政权,取得“魏王” 称号,加九锡。西元220年,曹操病逝,其...
【Unity游戏源码分享-三国群英传 武将天赋版】这个项目是基于Unity引擎开发的一款三国题材的游戏源码,旨在提供一个学习和参考的平台,帮助开发者深入理解Unity在游戏开发中的应用,特别是角色扮演(RPG)类游戏的...
Unity3D三国群英传完整源码 三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大对决的战场上,采用了可调整镜头远近、具有3D景观的视角,武将技在高彩模式...
三国群英传8秘籍指南 在《三国群英传8》游戏中,秘籍是游戏的核心部分,掌握秘籍可以让玩家更好地游戏。下面是《三国群英传8》秘籍指南,涵盖了游戏的各个方面。 秘籍使用方法 在游戏中,可以使用Ctrl键打开秘籍...
《三国群英传7》超级存档
"三国群英传7秘籍大全" 本资源是关于三国群英传7游戏的秘籍大全,包含了游戏中各种秘籍、兵种、武器、道具、技能、武将、坐骑等信息。本资源适合三国群英传系列游戏的玩家和爱好者,帮助他们更好地了解游戏机制和...
高分项目,基于Unity3D开发实现的三国群英传-武将天赋版,内含完整源码+资源 Unity3D三国群英传完整源码三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大...
非常简易的三国群英传2的存档文件分析工具,可以导出所有武将数据到列表,VS2010 C++编译通过。验证游戏为Sanguo2cm1.4.1版。也许存在游戏版本兼容问题,仅供参考。也可做ListControl控件,ComboBox控件的使用参考和...
"三国群英传7所有武将技以与情义技" 在《三国群英传7》游戏中,玩家可以选择不同的武将,每个武将都具有其独特的技巧和战斗风格。这些技巧可以分为多种类型,例如攻击、防御、辅助等。以下是游戏中武将的技巧列表:...
Unity3D三国群英传游戏完整源代码,开发环境Unity3D-4.3.4,仅供学习设计参考。 三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大对决的战场上,采用了...
"三国群英传7武将特性及说明" 本资源摘要信息对应的内容是三国群英传7武将的特性及说明。以下是对这些特性的解释和总结: 战斗特性 * 骁勇:大幅增加必杀技发动机率 * 战意:增加必杀技发动机率 * 斗志:增加单挑...
Unity3D版本游戏源码三国群英传 武将天赋版提取方式是百度网盘分享地址