军棋游戏设计_课程设计报告

合集下载

军棋教案中班

军棋教案中班

军棋教案中班教案标题:军棋教案(中班)教案目标:1. 帮助中班学生了解军棋游戏的基本规则和棋子移动方式。

2. 培养学生的逻辑思维、决策能力和团队合作意识。

3. 提高学生的注意力和集中力。

教学准备:1. 军棋棋盘和棋子。

2. 展示板或幻灯片。

3. 讲解板书。

4. 学生的座位安排。

教学步骤:引入(5分钟):1. 引起学生的兴趣,介绍军棋游戏的背景和起源。

2. 展示军棋棋盘和棋子,解释每个棋子的名称和代表的军种。

讲解规则(10分钟):1. 使用展示板或幻灯片,向学生展示军棋棋盘,并讲解其结构和格子的编号。

2. 逐一介绍每个棋子的移动方式和特殊规则,例如炮的吃子规则、象的限制等。

3. 讲解游戏的胜利条件和失败条件。

示范演练(15分钟):1. 在展示板上演示一局军棋游戏,解释每一步的思考和决策过程。

2. 邀请学生参与示范演练,让他们亲自操作棋子进行移动,并给予指导和鼓励。

小组活动(20分钟):1. 将学生分成小组,每个小组由2-4名学生组成。

2. 给每个小组发放一副军棋棋盘和棋子。

3. 要求每个小组按照规则进行游戏,鼓励学生共同商讨和制定策略。

4. 监督和指导学生,确保游戏进行得顺利。

总结(5分钟):1. 与学生一起回顾游戏过程和规则。

2. 强调团队合作的重要性,以及军棋对逻辑思维和决策能力的培养作用。

3. 鼓励学生继续练习和探索军棋游戏,提高自己的技巧。

扩展活动:1. 鼓励学生在课后继续玩军棋游戏,与家人或朋友一起进行对战。

2. 组织军棋比赛,让学生有机会展示自己的技巧和策略。

3. 鼓励学生创造自己的军棋棋谱,并与同学分享。

评估方式:1. 观察学生在小组活动中的参与程度和合作表现。

2. 监督学生在游戏中的规则遵守情况。

3. 收集学生对军棋游戏的理解和反馈。

教案中班的撰写旨在帮助中班学生了解军棋游戏的基本规则和棋子移动方式,并培养他们的逻辑思维、决策能力和团队合作意识。

通过引入、讲解规则、示范演练、小组活动和总结等环节,学生将逐步掌握军棋的基本技巧,并能在小组中进行游戏实践。

军棋的实战教学设计方案

军棋的实战教学设计方案

一、教学目标1. 让学生了解军棋的基本规则和玩法。

2. 培养学生观察能力、策略思维和决策能力。

3. 提高学生团队协作和竞技水平。

4. 增强学生对中国传统棋类文化的认识和兴趣。

二、教学对象本课程面向初中及以上年级的学生,要求学生具备一定的逻辑思维能力和团队协作精神。

三、教学内容1. 军棋的基本规则2. 军棋的棋盘布局3. 军棋的棋子种类及作用4. 军棋的攻防策略5. 军棋的实战技巧四、教学过程1. 导入(1)讲解军棋的历史背景和在中国棋类文化中的地位。

(2)介绍军棋的基本规则和玩法,引起学生兴趣。

2. 基本规则教学(1)讲解军棋的棋盘布局,让学生熟悉棋盘结构。

(2)介绍军棋的棋子种类及作用,让学生了解各个棋子的特点和用途。

(3)讲解军棋的基本规则,包括胜利条件、特殊规则等。

3. 攻防策略教学(1)分析军棋的攻防原则,如“攻守兼备”、“先发制人”等。

(2)讲解不同棋子之间的配合策略,如“围剿”、“伏击”等。

(3)讲解如何判断敌我形势,制定合理的战术。

4. 实战技巧教学(1)讲解军棋的实战技巧,如“偷袭”、“闪击”等。

(2)分析经典战例,让学生了解高手的战术思路。

(3)进行实战演练,让学生在实际操作中掌握技巧。

5. 团队协作教学(1)讲解团队协作在军棋比赛中的重要性。

(2)组织学生进行小组合作,共同制定战术。

(3)进行团队对抗赛,让学生在实践中提高团队协作能力。

6. 总结与反思(1)回顾课程内容,强调重点和难点。

(2)组织学生进行反思,总结自己在学习过程中的收获和不足。

(3)布置课后作业,让学生巩固所学知识。

五、教学评价1. 课堂表现:观察学生在课堂上的参与度、专注度和合作精神。

2. 实战演练:评估学生在实战演练中的战术运用和决策能力。

3. 课后作业:检查学生对课程内容的掌握程度。

六、教学资源1. 军棋棋盘、棋子2. 教学课件3. 实战视频4. 相关书籍和资料七、教学进度安排1. 第1课时:导入、基本规则教学2. 第2课时:攻防策略教学3. 第3课时:实战技巧教学4. 第4课时:团队协作教学5. 第5课时:总结与反思通过本课程的学习,学生不仅能够掌握军棋的基本规则和实战技巧,还能提高自己的逻辑思维、策略决策和团队协作能力。

军棋策划方案

军棋策划方案

军棋策划方案1. 引言军棋是一种适合两人对战的策略棋类游戏,玩家通过操作各种军队单位,以击败敌方玩家为目标。

本文档将会详细介绍军棋的策划方案,包括游戏目标、规则设定、游戏界面设计和游戏进程等内容。

2. 游戏目标游戏的主要目标是击败对方玩家,即使其失去所有的军队单位。

玩家需要善于运用战术,合理部署自己的军队,同时要时刻注意对手的动作,并制定相应的策略来保持自己的优势。

3. 游戏规则3.1 单位和行动游戏中包含多种不同类型的军队单位,包括步兵、炮兵、坦克等。

每个单位都有自己的移动和攻击方式,不同的单位之间有相互克制的关系。

在每个回合中,玩家可以选择移动若干个单位,并使用剩余的行动点数进行攻击。

3.2 地图和布局游戏地图为方格状,由多个格子组成。

在游戏开始时,玩家可以在自己的一半地图上自由布置自己的军队单位,格子上可以放置一个单位。

3.3 攻击和防御当一个单位攻击另一个单位时,攻击方和防御方需要根据自己的属性和技能进行计算。

攻击方可以选择使用不同的攻击方式,包括近战和远程攻击,而防御方可以选择使用不同的防御方式,包括掩体和躲避等。

3.4 胜利条件游戏中的胜利条件是成功击败对方玩家,当对方玩家失去所有的军队单位时即为胜利。

此外,游戏还可以设置其他的胜利条件,例如占领特定的地点或完成特定的任务等。

4. 游戏界面设计游戏界面需要简洁直观,便于玩家理解和操作。

主要包括以下几个部分:4.1 地图界面地图界面显示游戏地图的整体情况,包括地图上每个格子的状态和单位的位置等。

玩家可以通过点击地图上的单位来选中并进行相应的操作。

4.2 单位信息界面单位信息界面显示当前选中单位的详细信息,包括单位的属性、技能和能力等。

玩家可以通过该界面来了解单位的情况,并作出相应的决策。

4.3 回合控制界面回合控制界面显示当前的回合信息,包括当前是哪个玩家的回合,以及剩余的行动点数等。

玩家可以通过该界面来控制游戏的进程。

5. 游戏进程游戏开始时,玩家可以自由布置自己的军队单位,然后按照回合顺序依次进行行动。

军棋策划方案

军棋策划方案

军棋策划方案一、引言军棋是一种战略棋类游戏,由两名玩家进行对抗,模拟了现实战争中的军队对战。

本文档旨在介绍一个军棋策划方案,包括游戏的设计概念、玩法规则以及相关要素。

二、游戏目标本军棋的游戏目标是通过摧毁对方玩家的所有军队来实现胜利。

每位玩家拥有自己的军队,需要运用战略和策略,采取适当的行动来获得胜利。

三、游戏规则1. 游戏棋盘和棋子游戏棋盘是一个正方形的格子,由10行10列组成。

每个格子代表一个战斗单位可以移动的位置。

每位玩家拥有一支由不同棋子组成的军队。

2. 棋子的移动和战斗不同类型的棋子有不同的移动方式和攻击能力。

每个棋子都有自己的生命值和攻击力。

棋子移动时只能沿直线前进,且不能穿越其他棋子。

当一个棋子移动到一个敌方棋子所在的格子时,将发生战斗。

战斗的结果是根据棋子的类型和属性进行计算的,生命值较高的棋子通常更强大。

3. 棋子的升级和特殊技能在游戏中,棋子可以通过取得胜利或完成特定任务来获得升级。

升级后的棋子拥有更高的生命值和攻击力,或者获得额外的特殊技能,使其在战斗中具有更大的优势。

4. 游戏回合和时间限制游戏是按照回合制进行的。

每个玩家依次执行自己的回合,在规定的时间内进行行动。

如果超出时间限制,则自动结束本回合。

5. 技巧和策略玩家需要通过合理的策略来控制自己的棋子,选择适当的时机进行攻击和防御。

掌握一些技巧,如任务分配、集中力量等,可以帮助玩家更好地战胜对手。

四、游戏要素1. 棋子设计游戏中的每个棋子都有自己的特点和属性。

不同类型的棋子有不同的移动方式和攻击能力。

设计多样化的棋子可以增加游戏的可玩性和策略性。

2. 战斗机制游戏中的战斗机制需要根据棋子的属性和技能进行计算,并根据结果来更新棋子的生命值和状态。

合理的战斗机制可以增加游戏的紧张感和挑战性。

3. 关卡设计游戏可以设置多个关卡,每个关卡有不同的目标和难度。

通过逐渐增加难度和引入新的要素,可以让玩家在游戏中保持新鲜感和挑战性。

军棋教学教案设计方案

军棋教学教案设计方案

课时:2课时年级:小学四年级教材:《军棋》教学目标:1. 让学生了解军棋的基本规则和玩法,提高学生的逻辑思维能力。

2. 培养学生的团队合作精神,锻炼学生的应变能力。

3. 丰富学生的课余生活,提高学生的兴趣爱好。

教学重点:1. 军棋的基本规则和玩法。

2. 团队合作和应变能力的培养。

教学难点:1. 军棋的复杂性和策略性。

2. 学生在游戏过程中如何灵活运用策略。

教学过程:第一课时:一、导入1. 向学生介绍军棋的起源和发展,激发学生的学习兴趣。

2. 展示军棋的图片,让学生对军棋有一个直观的认识。

二、讲解军棋的基本规则1. 介绍棋盘、棋子和棋子的作用。

2. 讲解军棋的基本规则,如走棋方式、吃子规则、胜利条件等。

三、实际操作1. 教师示范走棋,让学生跟随操作。

2. 学生之间互相练习,熟悉军棋的基本玩法。

四、游戏体验1. 分组进行军棋比赛,让学生在实践中巩固所学知识。

2. 教师巡回指导,解答学生在游戏中遇到的问题。

第二课时:一、复习上节课的内容1. 复习军棋的基本规则和玩法。

2. 学生分享在游戏中的心得体会。

二、提高难度,培养策略1. 教师讲解军棋的战术和策略,如如何进攻、防守、捉子等。

2. 学生之间互相讨论,提出自己的策略。

三、实战演练1. 学生分组进行军棋比赛,运用所学策略进行对抗。

2. 教师观察学生的表现,给予点评和指导。

四、总结与反思1. 学生总结自己在游戏中的收获和不足。

2. 教师总结本节课的教学内容,强调团队合作和策略的重要性。

教学评价:1. 学生对军棋的基本规则和玩法的掌握程度。

2. 学生在游戏中的表现,如团队合作、策略运用等。

3. 学生对军棋的兴趣和爱好。

教学延伸:1. 组织学生参加校内外军棋比赛,提高学生的竞技水平。

2. 鼓励学生创作军棋故事,发挥学生的想象力和创造力。

教学资源:1. 军棋棋盘、棋子。

2. 多媒体课件,展示军棋图片和视频。

3. 军棋教学辅导书籍。

军棋游戏设计_课程设计材料

军棋游戏设计_课程设计材料
4.设计阶段
5.调试阶段




[1]蒙祖强.C#程序设计教程[M].清华大学出版社.2010
[2]梁冰,吕双.C#程序开发范例宝典(第二版)[M].人民邮电出版社.2009
[3]KarliWatson,ChristianNagel.C#入门经典(第五版)[M].清华大学出版社.2010
[4]徐安东,谭浩强. Visual C#程序设计基础[M].清华大学出版社.2012
课程设计材料
(2016-----2017学年度第一学期)
题 目:军棋游戏设计
学生姓名:
学生学号:1608220203
专 业:
班 级:
指导教师:
学院制
二0一六年十月十五日
课程设计任务书
学 号
1608220203
学生姓名
专业(班级)
题目
军棋游戏设计






本游戏设计开发语言方面选择C#为主要编程语言,用Microsoft Visual Studio 2010编译器,建立函数,有些函数间的数据相关联。
[5]曹化宇.构建高质量的C#代码[M].电子工业出版社.2013
指导教师签字
系主任签字
年月日
课程设计评审表
指导教师评语
成绩
评定
指导教师签字:
年 月 日
答辩教师评语
成绩评定答辩教来自签字:年 月 日二级学院工作小组意见
成绩
评定
二级学院领导签字(盖章):
年 月日




1)要求利用c#的编程思想以及组件开发原理来完成系统的设计
2)突出c#语言与其他语言的不同点(即体现c#的高级功能,如属性概念、接口、事件、委托等)

小白下军棋教学设计方案

一、教学目标1. 让学生了解军棋的基本规则和棋盘布局。

2. 培养学生观察力、思维能力和逻辑推理能力。

3. 培养学生团队合作精神和竞技精神。

4. 让学生体验军棋的乐趣,提高对军棋的兴趣。

二、教学对象本课程面向小学生,要求学生具备一定的阅读能力和理解能力。

三、教学时间共10课时,每周1课时。

四、教学资源1. 军棋棋盘、棋子、棋盘布局图。

2. 教学PPT或黑板。

3. 有关军棋的视频或动画。

五、教学步骤1. 导入新课(1)展示军棋棋盘和棋子,让学生初步了解军棋的基本构成。

(2)播放有关军棋的视频或动画,激发学生的学习兴趣。

2. 讲解军棋规则(1)介绍棋盘布局,包括棋盘的尺寸、棋子的摆放位置等。

(2)讲解棋子的种类、等级和移动规则。

(3)举例说明特殊棋子的使用方法,如地雷、地堡等。

3. 棋局实战演练(1)分组进行实战演练,每组选一名队长,负责指挥本组棋子。

(2)在实战演练中,让学生熟悉棋子的移动规则和特殊棋子的使用方法。

(3)教师巡回指导,解答学生在实战中遇到的问题。

4. 分析棋局(1)挑选几场具有代表性的棋局进行分析,让学生了解棋局发展的关键节点。

(2)引导学生思考如何制定战略、如何布局棋子。

(3)让学生总结实战中的经验教训。

5. 课堂小结(1)回顾本节课所学内容,让学生复述军棋规则和棋子移动规则。

(2)鼓励学生在课后与家人、朋友一起玩军棋,提高实战经验。

六、教学评价1. 学生对军棋规则的理解程度。

2. 学生在实战演练中的表现,如策略制定、棋子布局等。

3. 学生对军棋的兴趣和参与度。

七、教学反思1. 教师在教学过程中要注重激发学生的学习兴趣,让学生在轻松愉快的氛围中学习。

2. 教师要善于运用多种教学方法,如讲解、演示、实战演练等,提高学生的学习效果。

3. 教师要及时总结教学过程中的问题,不断调整教学策略,提高教学质量。

初中军棋教学教案

初中军棋教学教案课时安排:2课时(90分钟)教学目标:1. 让学生了解军棋的起源和发展历史,提高学生的棋艺水平。

2. 培养学生团队合作精神和策略思考能力。

3. 增强学生对我国军事文化的认识和了解。

教学内容:1. 军棋的起源和发展历史2. 军棋的棋盘布局和棋子功能3. 军棋的基本规则和战术策略教学过程:第一课时:一、导入(5分钟)1. 向学生介绍军棋的起源和发展历史,引导学生了解军棋在我国军事文化中的地位。

2. 激发学生对军棋的兴趣,培养学生的爱国情怀。

二、基本规则(15分钟)1. 向学生讲解军棋棋盘的布局,包括棋盘的大小、线条、区域等。

2. 介绍棋子的功能和分布,包括司令、军长、师长、旅长、团长、营长、连长、排长、工兵等。

3. 讲解棋子的行走规则,包括横、竖、斜行走,以及吃子规则。

三、实战演示(20分钟)1. 进行一场简单的军棋实战演示,让学生直观地了解军棋的玩法。

2. 引导学生观察演示过程中的战术策略,培养学生思考问题的能力。

四、小组讨论(10分钟)1. 让学生分成小组,讨论军棋中的战术策略,如如何保护司令、如何布局等。

2. 各小组分享讨论成果,互相学习,提高棋艺。

第二课时:一、复习上节课的内容(5分钟)1. 检查学生对军棋基本规则的掌握情况。

2. 针对学生存在的问题进行讲解和解答。

二、战术讲解(15分钟)1. 讲解军棋中的常见战术,如防守、进攻、包围等。

2. 通过案例分析,让学生了解战术在实战中的应用。

三、实战训练(20分钟)1. 让学生进行一场军棋实战训练,运用所学的战术。

2. 引导学生总结实战中的经验和教训,提高棋艺。

四、总结与反思(10分钟)1. 让学生总结本节课的收获,提高对军棋的认识和理解。

2. 鼓励学生课后多进行军棋实战,不断提高自己的棋艺水平。

教学评价:1. 课后收集学生的军棋实战对局,评价学生的棋艺水平。

2. 观察学生在课堂上的参与程度,了解学生的学习兴趣。

3. 听取学生的反馈意见,不断改进教学方法,提高教学质量。

成长教育我爱军棋教学设计

成长教育我爱军棋教学设计介绍:军棋是一种智力棋类游戏,也是一种能够培养孩子们思维能力和决策能力的教育工具。

通过军棋的教学设计,可以帮助孩子们培养战略思维、逻辑思维和创新能力,提升他们的思考能力和解决问题的能力。

本文将从游戏规则讲解、教学目标设定、教学策略设计和课堂实施等方面,详细介绍成长教育我爱军棋教学设计的内容。

一、游戏规则讲解在开始进行军棋教学之前,首先要给孩子们讲解游戏的规则。

军棋由棋盘和棋子组成,棋盘上有不同的格子,每个格子上放置着一种军队的棋子。

孩子们需要根据不同棋子的特点和能力,制定出最佳的战略,将对方的棋子击败。

在讲解规则的过程中,要引导孩子们思考战略和策略,并激发他们的兴趣和潜能。

二、教学目标设定在军棋的教学过程中,我们需要设置明确的教学目标,以确保教学的有效性和针对性。

教学目标可以包括以下几个方面:1. 提高孩子们的逻辑思维能力:通过军棋的教学,引导孩子们进行逻辑思维训练,培养他们的推理能力和分析问题的能力。

2. 培养孩子们的战略思维能力:军棋是一种需要制定战略的游戏,通过教学设计,帮助孩子们培养战略思维,提高他们的战略决策能力。

3. 增强孩子们的团队合作意识:军棋教学可以通过组队比赛的方式进行,培养孩子们的团队合作意识和协作能力。

4. 培养孩子们的创新能力:在军棋教学中,可以给孩子们一些创新的挑战,激发他们的创造力和想象力。

三、教学策略设计在教学过程中,需要设计合适的教学策略,以实现教学目标。

以下是一些教学策略的建议:1. 激发兴趣:通过讲解军棋的规则和特点,激发孩子们对游戏的兴趣,使他们主动参与到教学活动中。

2. 视频教学:可以借助视频和动画等多媒体工具,进行军棋的教学演示,让孩子们更加直观地理解游戏规则和策略。

3. 分组比赛:将学生分成小组,组织军棋比赛,培养他们的团队合作意识和竞争意识。

4. 策略指导:在实际游戏过程中,引导学生制定战略和策略,帮助他们思考和解决问题。

四、课堂实施在课堂实施中,需要根据具体情况和学生的实际水平,灵活运用教学策略,使教学效果最大化。

军棋三十六步教学设计

军棋三十六步教学设计引言军棋,也被称为陆战棋,是一种传统的策略棋类游戏。

它不仅考验玩家的策略思维和计算能力,还能培养玩家的决策能力和预测能力。

本文将介绍军棋游戏的规则和一种教学设计,帮助初学者快速掌握游戏规则和基本策略,提高他们的棋艺水平。

一、游戏规则军棋的棋盘由四个正方形组成,每个正方形边长为6个小格,共计36个小格。

每位玩家各有一支由16个棋子组成的队伍,分为不同的兵种,例如步兵、炮兵、工兵等。

棋盘的四个角上有一个大本营,目标是保护自己的大本营并占领对方的大本营。

以下是军棋的基本规则:1. 棋子移动:每个棋子都有特定的移动方式。

步兵只能向前直线移动一格,炮兵可以向前、后、左、右直线移动多格,并可以跳过其他棋子吃掉对方的棋子,工兵则可以挖掉对方的地雷。

值得注意的是,移动后就不能回退。

2. 棋子吃掉:当自己的棋子移动到对方的棋子所在的位置时,可以吃掉对方的棋子并占领该位置。

但是,炮兵吃掉对方棋子时需要满足以下条件:中间必须有一个棋子(无论是友方还是敌方),而且与被吃掉的对方棋子在同一直线上。

3. 地雷和工兵:在游戏开始时,每个玩家可以在自己一半的棋盘上放置地雷。

只有工兵可以挖掉对方的地雷,其他棋子碰到地雷会被炸死。

4. 大本营:大本营是游戏的胜利条件之一。

当玩家的棋子占领对方的大本营时,对方即告负。

二、教学设计1. 游戏规则介绍:首先,向学生介绍军棋的基本规则。

可以使用幻灯片或白板演示,详细讲解棋盘的构成、棋子的种类和移动方式,以及胜利条件等。

2. 示例演示:通过实际操作,给学生展示如何移动棋子、吃掉对方的棋子、挖掉地雷等。

可以选择一些简单的局面进行演示,并解释每一步的思考和策略。

3. 练习对局:将学生分成小组,进行对局练习。

可以让学生自由组合对战,或者按照特定的棋谱进行对局。

鼓励学生思考每一步的最佳着法,并分析对手的策略。

4. 棋谱分析:选取一些经典的军棋对局棋谱,让学生分析每一步的思路和策略。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016-2017学年第一学期《Windows程序设计》课程设计报告题目:军棋游戏设计专业:班级:姓名:指导教师:成绩:学院二0一六年十一月十五日目录1 设计的目的与功能简介 (1)1.1 设计的目的 (1)1.2 功能简介 (1)2 游戏分析 (2)2.1 界面设计 (2)2.2 棋盘数据结构 (4)2.3 通信协议设计 (4)2.4 走棋规则设计 (6)2.5 布阵规则设计 (8)3 游戏详细设计 (9)3.1 初始化棋盘 (9)3.2 走棋规则 (11)3.3 读写布阵棋谱文件 (12)3.4 “保存布阵”、“读取布阵”、“开始对战” (14)3.5 通信过程 (16)3.6 “主机”、“从机”的选择 (24)3.7 “联机”、“重新开始”、“退出游戏” (24)3.8 窗体关闭 (26)3.9 游戏运行测试 (26)4 设计心得 (28)5 参考文献 (29)6 附录 (30)1 设计的目的与功能简介1.1 设计的目的随着休闲网络游戏市场竞争的升级,尤其是网络棋牌游戏的巨大市场前景的吸引,许多公司都加入到棋牌游戏的竞争之列,一时之间竞争可谓惨烈。

由于全国通用的全国流行的棋牌游戏市场(斗地主、象棋、军旗、梭哈)已经基本被几个大的游戏厂商(联众、腾讯、边锋、远航、中游)所占据,加之棋牌游戏玩家忠诚度非常高的特性,继续介入这快市场已经没有任何意义。

一般来讲每一个地方游戏都是独立的,每个独立的游戏所面对的目标消费者都是不同的,所以对于企业的营销推广工作要求也比较高。

如何在未来开拓出更多精彩的产品项目,为用户提供更为优质的服务,并结合自身的实际情况制定出最为合理的收费模式,便成了各厂商要想得到长足的发展,就必须先解决的一览子问题。

在线棋牌游戏有着深厚的文化底蕴、坚实大众基础和广阔的发展空间,对于其前景应该是没有任何值得争议的。

1.2 功能简介军棋,又称陆战棋。

估计华人没有不知道什么叫做军旗的,军棋是一种家喻户晓的棋类游戏,它的多变吸引了无数玩家。

军旗的子数:军棋每方共有25个子,司令、军长、军旗各一;师长、旅长、团长、营长、炸弹各二;连长、排长、工兵、地雷各三。

军旗的子力:司令>军长>师长>旅长>团长>营长>连长>排长>工兵,大子遇小子,小子拿掉,大子放在原位,炸弹碰到任何子力同时拿下,这是任何规则都遵循的。

军旗的摆法:原则上25个棋子可以摆放在棋盘除行营外的任何位置,但是对于一些特殊子力还有特别的限制。

例如,军旗只能摆在两个大本营其中的一个;地雷只能摆在后两排除军旗占据的一个大本营外的任何9个位置;炸弹不能摆在第一排的5个位置。

军旗和地雷位置一旦固定,出征后就不能够再移动[5]。

军旗规则:针对大本营,能进不能出的;针对地雷,工兵飞雷雷下,工兵在;炸弹遇雷同时拿下;其他子力遇到地雷自动碰死拿下,地雷不动。

针对炸弹,有炸弹等同与其他子力按规矩行动的,也有炸弹满天飞(行子方式如同工兵)。

针对行棋方式:铁路线上棋子只可直行,工兵可以飞行。

军棋的胜负判定:夺取敌方的军旗,一般夺旗就算胜。

本网络军棋游戏如图1.2所示。

图1.2 网络军棋游戏界面2 游戏分析2.1 界面设计下棋需要有棋盘,程序中通过在窗体激活时在图片框控件qi_pan上显示军棋棋盘图片文件。

有R.bmp和G.bmp两个图片表示红方和绿方暗子。

使用控件数组Qizi_Pic[ ]的Add方法加载了我们所需要的棋子图片控件并使用相应图片。

Qizi_Pic[ ]中下标i的含义是:如果i小于24,那么说明它属于红方的棋子,否则是绿方的棋子。

同时Qizi_Pic[i]的tag属性保存了棋子在控件数组的索引号。

在界面中要求用户输入对方IP、端口(本地及对方远端),同时添加“联机”、“重新开始”、“退出”、“保存布阵”、“读取布阵”、“开始对战”6个按钮以及一些提示用的标签。

(a)红方军棋棋子图片图2.1(b)绿方军棋棋子图片图2.2图2.3 网络两人对战军棋设计界面2.2 棋盘数据结构棋盘的数据结构采用17×17二维数组Map存储。

X,Y坐标原点是棋盘左上角。

虽然使用四人玩的棋盘,本游戏主要是上下两个区域,其他区域可以走棋。

例如,上方玩家棋子布阵所在区域是(7,1)到(11,6)范围,下方玩家棋子布阵所在区域是(7,12)到(11,17)范围。

2.3 通信协议设计网络程序设计的难点在于与对方需要通信,这里使用了UDP(User Data Protocol)。

UDP是用户数据文报协议的简称,两台计算机之间的传输类似于传递邮件;两台之间没有明确的连接,使用UDP协议建立对等通信。

这里虽然两台计算机不分主次,但我们设计时假设一台做主机(红方),等待其他人加入。

其他人想加入的时候输入主机的IP。

为了区分通信中传送的是“输赢信息”、“下的棋子位置信息”、“重新开始”等,在发送信息的首部加上代号。

定义了如下协议:命令|参数|参数……1.联机功能join|2.对方棋子移动信息move|x,y,idx,old_x,old_y,old_idx其中,棋子移动的目标位置坐标是(x,y),棋子移动的起始位置坐标是(old_x,old_y);old_idx是被移动棋子的控件数组索引号,idx是目标位置留下的棋子的控件数组索引号。

3.游戏结束over|+赢方代号(赢了此局)4.表示要重新开始reset|5.布阵信息layout|布阵棋子信息布阵棋子信息形式为x,y,idx,x,y,idx……idx是(x,y)处的棋子的控件数组索引号。

注意本程序在传递布阵信息时,我们默认了是绿方在棋盘上方,红方在下。

但实际下棋如果棋手使用绿方,这样看非累死不可,所以这里我们采取了个小技巧,在发送布阵数据时我们把坐标颠倒(把自己的棋盘颠倒),即(x,y)坐标以(18-x,18-y)坐标发给对方。

在下棋过程中,为了保存下过的棋子的位置使用了Map数组,Map数组初值为101,表示此处无棋子。

关于0到24的棋子含义如下在qi_index()规定:private void qi_index(){Q = new int[25];Q[0] = 29; //军旗29Q[1] = 30; Q[2] = 30; Q[3] = 30;//地雷30Q[4] = 31; Q[5] = 31;//炸弹31Q[6] = 32; Q[7] = 32; Q[8] = 32;//工兵32Q[9] = 33; Q[10] = 33; Q[11] = 33;//排长33Q[12] = 34; Q[13] = 34; Q[14] = 34;//连长34Q[15] = 35; Q[16] = 35;//营长35Q[17] = 36; Q[18] = 36;//团长36Q[19] = 37; Q[20] = 37;//旅长37Q[21] = 38; Q[22] = 38;//师长38Q[23] = 39;//军长39Q[24] = 40;//司令40}即0为军旗,1~3为地雷,4,5为炸弹,6~8为工兵,9~11为排长,12~14为连长,15,16为营长,17,18为团长,19,20为旅长,21,22为师长,23为军长,24为司令。

在Q数组中Q[24]=40而不直接写为“司令”,原因是棋子图片命名时采用40.bmp,所以为显示图片方便,这里Q[24]=40。

25~49代表绿方棋子。

绿方只要减去25(每方25个棋子)即可利用Q数组得知绿方棋子的含义,如27代表的是绿方地雷。

2.4 走棋规则设计对于军棋游戏来说,规则非常简单,就是按照先后顺序在棋盘上走棋吃子,直到一方最先将对方的“军旗”挖掉为胜。

但在走棋过程中,需要考虑以下情况:(1)是否为非棋子区。

(2)目标处是否是自己的棋子。

(3)判断目标是否是行营,如果是则需判断是否有子,如果没有可以如象棋中的“士”一样斜线走棋。

(4)判断起始位置是否是铁道线,如果是则考虑弯道、直道、棋盘正中间的3×3“田字”,否则只能移动一步。

(5)“军旗”棋子、地雷棋子不能走动。

(6)在“大本营”中的棋子不能移动。

可以看出走棋规则比较复杂。

在设计时Go_Juge(int old_x,int old_y,int x,int y)判断走棋的位置是否适当。

private bool Go_Juge(int old_x, int old_y, int x, int y)//判断走棋的位置是否适当{label1.Text = old_x.ToString() + "old_x:old_y" +old_y.ToString() + ":" + Map[old_x, old_y].ToString();label2.Text = x.ToString() + "x:y" + y.ToString() + Map[x, y].ToString();if ((x <= 6 && y >= 1 && y <= 6) || (x >= 12 && y >= 1 && y <= 6) ||(x <= 6 && y >= 12 && y <= 17) || (x >= 12 && y >= 12 && y <= 17) || y > 17)return false;//目标位置是自己方的棋子//Why***********if(IsmyChess(x,y)) return false;//到行营,行营是否有子if (Is_Home(x, y) && Map[x, y] != 101) return false;//如“士”斜线从行营中出来**********if (Is_Home(old_x, old_y) && Map[x, y] == 101 && Math.Abs(x - old_x) * Math.Abs(y - old_y) == 1) return true;//如“士”斜线走入行营************if (Is_Home(x, y) && Map[x, y] == 101 && Math.Abs(x - old_x) * Math.Abs(y - old_y) == 1) return true;//移动一步if (Math.Abs(x - old_x) == 1 && y == old_y || Math.Abs(y - old_y) == 1 && x == old_x) return true;//铁道线if (T_Juge(old_x, old_y, x, y)) return true;//if(T_Juge(old_y,old_x,y,x)) return true;return false;}本程序中go_chess(int old_x,int old_y,int x,int y,int idx)完成走棋吃子功能,其中判断以下几种情况:(1)双方均为工兵到司令的棋子,则按大小比较决定保留那方棋子。

相关文档
最新文档