第04章象棋4参考12课游戏开发_第1页
第04章象棋4参考12课游戏开发_第2页
第04章象棋4参考12课游戏开发_第3页
第04章象棋4参考12课游戏开发_第4页
第04章象棋4参考12课游戏开发_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二课象棋游戏开发(1)你认识他吗?请问大家一个问题?一天24小时,你有多少时间在玩游戏?各位不得不面对的现实?你的感受?压力、压力、还是压力!如何应付?变、变、变!游戏人才现状历年毕业设计题目分类数据库类(MIS系统)网站类硬件开发类游戏类中国象棋、国际象棋、围棋、五子棋、四国大战、桌球、跳跳棋、俄罗斯方块、连连看、坦克大战、贪吃蛇……1.棋局态势的数据结构表达2.棋盘、棋子的绘制3.实现开局4.实现拾子动作5.实现落子动作主要教学内容1.有多少行、多少列?10行9列2.共有多少棋子?32个3象棋规则有哪些?

马走日字,象飞田。车走直路,炮翻山。士走斜路护将边,小卒子一去不回还。

你了解中国象棋吗棋局态势的数据结构表达象棋棋盘:10行9列用何种数据结构可以完整表达表达棋局态势?棋局态势的数据结构表达用一个二维数组表达棋局态势

//棋子数组,甲方棋子为‘甲车’等,乙方棋子为'乙车'等

//没有棋子则为'无子'mChess:array[1..10,1..9]ofstring;注意Delphi与C中数组定义的差别?棋盘的尺寸屏幕象素:一般为800*600,或1024*768象棋棋盘:10行9列请同学们考虑一下:

行距、列距设置为多大合适?棋盘的尺寸(60,60)(540,60)(60,600)(540,600)6060棋盘的绘制何时绘制?OnPaint事件:窗口重绘事件,当窗口被其它对象遮盖后,再次显示出来的时候,会触发该事件。作用:用户可以在此事件中对窗口进行重新绘制。棋盘的绘制如何绘制?

有两种方案:1.用绘图对象编写代码来绘制棋盘:Canvas.MoveTo();Canvas.LineTo();2.先在PhotoShop或绘图板中绘制棋盘图片,然后把棋盘图片显示出来。

Canvas.Draw(0,0,BitmapBG);显示位图1、声明位图类对象:BitmapBG:TBitmap;2、创建位图类对象:

BitmapBG:=TBitmap.Create();3、装载位图文件:

BitmapBG.LoadFromFile('棋盘.bmp');4、显示位图:

Canvas.Draw(0,0,BitmapBG);象棋棋盘的美化棋盘背景:

可以用PhotoShop来制作木材纹理效果图片,然后与棋盘图片叠加成一张图片。棋子绘制6060棋子尺寸:58×58象素点制作工具:Delphi自带的ImangeEditor工具何时绘制:OnPaint如何绘制:

Canvas.Draw()象棋开局设置mChess数组://初始化甲方棋子

mChess[1,1]:='甲车';mChess[1,2]:='甲马';

……//初始化乙方棋子

mChess[10,1]:='乙车';

……强制刷新窗口Invalidate()拾子和落子动作拾子动作和落子动作均响应OnMouseDown事件如何在OnMouseDown事件中区分拾子和落子动作?//拾子标志(True表示已经拾取一个棋子)mPickFlag:boolean;

……ifmPickFlag=falsethen//处理拾子动作

……else//处理落子动作

……

完成拾子动作的条件1.鼠标下压点必须位于棋盘交叉点半径为28的范围之内2.鼠标下压点处必须存在棋子完成落子动作的条件1.鼠标下压点必须

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论