三国杀 英雄杀和三国杀哪个早源码 安装

【伪福利】自己写的秒杀脚本,源代码放松,足以应付明天的秒杀!_三国杀吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,612,708贴子:
【伪福利】自己写的秒杀脚本,源代码放松,足以应付明天的秒杀!
FindPic 0,0,,&Attachment:\手气卡1.bmp&,1,intX,intYIf intX & 0 And intY & 0 ThenMoveTo intX, intYDelay 10LeftClick 1
Delay 10FindPic 0,0,,&Attachment:\手气卡2.bmp&,1,intA,intBIf intA & 0 And intB & 0 ThenMoveTo intA, intBDelay 10LeftClick 1
Delay 10FindPic 0,0,,&Attachment:\手气卡3.bmp&,1,intC,intDIf intC & 0 And intD & 0 ThenMoveTo intC, intDDelay 10LeftClick 1End IfEnd IfEnd If下载个,截图三个图,分别是凌统商城图,购买图,确认购买&是“图
2017春晚趣味表情包来袭
你有一个新年礼包等待领取
等了好久终于等到除夕,...
年宵花开喜迎春,鸡年吉...
这年头,没有对象都不好...
用年终奖买年货
读原创小故事,看原创新...
你们老家也有奇葩的春节...
T台看秀闪耀国际时尚圈 。
相比近几年的科幻片来说...
还有坐火车硬座必备的各...
听说《斗破苍穹》被拍成...
好的话剧,坚决不能错过,价格也很重要!
额,原来是写的,怪不得看不出是什么语言
前提是十二点之前能起来
不明觉厉----------------------逃避有两种:我们把有目的的逃避叫做飞翔,把没有目的的逃避叫做漂浮。
同为IT[DOG FACE]帮顶
恩,挺好的。不过我想说的是,就算是999,我也不买~~
你陪了我多少年,花开花落,一路上起起跌跌o( ̄ヘ ̄o)   --来自节操值满格的墨笔_浮夸=_=
贴吧热议榜
使用签名档&&
保存至快速回贴4665人阅读
Android(25)
三国杀作为一款原创,有别于其他桌面游戏的最主要特色,就是身份系统。中共有4种身份:、、忠臣、。和忠臣的任务就是剿灭反贼,清除;反贼的任务则是推翻主公。则要在场上存在除以外的其他人物之时先清除其他人物,最后单挑主公。游戏开始时每个玩家随机抽取一张,抽到的玩家,要将自己的身份牌明示。其他人的不能被其他玩家看到。
三国杀作为市场上众多三国题材游戏的一员,将三国历史与桌面游戏进行了完美的“联姻”。以桌面游戏独有的方式向玩家展示了一个个鲜活的三国人物,一段段精彩的三国故事。三国杀里每一名武将的技能都是从这名武将的生平履历或性格特点中而来。如孙尚香的独有技能名称就叫做“联姻”,技能的使用方法也包含着联姻的意味。许多玩家之前没读过三国,却从三国杀中吕蒙的技能名称“克己”里了解到了“刮目相看”、“吴下阿蒙”和“白衣渡江”的典故,诸如此类,不胜枚举。
三国杀海报
三国杀在游戏牌名称的设计上力求做到“语出必有典”,例如【乐不思蜀】牌下注明“问禅曰:‘颇思蜀否?’禅曰:‘此间乐,不思蜀。’”简单的几句话就讲述了乐不思蜀的典故。一张看似简单的【无中生有】,牌下的注释却是引自博大精深的《老子》:“天下万物生于有,有生于无。”这些注释在资料庞杂的电脑电视游戏中也许不会被玩家所关注,但是当这些文学的养料,出现在一张小小的卡牌上,却赋予了这张卡牌丰富的教学意义以及厚重的文化底蕴。
三国杀-八卦阵
三国杀卡牌所用的所有图片均为原创,游戏牌的绘画采用了中国传统的水墨风格与现代钢笔速写相融合的画风,写意、工笔兼而有之。豪放之中,不失婉约。游戏之余,足可供收藏把玩之用。三国杀的武将牌更是集合了中国当代优秀青年插画师的杰作。不同于“郑问三国”的浓墨渲染,不同于“光荣三国”的日式雕琢,三国杀中每个武将都具备了插画师浓重的个人风格。
抛开三国杀的产品本身而言。三国杀这款游戏就游戏的娱乐性及竞技性而言也是十分成功的。三国杀简单易学,是一个“低门槛”游戏,初次接触三国杀的玩家,用很短时间掌握基本规则后即可游戏,游戏中不同的武将技能,不同的打法组合都可以带给初次接触的玩家意外的惊喜。玩家也可以不用策划,不用谋略,只要玩的痛快、杀的过瘾就可以。三五个好朋友组成一个“欢乐局”,大家有说有笑,无论忠臣反贼,不用机关算尽,开心就好。但是门槛低并不代表三国杀是一个纯娱乐的休闲游戏,它也有竞技性的一面,在游卡桌游连续举办的七届三国杀王者之战上,来自全国各地的选手汇聚一堂,展示了三国杀千变万化打法的无穷魅力。新的竞技模式3V3更是将三国杀的竞技性推向了一个新的高度。
除去娱乐性与竞技性,三国杀作为一款桌游,也和其他桌游一样,是一款健康的游戏。玩家大可不必向电脑游戏那样对着显示器一坐几个小时。一局三国杀多则三、四十分钟,少则十几分钟。轻松自在,大可在公司午休时来上一局。是做一名羽扇轻摇,指点江山的谋士,还是做一名勇冠三军,冲锋陷阵的猛将,任由玩家选择。[1]
三国杀最初的设计者为黄恺(KayaK),他自幼喜爱游戏,并不满足于既有规则,喜欢加以自己的改造。小学的时候,他开始自己绘图,设计游戏规则并与好友及表弟表妹玩。初三时,他迷上了漫画《游戏王》,仿画了千余幅卡牌,并自认“画画的功夫可能就是那时候练出来的”。由于对游戏强烈的喜好,高考时他报考了中国传媒大学新设的互动艺术专业,并如愿被录取。
2006年,黄恺发现一个桌游论坛,并从中了解到西直门附近有一间吧。他在桌游吧玩了很多种桌游,并萌生了创造中国人自己的桌游的想法。他开始尝试把Bang!游戏的角色替换成好友、舍友、老师等,并度身定做了“独门绝技”。之后他又想到使用既有浓郁中国色彩又有广泛群众基础的三国故事做背景设定,黄恺用了一个晚上,用电脑重新制作了《三国无双》的图片,并根据三国人物的性格制定了游戏的规则。第二天他拿到打印店打印出来,这就是三国杀最初的雏形。这副牌受到了同学的极大欢迎,于是黄恺和搭档李由(Yoyu)决定通过淘宝网销售。杜彬在网上发现了这套纸牌,并成为第十个购买者。出于对游戏的热爱,杜彬接结识了黄恺并成为朋友。日,游卡桌游的三位创始人杜彬、黄恺、李由凑出5万块钱发布了第一个印刷版本也是第一批正式产品的的三国杀。该版本限量5000套卡牌,其中1000套还带有限量收藏编码。因外包装绘有“龙王当道”,因此又被称为“龙版三国杀”。[2]
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:188909次
积分:2343
积分:2343
排名:第13094名
原创:52篇
评论:145条
(1)(1)(4)(3)(9)(1)(1)(4)(1)(1)(2)(2)(1)(1)(3)(1)(1)(3)(1)(2)(1)(3)(1)(1)(2)(3)(1)(4)5669人阅读
跨平台-QT(45)
按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装好了vs2008和QT4.7,因此下载QT4.8.2后直接安装,并在vs2008的QT菜单中点击QT Options子菜单,设置默认的QT/Win版本为4.8.2.使用vs2008打开QSanguosha.pro工程文件,转换为QSanguosha.sln.这时编译程序报无法找到fmodex.lib文件,这个文件是directx的声音文件库.搜索三国杀源码目录,可以找到,直接在项目属性中设置lib搜索路径,添加&./lib&即可成功编译.
后面逐步分析源码。
一、启动界面
& 从main函数中开始跟踪,找到如下代码
&&& MainWindow *main_window = new MainW
&&& Sanguosha-&setParent(main_window);
&&& main_window-&show();
& 在MainWindow类的构造函数中,创建连接对话框和配置对话框实例,并将其exec()/show()槽与Action的triggered信号关联,Action触发时显示对话框,并将对话框的信号与相应处理槽函数关联,一行代码搞定,代码简洁高效.
&&& connection_dialog = new ConnectionDialog(this);
&&& connect(ui-&actionStart_Game, SIGNAL(triggered()), connection_dialog, SLOT(exec()));
&&& connect(connection_dialog, SIGNAL(accepted()), this, SLOT(startConnection()));
&&& config_dialog = new ConfigDialog(this);
&&& connect(ui-&actionConfigure, SIGNAL(triggered()), config_dialog, SLOT(show()));
&&& connect(config_dialog, SIGNAL(bg_changed()), this, SLOT(changeBackground()));
&&& connect(ui-&actionAbout_Qt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
& 接着创建启动场景(start_scene),并创建启动画面中的10个启动按钮,将10个Action对象存入一个QList中,其中每个Action都对应创建一个按钮(Button类,继承与QGraphicsObject),并添加到启动场景(start_scene)中.
&&& StartScene *start_scene = new StartS
&&& QList&QAction*&
&&& actions && ui-&actionStart_Game
&&&&&&&&&&& && ui-&actionStart_Server
&&&&&&&&&&& && ui-&actionPC_Console_Start
&&&&&&&&&&& && ui-&actionReplay
&&&&&&&&&&& && ui-&actionConfigure
&&&&&&&&&&& && ui-&actionGeneral_Overview
&&&&&&&&&&& && ui-&actionCard_Overview
&&&&&&&&&&& && ui-&actionScenario_Overview
&&&&&&&&&&& && ui-&actionAbout
&&&&&&&&&&& && ui-&actionA
&&& foreach(QAction *action, actions)
&&&&&&& start_scene-&addButton(action);
& 创建一个QGraphicView对象,并显示在主窗体的中心位置,设置view的场景为启动场景.
&&& view = new FitView(scene);
&&& setCentralWidget(view);
&&& restoreFromConfig();
&//让view显示start_scene
&&& gotoScene(start_scene);
&二、Button类
& 启动界面的按钮效果很酷,鼠标滑过有动画效果,并且有声音,和大型网游效果很像.其实现很简单,Button类是从QGraphicObject继承的,在其内部处理鼠标事件和自绘.首先看Button的构造函数,里面直接调用了一个Init成员函数,Init函数中设置Button可接收焦点,可接收鼠标悬停事件,并根据构造函数的title参数创建一个QGraphicsPixmapItem对象,在其上drawText按钮的标题文字,在当前对象的位置之上显示这个图像,注意这个图像对象是在Button的构造函数中show出来的,因此其总会在Button实例的上方,但其不能接受焦点和鼠标事件,因此不影响Button对象对鼠标事件的处理.接着加载指定的按钮图像,并缩放为目标大小,存储在outimg成员中.
& setFlags(ItemIsFocusable);
&&& setAcceptHoverEvents(true);
&&& setAcceptedMouseButtons(Qt::LeftButton);
&&& title = new QPixmap(size.toSize());
&&& title-&fill(QColor(0,0,0,0));//填充完全透明的黑色,这样只能显示绘制的文字,其他部分不会覆盖底层图元
&&& QPainter pt(title);
&&& pt.setFont(font);
&&& pt.setPen(Config.TextEditColor);
&&& pt.setRenderHint(QPainter::TextAntialiasing);
&&& pt.drawText(boundingRect(), Qt::AlignCenter, label);
&&& title_item = new QGraphicsPixmapItem(this);
&&& title_item-&setPixmap(*title);
&&& title_item-&show();
&&& ......
& QImage bgimg(&image/system/button/button.png&);
&&& outimg = new QImage(size.toSize(),QImage::Format_ARGB32);
&&& qreal pad = 10;
&&& int w = bgimg.width();
&&& int h = bgimg.height();
&&& int tw = outimg-&width();
&&& int th& =outimg-&height();
&&& qreal xc = (w - 2*pad)/(tw - 2*pad);
&&& qreal yc = (h - 2*pad)/(th - 2*pad);
&&& for(int i=0;i&i++)
&&&&&&& for(int j=0;j&j++)
&&&&&&&&&&& int x =
&&&&&&&&&&& int y =
&&&&&&&&&&& if( x&=pad && x&=(tw - pad) ) x = pad + (x - pad)*
&&&&&&&&&&& else if(x&=(tw-pad))x = w - (tw - x);
&&&&&&&&&&& if( y&=pad && y&=(th - pad) ) y = pad + (y - pad)*
&&&&&&&&&&& else if(y&=(th-pad))y = h - (th - y);
&&&&&&&&&&& QRgb rgb = bgimg.pixel(x,y);
&&&&&&&&&&& outimg-&setPixel(i,j,rgb);
& Button类的paint虚方法重载实现很简单,直接绘制outimg图像,并根据动画效果需要在图像上方绘制一个白色半透明的矩形区域.
& QRectF rect = boundingRect();
&&& painter-&drawImage(rect,*outimg);
&&& painter-&fillRect(rect,QColor(255,255,255,glow*10));
为了实现动画效果,鼠标划入时触发的hoverEnterEvent事件中设置按钮拥有焦点,播放声音,并调用QObject::startTimer函数启动定时器,在timerEvent事件中调用update函数触发重绘,并增减glow变量,调整按钮上方绘制的矩形区域的透明度----当按钮拥有焦点时增加可见度,呈现淡白色朦胧效果,失去焦点则减少可见度,直到使按钮图片完全显示出来.
void Button::hoverEnterEvent(QGraphicsSceneHoverEvent *){
&&& setFocus(Qt::MouseFocusReason);
#ifdef AUDIO_SUPPORT
&&& if(!mute)
&&&&&&& Sanguosha-&playAudio(&button-hover&);
&&& if(!timer_id)timer_id = QObject::startTimer(40);
void Button::timerEvent(QTimerEvent *)
&&& update();
&&& if(hasFocus())
&&&&&&& if(glow&5)glow++;
&&&&&&& if(glow&0)glow--;
&&&&&&& else if(timer_id)
&&&&&&&&&&& QObject::killTimer(timer_id);
&&&&&&&&&&& timer_id = 0;
& 太阳神三国杀中声音很流畅亮丽.实现采用开源跨平台的游戏声音引擎fmod,详细内容请参见:.内部将fmod操作封装在Sound类中,这个类很简单,数行代码而已.
static FMOD_SYSTEM *S
static FMOD_SOUND *BGM;
static FMOD_CHANNEL *BGMC
class Sound{
&&& Sound(const QString &filename)
&&&&&&& :sound(NULL), channel(NULL)
&&&&&&& FMOD_System_CreateSound(System, filename.toAscii(), FMOD_DEFAULT, NULL, &sound);
&&& ~Sound(){
&&&&&&& if(sound)
&&&&&&&&&&& FMOD_Sound_Release(sound);
&&& void play(){
&&&&&&& if(sound){
&&&&&&&&&&& FMOD_RESULT result = FMOD_System_PlaySound(System, FMOD_CHANNEL_FREE, sound, false, &channel);
&&&&&&&&&&& if(result == FMOD_OK){
&&&&&&&&&&&&&&& FMOD_Channel_SetVolume(channel, 1.000/*Config.EffectVolume*/);
&&&&&&&&&&&&&&& FMOD_System_Update(System);
&&&&&&&&&&& }
&&& bool isPlaying() const{
&&&&&&& if(channel == NULL)
&&&&&&&&&&&
&&&&&&& FMOD_BOOL is_playing =
&&&&&&& FMOD_Channel_IsPlaying(channel, &is_playing);
&&&&&&& return is_
&&& FMOD_SOUND *
&&& FMOD_CHANNEL *
在项目启动时初始化fmod:
&&& FMOD_RESULT result = FMOD_System_Create(&System);
&&& if(result == FMOD_OK){
&&&&&&& FMOD_System_Init(System, 100, 0, NULL);
在项目结束时释放fmod:
&&& if(System){
&&&&&&& SoundCache.clear();
&&&&&&& FMOD_System_Release(System);
&&&&&&& System = NULL;
注意,fmod需要6个头文件:fmod.h,fmod_codec.h,fmod_dsp.h,fmod_errors.h,fmod_memoryinfo.h,fmod_output.h,以及一个lib文件fmodex.lib,一个dll文件fmodex.dll.可以直接将上面的类和8个文件移植到自己的项目中使用,测试通过.唯一需要注意的是Sound对象的析构函数中会结束音频播放,因此如果声明了一个临时变量,需要等待声音播放完毕才能跳出Sound对象的作用域,否则声音未等播放已经结束了.
& 四、如何进入到RoomScene
& 进入游戏后需要首先点击Start Server按钮建立服务端,再点击Start game菜单,重新启动一个进程,在新进程中点击Start game按钮,弹出连接窗体,输入服务器IP地址及用户名后可以加入到游戏中,直接进入正式游戏界面.这里创建了两个进程,第一个是服务端,第二个是客户端.为了跟踪第二个exe进程,需要首先直接启动一个exe进程,在启动第二个进程后,点击vs2008的调试菜单--附加到进程,找到第二个三国杀进程,即可在源码中设置断点跟踪了.这里描述一下客户端建立游戏的过程.
& 点击Start game按钮后,弹出一个连接窗体,窗口对象的accepted信号与startConnection槽相关联,点击连接按钮后,触发这个函数,创建Client类的实例,在其version_checked信号的响应函数checkVersion中,判断客户端与服务端的版本号是否匹配,如果匹配则与服务端建立连接,客户端对象的server_connected信号触发enterRoom函数,进入到游戏界面.
connect(connection_dialog, SIGNAL(accepted()), this, SLOT(startConnection()));& //构造函数中连接窗体返回触发startConnection
//startConnection函数启动Client对象,并设置信号与槽的连接
void MainWindow::startConnection(){
&&& Client *client = new Client(this);
&&& connect(client, SIGNAL(version_checked(QString,QString)), SLOT(checkVersion(QString,QString)));
&&& connect(client, SIGNAL(error_message(QString)), SLOT(networkError(QString)));
//checkVersion中比较版本号,并进入到游戏界面
void MainWindow::checkVersion(const QString &server_version, const QString &server_mod){
&&& QString client_mod = Sanguosha-&getMODName();
&&& if(client_mod != server_mod){
&&&&&&& QMessageBox::warning(this, tr(&Warning&), tr(&Client MOD name is not same as the server!&));
&&& Client *client = qobject_cast&Client *&(sender());
&&& QString client_version = Sanguosha-&getVersionNumber();
&&& if(server_version == client_version){
&&&&&&& client-&signup();
&&&&&&& connect(client, SIGNAL(server_connected()), SLOT(enterRoom()));
&&&&&&& if(qApp-&arguments().contains(&-hall&)){
&&&&&&&&&&& HallDialog *dialog = HallDialog::GetInstance(this);
&&&&&&&&&&& connect(client, SIGNAL(server_connected()), dialog, SLOT(accept()));
& 再看一下核心函数enterRoom.设置好服务端IP地址并登陆成功后,触发这个函数.首先将这个IP地址保存在Config中.设置相关Action的Enabled属性使相应按钮和菜单失效变灰.创建RoomScene对象,进行相关设置.最后调用gotoScene(room_scene);切换到游戏界面.
& 五、游戏界面的创建
& 游戏界面的元素完全创建在RoomScene场景类中,只要打开游戏查看效果并对照代码和image\system目录中的图片,即可分析出对应界面是如何创建出来的.下面逐一解读.首先根据从游戏服务端获取的玩家总数,生成代表每个异地玩家的图标.
&&& //创建代表其他玩家的头像,不用创建当前玩家
&&& for(i = 0; i & player_count - 1;i++){
&&&&&&& Photo *photo = new P
&&&&&&& photos &&
&&&&&&& addItem(photo);
&&&&&&& photo-&setZValue(-0.5);
& 接着创建操作面板,这个操作面板包括界面上的按钮区域,还有当前玩家的装备区和手牌区域.
&//添加右下方的操作面板及按钮
&&&&&&& createControlButtons();
&&&&&&& QGraphicsItem *button_widget = NULL;
&&&&&&& if(ClientInstance-&getReplayer() == NULL){
&&&&&&&&&&& QString path = &image/system/button/irregular/background.png&;
&&&&&&&&&&& button_widget = new QGraphicsPixmapItem(QPixmap(path));
&&&//四个不规则按钮
&&&&&&&&&&& ok_button-&setParentItem(button_widget);
&&&&&&&&&&& cancel_button-&setParentItem(button_widget);
&&&&&&&&&&& discard_button-&setParentItem(button_widget);
&&&&&&&&&&& trust_button-&setParentItem(button_widget);
&&&&&&& // create dashboard 仪表盘 包括玩家装备和手牌区域
&&&&&&& dashboard = new Dashboard(button_widget);
&&&&&&& dashboard-&setObjectName(&dashboard&);
&&&&&&& //dashboard-&setZValue(0.8);
&&&&&&& addItem(dashboard);
& 调用createStateItem();函数创建选择反贼和英雄的两个按钮.
& 创建聊天区域控件:
&&&&&&& chat_box = new QTextE
&&&&&&& QSize chat_box_size = room_layout-&chat_box_
&&&&&&& chat_box_size.rwidth() += widen_
&&&&&&& chat_box-&resize(chat_box_size);
&&&&&&& chat_box-&setObjectName(&chat_box&);
&&&&&&& chat_box_widget = addWidget(chat_box);
& 输入聊天信息的textEdit控件:
&&&&&&& chat_edit = new QLineE
&&&&&&& chat_edit-&setFixedWidth(chat_box-&width());
&&&&&&& chat_edit-&setObjectName(&chat_edit&);
& 右边的系统信息显示框:
&&&&&&& chat_widget = new ChatWidget();
&&&&&&& chat_widget-&setX(chat_box_widget-&x()+chat_edit-&width() - 77);
&&&&&&& chat_widget-&setY(chat_box_widget-&y()+chat_box-&height() + 9);
&&&&&&& chat_widget-&setZValue(-0.2);
&&&&&&& addItem(chat_widget);
& 最底部的两个ComboBox:
&&&&&&& sort_combobox = new QComboB
&&&&&&& sort_combobox-&addItem(tr(&No sort&));
&&&&&&& sort_combobox-&addItem(tr(&Sort by color&));
&&&&&&& sort_combobox-&addItem(tr(&Sort by suit&));
&&&&&&& sort_combobox-&addItem(tr(&Sort by type&));
&&&&&&& sort_combobox-&addItem(tr(&Sort by availability&));
&&&&&&& connect(sort_combobox, SIGNAL(currentIndexChanged(int)), dashboard, SLOT(sortCards(int)));
&&& connect(Self, SIGNAL(pile_changed(QString)), this, SLOT(updatePileButton(QString)));
&&& // add role combobox
&&& role_combobox = new QComboB
&&& role_combobox-&addItem(tr(&Your role&));
&&& role_combobox-&addItem(tr(&Unknown&));
&&& connect(Self, SIGNAL(role_changed(QString)), this, SLOT(updateRoleComboBox(QString)));
& 进入游戏界面的生成基本上介绍完毕,下面将分多个文章分别介绍各个类的作用和实现机制.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1095346次
积分:13266
积分:13266
排名:第742名
原创:130篇
转载:85篇
译文:115篇
评论:211条
文章:10篇
阅读:101734
(1)(2)(1)(14)(3)(6)(5)(1)(3)(1)(1)(1)(1)(1)(3)(2)(2)(2)(2)(11)(14)(4)(4)(8)(8)(7)(10)(7)(11)(10)(1)(3)(1)(1)(1)(1)(1)(5)(1)(1)(1)(7)(3)(5)(3)(2)(10)(2)(3)(1)(8)(11)(6)(1)(1)(11)(71)(22)(1)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
青青子衿,悠悠我心,但为君故,沉吟至今。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
下载完毕以后,将源代码解压缩,会生成一个 QSanguosha 的目录,用 Qt SDK 中的 Qt Creator 打开其中的 QSanguosha.pro 文件,然后会创建一个名为 QSanguosha-build-desktop 的编译目录:&装好 swig 后,记住 swig 的完整路径,打开命令行窗口(开始-&运行-&输入cmd)cd &源代码下的swig目录&&swig.exe的完整路径& -c++ -lua sanguosha.i&&然后就可以编译了正常编译出来后,界面是英文的,这时请使用 Qt SDK 中自带的 Qt Linguist 打开源代码根目录中的 sanguosha.ts 文件,将其发布生成名为 sanguosha.qm 即可。
阅读(8682)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_080',
blogTitle:'太阳神三国杀的的源代码的编译方法(仅限 Windows)',
blogAbstract:'废话我就不多说了,先下载2个东西,Qt SDK与 swigQt: 4.7.0 及以上下载地址:
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}今天同时安装了英雄杀和三国杀_英雄杀吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:508,965贴子:
今天同时安装了英雄杀和三国杀
在三国杀玩的特轻松,英雄杀就要认真点,有高手。
我是妹子,所以只会玩这...
原因就是英雄杀手游,改...
楼主用几个小时的战果图...
白胡子关羽皮肤 我可是...
票牛教你如何买到热门、便宜、真实的演出门票!
因为英雄杀坑逼多的一逼
钓鱼等同那啥?
我朱雀不行,白虎可以。在隔壁由于人物不熟悉有时吃亏。
贴吧热议榜
使用签名档&&
保存至快速回贴

我要回帖

更多关于 三国杀与英雄杀 的文章

 

随机推荐