泓泰

格斗游戏的人物移动和出招代码应该怎么写,c++怎么写游戏

admin

本文目录一览

苍翼默示录C++

游戏的脚本不正确
如果题主的电脑不杯剧的话
那题主试下这些方法
1 显示内存不能写入,可能因为不是【shì】正版,所以游戏内的某些【xiē】资【zī】料或者是补丁没【méi】有,所以解决的办法【fǎ】可【kě】以去找找【zhǎo】相关的【de】补丁【dīng】,然后拷贝【bèi】如游戏中看看能否解决【jué】。
2 看看自己【jǐ】的杀毒【dú】软件,很有可【kě】能是杀毒【dú】软件将游戏能一【yī】些无法【fǎ】识别的文【wén】件当【dāng】成了病毒=文【wén】件从而禁止或者删【shān】除了,解【jiě】决方【fāng】法就是去杀毒软件【jiàn】上讲游戏设【shè】置成安全或可信认文件。
3 一些游戏安【ān】装完成后,需要【yào】重新启动计算【suàn】机【jī】,也有可能【néng】题主【zhǔ】没重新启动。
4 题【tí】主【zhǔ】玩的【de】这个我不知道是PC还是PS上的游戏,如果【guǒ】是PS版【bǎn】的【de】话【huà】,可能是模拟【nǐ】器【qì】的损坏【huài】,也可能【néng】是游戏的ISO镜像【xiàng】文件【jiàn】损坏,解决的方【fāng】法只能是重新 了【le】。如果是【shì】PC版的话,也有可能是拷贝时没有将游戏的【de】资料拷贝全,导【dǎo】致游戏能重【chóng】要【yào】文【wén】件缺【quē】损,所以无法进入游戏。解决的方法呵【hē】呵很抱歉也是只【zhī】有重新 。
5 这是我帮题主【zhǔ】找到的这个【gè】游戏的配置,题主自己对【duì】一对,看【kàn】下是【shì】否是【shì】自己计【jì】算机的配置【zhì】无法满【mǎn】足【zú】游【yóu】戏的需要,满足那就只能【néng】是游戏资料的缺【quē】损或者损坏,不满足那【nà】题主【zhǔ】就【jiù】去试提高下自己计【jì】算机的配置。
配置要求
OS: Microsoft Windows XP Embedded SP2/SP3 CPU: Intel LGA 775 CPU. Supported CPUs include Celeron D 352, Pentium 4 651, Intel Core 2 Duo E6400 Chipset: Intel Q965 ICH8 Video output: 640x480 (VGA), or 1280x720 (HDTV 720p) RAM: 166/200MHz DDR2 SDRAM. Supported capacities 512MiB, 1GiB, 4GiB. GPU: PCI Express x16-based graphics. Supported GPU include ATI RADEON (x1600Pro, x1300LE) or NVIDIA GeForce (7900GS, 7600GS, 7300GS)
参考资料

6 题主的问题如果是这个
打开后说运【yùn】行出错 说无【wú】法找到xLive.dll 装完xlive后又提示【shì】“应【yīng】用【yòng】程序或 dll ………………………………为【wéi】无【wú】效的windows映【yìng】像”
那么解决的方法就是
一个xlive.dll 放到 C:\WINDOWS\system32 运行游戏【xì】提示无【wú】效WIN, 一【yī】个这个Microsoft Games for Windows -LIVE 安装
重起电脑
7 这个是我帮你找到的一个可 地址,你可以去

题主我尽力了,如果这些都被办法解决,那抱歉了。

游戏开发学起来好学么?

中小型游戏【xì】大致可分为【wéi】网页游戏,flash游戏,小游戏等【děng】,基【jī】本上【shàng】都【dōu】是【shì】一些休闲类的傻呆萌【méng】的情节和操作。
这类游戏开【kāi】发相对比较简单【dān】,会 Javascript、HTML、flashcs、Java 就【jiù】可以【yǐ】进行【háng】开发了,语言类主要有 C / C++,汇编语言,着色器语言,脚本语言【yán】,高效的开发语【yǔ】言 C# 或【huò】 Java 。
现在的游戏主要分为三种:
1、PC 类端游(就是电脑上面运行的游戏)
这类【lèi】游【yóu】戏【xì】在线人数多【duō】,游戏中要【yào】处理的数【shù】据庞大。所以对服【fú】务【wù】器性能要求非常【cháng】高,一般【bān】都是采用C++ 做为开发语【yǔ】言,C++ 可以直接操作内存【cún】数据,与操作系统直接交【jiāo】互,减少数据【jù】之间的复制,它运行【háng】效【xiào】率高,处理速度快,是【shì】很适合【hé】这里游戏开发语言。
学习这【zhè】种游【yóu】戏的开发,学习【xí】的有 C++ 编【biān】程,Linux 网络编【biān】程、TCP/IP 通讯协议、多线【xiàn】程编【biān】程再加数据库。
PC 类端游戏开发周期较长。大概需要三年左右的时间。
2、网页游戏(比如现在经常说的 1 刀 999 级)
因为是网【wǎng】页游戏,游戏的界面展示【shì】依赖于网络传输【shū】,所在在画面【miàn】和特【tè】效上会【huì】次于客户端游戏很多。和端【duān】游类【lèi】是差不多是一样的,有些公司之【zhī】前是做【zuò】端游的,他们【men】就直接把端游的服务器【qì】架构拿【ná】来就可【kě】以使【shǐ】用,以【yǐ】完【wán】成快速开发。
需要学习内容和端游差不多。
3、手机游戏(主要区分为安卓和 IOS)
手【shǒu】机类游戏目前是最热门的【de】游【yóu】戏,很多热【rè】播的电【diàn】视【shì】剧或者电影【yǐng】之后【hòu】,都会有相同情节的手游上线。
服【fú】务器主流的开发语言是 C++ 和【hé】 Java,但是【shì】 C++ 学习难度大,开发速度慢。一般来说我们都是使用Java语言【yán】来开【kāi】发服【fú】务器【qì】。

格斗游戏的人物移动和出招代码应该怎么写

首【shǒu】先,你玩这个游戏【xì】用【yòng】的是什么模拟器【qì】?街机模拟器【qì】最常见的有winkawaks、mame。前者可【kě】以模拟cps1、cps2、neogeo基板上的【de】所有游戏【xì】,就【jiù】是capcom、snk公司发【fā】行的游【yóu】戏。除此之外的很多游戏,要用mame模拟器。
winkawaks模【mó】拟器可【kě】以设置出【chū】招代码【mǎ】,也就是“宏【hóng】”。代码如下:
方向代码:下d、上u、前f、后b,斜【xié】前df、斜后db、上前【qián】uf、上后ub。
组合键代码:AB(12+)BC(23+)CD(34+)ABC(123+)BCD(234+)AC(13+)BD(24+)
,停顿1帧,+几个键一起按。
比如:↓↘→↘↓↙←AB,代【dài】码【mǎ】为【wéi】d,df,f,df,d,db,b,12+

iOS如何【hé】自己做手机游戏。比较喜欢【huān】玩真理之剑,古代战争,史诗战争3,格斗机器人【rén】什【shí】么【me】的,都是电【diàn】脑上的

首先【xiān】你【nǐ】想在ios上开发游戏必须掌握两门计算机语言【yán】,一个【gè】是Object-c一个【gè】是C++的COCOS,游戏软件的开发【fā】成本都很高,自己一个人【rén】一般【bān】做不【bú】来,另外你请人费【fèi】用也很高,按一个人一万一个月算,你【nǐ】至少需【xū】要5个人【rén】,开发之【zhī】间至【zhì】少3个【gè】月,都是按小【xiǎo】了【le】说的【de】

怎么做DNF辅助软件

首先声明:这个是在抄别人的,希望能帮到你。
一、先说一下写一个 需要什么条件

1、熟练的C语言知识

目前【qián】的 大部分都是用BC或者是Delphi或者是vc写的【de】,拥有熟练的C语【yǔ】言知识【shí】是写 的基【jī】本【běn】条件!

2、具有很强的汇编基础

一般【bān】游戏都不可能有原代【dài】码【mǎ】的【de】,必须靠反汇编【biān】或【huò】者跟踪的办法来探【tàn】索其中的机理

,所以有强的汇编基础也是必不可少的条件

3、熟练掌握跟踪和调试的工具

有了上面2个条件后,掌握一些工具也是很有必要的

跟踪的工【gōng】具【jù】,softice当然是不二之选,至于【yú】反汇【huì】编的工【gōng】具,我推荐用IDA PRO

这个工具反汇编出来的代码结构清晰,非常好读

如果你不具有【yǒu】上面【miàn】的条件,还是先把基础【chǔ】打好,再来写 吧,一分耕耘【yún】,一分收【shōu】获,天下没有白掉的馅【xiàn】饼的

二、写 面临的基本技术问题

1、修改进程的执行代码

要修改进程【chéng】的执行代码,要先取【qǔ】得【dé】进程的ID,如果是由 程序启动【dòng】,返【fǎn】回【huí】值【zhí】里就有进程ID,如果不是【shì】的话,

需要用findwindow找到窗口【kǒu】句柄,再用GetWindowProcessID取得【dé】进程ID,取得进程ID以后,就【jiù】可以用

writeprocessmemory来【lái】修改进程的执【zhí】行代【dài】码了,使程序按照我们的【de】意愿【yuàn】来执行,石器 里【lǐ】的不遇敌、寸【cùn】步遇敌【dí】

就是用这样的方法来实现的

2、截获 发送和接收的封包

除【chú】了【le】通过修【xiū】改代码来实现的功能以【yǐ】外,很多的功能都【dōu】是通过【guò】修改封包来实现的,要修改封包,首【shǒu】先【xiān】要能截获它。

第一步是要跟踪出【chū】发和收的【de】位置【zhì】,至于【yú】怎么跟踪【zōng】,我以后会提【tí】到,找到位置以后【hòu】,有【yǒu】2个【gè】办法,一是在【zài】那个位置加一

个jmp语【yǔ】句,跳到你的处理函【hán】数位置,处理完【wán】后,再跳回来,这【zhè】种方法要【yào】求比较【jiào】高,需要【yào】处【chù】理好很多事情,另【lìng】一种办【bàn】法

是【shì】往那个位置写【xiě】条能造成例外的指令,比【bǐ】如【rú】int 3,然后用DebugActiveProcess调试【shì】游戏【xì】进程【chéng】,这样每当游戏执行到那个【gè】

位置【zhì】的【de】时候,就会停下来【lái】,到 程序里面去,等 程序处理【lǐ】完【wán】以后,用【yòng】ContinueDebugEvent 继续运行程序。

今天先写这么多,下回将讨论 的具体功能该怎么实现

今天来谈谈地【dì】址的调【diào】查【chá】问题,地址调查是【shì】写 中最艰辛,最富有【yǒu】挑战性的事情【qíng】,很【hěn】多朋友问我要【yào】 的原程序【xù】,其【qí】实有了 原程序,如果你不会【huì】调查地【dì】址,还是没用的,

原程序和地址的关系就象【xiàng】武学中招式与内功的关系,没有内功【gōng】的招式,只是一个花架子。而【ér】内功精深以后,任何【hé】普通的招【zhāo】式,都有可能【néng】化腐朽为【wéi】神奇, 中的地【dì】址分为两【liǎng】类,一类是程序【xù】地址,一【yī】类是数据【jù】地址。象石器中的【de】双石器【qì】,真【zhēn】彩,不遇【yù】敌,寸步遇敌,发送接收封包等,都【dōu】属于【yú】第【dì】一类,而【ér】人物坐标,状态【tài】等,都属【shǔ】于第二类。对于第一类地【dì】址,主【zhǔ】要【yào】依靠softice来

调查地址,对第二类【lèi】地址,可以用【yòng】一【yī】些游戏工具,比【bǐ】如【rú】fpe,game expert,game master等来调查,我【wǒ】一直用game expert,因为我找不到2000下能【néng】用的【de】fpe,

各位以前用fpe改游戏的时候,没想过他也能用来干这个吧

对于第二类数据【jù】的调查方法,大部分人都很熟习了,我就不【bú】多说了【le】,现在主【zhǔ】要来谈谈第一类数据的详细调查过【guò】程【chéng】,比如我们【men】要调【diào】查发送封【fēng】包【bāo】的【de】位置,如何着手呢,客【kè】户端往服务器要发很多【duō】封包,但最简单的办【bàn】法莫过【guò】从【cóng】说话的【de】封包入手,先说一句【jù】很长的话,最好是【shì】英文,查起来【lái】方便,说完以后,用任意一种【zhǒng】办法进入游戏程序的进程空间(比如先【xiān】用【yòng】spy查出游戏程序的窗口句【jù】柄,再切换到softice打入bmsg 窗口【kǒu】句【jù】柄 wm_lbuttondown,这样在游【yóu】戏【xì】程序中一点【diǎn】鼠标就进入了他的【de】进程空【kōng】间)然后用【yòng】s命令查出这句话所【suǒ】放【fàng】的内存【cún】地址,记下【xià】这个地址,在softice中打【dǎ】入bpm 刚才【cái】调查到的地址,这个【gè】指令的意思是只要有访问这个内存【cún】的动作,立刻中断,然后再切换【huàn】到游戏,说一【yī】句话【huà】,你会发现softice自动中【zhōng】断【duàn】到【dào】某一【yī】个位置【zhì】了,从【cóng】这【zhè】个位置跟踪下去,发送封包【bāo】的位【wèi】置也就不远了。

上面所说的都是针对【duì】一个全新【xīn】的游戏程序而言【yán】,如果是一个老的程序,有前辈做【zuò】了大【dà】量【liàng】的工作【zuò】,还可以用些别的办法,如反汇【huì】编等,来调查【chá】。以后游戏版【bǎn】本的更新也是如此,只要把老版【bǎn】本【běn】的地址【zhǐ】位【wèi】置附【fù】近【jìn】的代码记下【xià】来,去新【xīn】版本的代码里【lǐ】面search一下【xià】,就ok了。

恩,休息一会儿,休息一会儿

我主【zhǔ】要对 的技【jì】术进行分析,至于游戏里面【miàn】的【de】内部结构【gòu】每个都不一样,这里就不做【zuò】讲解了,我也没有【yǒu】那么厉【lì】害,所【suǒ】有的都知【zhī】道,呵呵!
1 首先游戏 的原理
现在分为好多种【zhǒng】,比如模拟键盘的,鼠标的【de】,修改数据包【bāo】的,还【hái】有修改本【běn】地内存【cún】的,但好像没有修改服务【wù】器内存的哦,呵呵!其实修改【gǎi】服务【wù】器也【yě】是有办【bàn】法的,只【zhī】是技术太高一般【bān】人没有办法入手【shǒu】而已!(比如请GM去【qù】夜总会【huì】,送礼,收黑钱等等办法都可以修改【gǎi】服【fú】务器数【shù】据,哈哈)
修改【gǎi】游【yóu】戏无非是修改【gǎi】一下本地内【nèi】存的数据【jù】,或【huò】者截获api函数等等,这里我把所【suǒ】能【néng】想到的方法都【dōu】作一个介绍,希【xī】望大家能做出很【hěn】好的 来使游戏厂商更好的完善【shàn】自己的技【jì】术.
我【wǒ】见到一片文章是【shì】讲魔力宝【bǎo】贝【bèi】的理论分析,写的不【bú】错,大【dà】概是那个样子.
下来我就讲解一下技术方面的东西,以作引玉之用
2 技术分析部分
1 模拟键盘或鼠标的响应
我们一般使用UINT SendInput(
UINT nInputs, // count of input events
LPINPUT pInputs, // array of input events
int cbSize // size of structure
);api函数
第一个参数是说明第【dì】二【èr】个【gè】参数的矩阵【zhèn】的维数的,第二个参数包含了响【xiǎng】应事件,这【zhè】个自己填充就可以,最后【hòu】是这个结构【gòu】的大小,非【fēi】常简单,这【zhè】是最简单的方法【fǎ】模拟【nǐ】键盘【pán】鼠【shǔ】

标了,呵呵
注意:这个函数还有个替代函数:
VOID keybd_event(
BYTE bVk, // 虚拟键码
BYTE bScan, // 扫描码
DWORD dwFlags,
ULONG_PTR dwExtraInfo // 附加键状态
);和
VOID mouse_event(
DWORD dwFlags, // motion and click options
DWORD dx, // horizontal position or change
DWORD dy, // vertical position or change
DWORD dwData, // wheel movement
ULONG_PTR dwExtraInfo // application-defined information
);
这两个函数非常简【jiǎn】单【dān】了【le】,我想那些按键【jiàn】精灵就是用的【de】这个吧【ba】,呵呵,上【shàng】面的是模拟键盘,下面的是模拟鼠标的.
这【zhè】个仅仅【jǐn】是【shì】模拟部【bù】分,要和游戏联【lián】系【xì】起来我们【men】还需要找到游戏的窗口【kǒu】才行,或者包含快捷键,就象按键【jiàn】精【jīng】灵的【de】那个激活键一样,我们【men】可以【yǐ】用【yòng】GetWindow函数来枚举窗口,也可【kě】以【yǐ】用Findwindow函【hán】数来查找制定的窗口【kǒu】(注意还有一【yī】个FindWindowEx),FindwindowEx可以找到【dào】窗【chuāng】口的子窗口,比如按钮【niǔ】,等什么东西.当游戏【xì】切【qiē】换【huàn】场景的时【shí】候我们可【kě】以【yǐ】用FindWindowEx来确定【dìng】一些当前【qián】窗口的特征,从而判断是否还【hái】在这个场景,方法【fǎ】很多了,比如可以【yǐ】GetWindowInfo来确定一些东西,比如【rú】当查【chá】找不到某个按钮的时候就说【shuō】明游【yóu】戏场景已经切换了,等等办法【fǎ】.有的游戏没【méi】有控【kòng】件在里面,这【zhè】是对图像做【zuò】坐标变换的话,这种方法就要受到限制了.这【zhè】就需要我【wǒ】们用别【bié】的办法来辅助分析了.
至【zhì】于【yú】快【kuài】捷键我们要用【yòng】动态连【lián】接库实现了,里面要用到hook技术了【le】,这个也非【fēi】常简【jiǎn】单,大家可能都会了【le】,其实就【jiù】是一【yī】个全局的hook对象然后SetWindowHook就可以了,回【huí】调函数都是现成的,而且现【xiàn】在【zài】网上的例子多如牛毛,这个实【shí】现在【zài】 中已经【jīng】很普遍了.如果还有谁【shuí】不明白,那【nà】就去【qù】看看msdn查找SetWindowHook就可以了.

这个动态连接库【kù】的【de】作用很【hěn】大,不要【yào】低估了哦,它可以切入【rù】所有的进程空间,也就是可以加载【zǎi】到所【suǒ】有的游戏里面哦,只要用对,你会【huì】发【fā】现【xiàn】很【hěn】有用途的!
这【zhè】个需【xū】要你【nǐ】复习一【yī】下win32编程的基础知识了,呵【hē】呵,赶快去看书吧!

2截获消息
有【yǒu】些游戏的响应【yīng】机【jī】制比较【jiào】简单,是【shì】基【jī】于消息【xī】的【de】,或者【zhě】用【yòng】什么定时器的东西,这个时候你就可以用拦截消息来实现一些有趣的功能了.
我们拦截消息使用的【de】也【yě】是hook技术【shù】,里面包括了键【jiàn】盘消息,鼠标【biāo】消息,系统消息【xī】,日【rì】志等,别的对我们没有什么【me】大的【de】用【yòng】处,我们只用拦截【jié】消息的【de】回调函数就可以了,这个不会让我写【xiě】例子吧,其实【shí】这个和上【shàng】面【miàn】的一样,都是用SetWindowHook来写的,看看就【jiù】明白了【le】很简单的【de】.
至于【yú】拦截了以后做什么就是你的【de】事情【qíng】了,比如【rú】在每个定时器消【xiāo】息里面【miàn】处理一些【xiē】我【wǒ】们的数据判断,或者在定时【shí】器里面在模【mó】拟一次【cì】定时器,那【nà】么有些数据就会处理两次,呵【hē】呵,后果嘛,不一定是好事情哦,呵【hē】呵,不过如【rú】果数据计算放在客户端的【de】游戏【xì】就可以真【zhēn】的【de】改变【biàn】数【shù】据了,呵呵,试试看吧!用【yòng】途还有很多,自己想也可【kě】以想出来的,呵【hē】呵!

3拦截socket包
这个技术

难度要比原来的高很多哦,要有思想准备.
首先我们要替换winSock.dll或者winsock32.dll,我们写的替【tì】换函数【shù】要和原【yuán】来的函数一致才【cái】行,就是说它的函【hán】数输出什么样的,我们也要输【shū】出什么样【yàng】子的【de】函数,而且参数,参【cān】数顺序【xù】都要一【yī】样【yàng】才【cái】行,然后在我【wǒ】们的函数里面【miàn】调用真正的winSock32.dll里面的函数就【jiù】可以了
首先:我们可以替换动态库到系统路径
其次:我们应用【yòng】程序启动的时【shí】候可以【yǐ】加载原有的动态库,用这【zhè】个函【hán】数LoadLibary
然后【hòu】定【dìng】位函数入口用GetProcAddress函数获【huò】得每个真【zhēn】正socket函数的入口地址
当【dāng】游【yóu】戏进【jìn】行的【de】时候它会调用我们的动态库【kù】,然后从【cóng】我们的动态库中处理完毕后才跳【tiào】转到真正【zhèng】动【dòng】态库的函数地【dì】址,这样我【wǒ】们就可以【yǐ】在里面处理自己的数【shù】据了,应该是一切数据【jù】.呵呵!
兴奋【fèn】吧【ba】,拦截了【le】数据包【bāo】我们还要分析之后才能进行【háng】正确【què】的应答,不【bú】要【yào】以为这样工作就完成了【le】,呵【hē】呵!还早呢,等分析完毕【bì】以【yǐ】后我们【men】还【hái】要【yào】仿真应答机制来和服务器通信,一个不小心就会【huì】被封号,呵呵,呜~~~~~~~~我就被封了好多啊!
分析【xī】数据才是工【gōng】作量【liàng】的来源呢,游戏【xì】每次【cì】升级有可能加密方【fāng】式会有【yǒu】所改变【biàn】,因【yīn】此我们【men】写 的人【rén】都是【shì】亡命之徒啊,被人娱乐了还不知道,呵呵!(声明我可没有赚钱,我是【shì】免费的【de】)
好【hǎo】了,给大家一【yī】个不错的起点,这里【lǐ】有【yǒu】完整【zhěng】的替【tì】换socket源代码,呵呵!
http://www.vchelp.net/vchelp/zsrc/wsock32_sub.zip

4截获api
上面【miàn】的【de】技术如果可【kě】以灵活运【yùn】用的话【huà】我【wǒ】们就【jiù】不用截获api函数了,其实这种【zhǒng】技术是一种补【bǔ】充技术.比如我们需【xū】要截【jié】获socket以外的函数作为我们的用途,我们就要用这【zhè】个技术了,其实我们也可【kě】以用它直接拦截在socket中【zhōng】的函数,这【zhè】样更直接.
现在【zài】拦【lán】截【jié】api的【de】教程到处都【dōu】是,我【wǒ】就不列举了,我【wǒ】用的比较习惯的【de】方法是根据输入【rù】节进行拦截的,这个【gè】方法可以用【yòng】到任何一种操作系【xì】统【tǒng】上,比如98/2000等【děng】,有些方法不【bú】是【shì】跨平台的,我不建议使用.这【zhè】个【gè】技术大家可以参考windows核心编程里面的545页开始的内容来【lái】学习,如果是98系统可以用window系统奥秘那个最后【hòu】一【yī】章来学习.
好了方法就是这么多了【le】,看大家怎【zěn】么运用了,其它的一些针对性的技巧这里我就【jiù】不说了,要不然会有人【rén】杀了我的,呵【hē】呵【hē】!

记住每个游戏的修改方法都【dōu】不一样,如果某个【gè】游【yóu】戏【xì】数据【jù】处理全部在服务器端,那么你【nǐ】还【hái】是别【bié】写 了,呵呵,最多写个自动走路的【de】 ,哈【hā】哈!
数据分【fèn】析【xī】的时【shí】候大家一定要注意,不要轻易【yì】尝试和服务器的连【lián】接【jiē】,因为那有很危【wēi】险,切忌!等你掌握了大量的数据分析结果以后【hòu】,比较【jiào】有把握了在试试【shì】,看看你【nǐ】的运【yùn】气好【hǎo】不好,很有【yǒu】可能会成功的哦,呵呵【hē】!
其实【shí】像【xiàng】网金也疯狂的那种模拟【nǐ】客户端的程序【xù】也是【shì】不错的【de】,很适合【hé】office的人用,就看大家产品定位了.
好了不【bú】说了,大家【jiā】努力吧!切【qiē】忌不要被游戏【xì】厂商招安哦,那样有损【sǔn】

标签: #格斗游戏的人物移动和出招代码应该怎么写#c怎么写游戏