- 浏览: 141674 次
- 性别:
- 来自: 西安
最近访客 更多访客>>
文章分类
- 全部博客 (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 955volatile 声明符 volatile关键字是一个类型限定 ... -
三国群英传3
2007-05-14 07:35 809这是一个很经典的游戏系列,在我本科的时候,常常和同学一起游戏, ... -
三国群英传3
2007-05-14 07:35 1043这是一个很经典的游戏系列,在我本科的时候,常常和同学一起游戏, ... -
一道应聘程序员的笔试题目
2006-12-10 13:14 1282同学应聘程序员,接到这样的一道笔试题目,要我帮忙。我二话不说, ... -
认识php的变量类型
2006-12-10 13:20 1936最近为了修改模板,开始一点点地看php的源码.这是我接触的第一 ... -
发现mozine主题的一个小bug以及添加guestbook
2006-12-13 14:06 1937从theme8发现mozine theme有 ... -
DomainCreator 1.0 源代码(for 初学者)
2006-12-18 16:35 810当初为了申请域名,一直想不到一个又短又好记的词,想得到的都已经 ... -
更新dashboard后台的index.php至2.0.5版
2006-12-20 15:58 1302以前发过一篇文章,说到为什么WordPress进入后台的时候启 ... -
模仿VC6.0界面代码的类关系
2006-12-26 12:27 874以前在vckbase下了个模仿VC6.0界面的代码包,有两个 ... -
软件提交成功!
2006-12-31 14:54 762前几日在skycn上提交了DomainCreator,昨天收到 ...
相关推荐
《三国群英传》正是这样一款以中国古典文学《三国演义》为背景的策略游戏,它通过电子游戏这一现代媒介,重新演绎了三国时期那波澜壮阔的历史场景。 游戏中玩家可以选择扮演不同的武将角色,而这些角色并非一开始就...
《三国群英传》是一款深受玩家喜爱的历史策略游戏,源于台湾奥汀科技的开发,以其独特的战争模拟和角色扮演相结合的玩法,吸引了大量的忠实粉丝。本项目是基于Unity3D引擎制作的一款三国群英传的复刻版,旨在提供与...
《三国群英传》是一款深受玩家喜爱的历史策略游戏,其背后的数据系统构成了游戏的核心部分,即所谓的“三国群英传数据库”。这个数据库包含了游戏中的各种信息,如武将、兵种、道具、城市、战役等,是游戏运行的基础...
《三国群英传7》超级存档
_《三国群英传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键打开秘籍...
高分项目,基于Unity3D开发实现的三国群英传-武将天赋版,内含完整源码+资源 Unity3D三国群英传完整源码三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大...
在《三国群英传7》这一款策略类游戏中,玩家需要在纷争不断的三国时代中扮演一位武将,通过征伐、策略和智谋来争夺天下。然而,游戏进程中的难度有时会让人望而却步,这就需要用到秘籍来降低难度、加速游戏进程或者...
在充满烽火硝烟的三国乱世中,《三国群英传7》以其独特的战斗系统吸引了一大批玩家。游戏以经典的历史背景为蓝本,融合了角色扮演与策略元素,让玩家置身于一场场酣畅淋漓的战争之中。其中,武将技和情义技是游戏中...
非常简易的三国群英传2的存档文件分析工具,可以导出所有武将数据到列表,VS2010 C++编译通过。验证游戏为Sanguo2cm1.4.1版。也许存在游戏版本兼容问题,仅供参考。也可做ListControl控件,ComboBox控件的使用参考和...
Unity3D三国群英传游戏完整源代码,开发环境Unity3D-4.3.4,仅供学习设计参考。 三国群英传是一款由奥汀(Odin)公司出品的策略性小游戏,游戏的角色头像都是采用3d图会制而成的,在百人对百人大对决的战场上,采用了...
"三国群英传7武将特性及说明" 本资源摘要信息对应的内容是三国群英传7武将的特性及说明。以下是对这些特性的解释和总结: 战斗特性 * 骁勇:大幅增加必杀技发动机率 * 战意:增加必杀技发动机率 * 斗志:增加单挑...
Unity3D版本游戏源码三国群英传 武将天赋版提取方式是百度网盘分享地址