选择显示字体大小

五子棋游戏的制作(2)

五子棋游戏的制作
三.棋子布置和后悔按钮的代码设计

1..介绍一下棋子的布置。

初始时舞台上没有棋子,我们通过puppetsprite 来动态的根据需要把棋子放在舞台上并激活移动用户使用,这样不必在舞台上拖大量的精灵,时游戏显得混乱。我们这里用41及41以后的通道来共摆放棋子。

具体运用时我们在电影脚本里面定义一个函数来完成这一需要多次用到的操作:
根据nownum的值来设置,为1是设置为黑子用户走子,-1则为白子用户。

on setuser nownum

if nownum= 1 then
     nextname= "black"
member ( "info" ). text = "黑子走"
else
     nextname= "white"
member ( "info" ). text = "白子走"
end if

repeat with o= 41 to the lastchannel
--从41通道开始找到第一个membernum为空的演员,来对其关联给对应的演员
if sprite (o). membernum = 0 then

--开始控制该通道
puppetsprite o, true

--设置位置等相关精灵属性
sprite (o). loc = point ( 322 , 390 )
sprite (o). ink = 36
sprite (o). width = 18
sprite (o). height = 18

--设置对应member
sprite (o). member = member (nextname)

--添加按钮脚本
x = script ( "chess" ). new ()

--因为设置scriptinstancelist时,不能覆盖已有的元素,固需要加入 sprite(o).scriptinstancelist=[]
sprite (o). scriptinstancelist =[]

sprite (o). scriptinstancelist . add ( x )

--强迫初始化
sendsprite o, #beginsprite
exit repeat
end if
end repeat
end


每次下完一颗棋子后,当没有玩家获胜时,则调用setuser(num)出现下一颗棋子让玩家移动。


2..后悔按钮,就是把棋盘上的最近放置的一颗棋子去掉,并设置新的当前玩家。

on mouseup me
puppetsound 1 , "regret" --播放音效
repeat with i= the lastchannel down to 42 --从最好一个通道往前面扫描
--找到第一个membernum不为空的通道,即最近放置的棋子
if sprite (i). membernum <> 0 then
       pos= sprite (i- 1 ).onlinepos --得到棋子的位置信息
       onlist[pos[ 1 ]][pos[ 2 ]]= 0 --将onlist对应位置恢复,表示该位置为空了

--清空最近一颗棋子的脚本和演员
sprite (i). scriptinstancelist =[]
sprite (i). membernum = 0
--停止对最近一颗棋子所在通道的控制
puppetsprite i, 0
exit repeat
end if
end repeat
   setuser(-pos[ 3 ])
--如果舞台上只剩一颗棋子,则不应由后悔按钮了
if i= 42 then sel. visible = 0
end


到此位置,整个游戏的关键代码就介绍完了,大家在看完本文后,在参考dir源文件分析应该时有所收获的。

源程序下载(完)   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons