Battleship Game
舰船战争背景描述
在一个10*10的网格里,每一个玩家有一定数量的舰船。评判玩家胜利的标准是击沉敌方所有的舰船。嘿嘿,不会玩Battleship Game的小朋友们去网上看看相关游戏直播或者亲自玩耍一下。
舰船类型 | 长度 |
---|---|
航空母舰(Aircraft carrier) [A] | 5 |
巡洋舰(Cruiser) [C] | 4 |
驱逐舰(Destroyer) [D] | 3 |
潜艇(Submarine) [S] | 3 |
扫雷舰(Minesweeper) [M] | 2 |
MVC模式基础理解
我们首先要建立一个思想,或者说,是一种理念。MVC模式,维基百科里简单介绍,这是软件架构里面的一种架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式透过对复杂度的简化,使程序结构更加直观。软件系统透过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以依据自身的专长分组。 ——维基百科
所以我们在面对复杂的程序设计时,要学会先把复杂的问题简单化。在舰船战争这个游戏里面,我们要做的无非是两个功能:一是显示玩家舰船的位置,二是实现舰船攻击的手段。
显示10*10玩家战舰位置分布功能
如何用C++输出网格图形,是肥鼠想到的第一个问题。不过,我们这里单纯地省略网络图界面设计啦。最开始简单的游戏思想是规定两个玩家two players,分别显示两个玩家的战舰分布图形。