项目二:用C++做一个战舰游戏

本文介绍了使用C++实现Battleship游戏的思路,包括游戏背景、MVC模式的解析以及如何在10*10网格中展示玩家战舰的位置。文章详细讲解了如何创建CMakeLists.txt文件,以及C++类和结构体的使用。此外,还讨论了如何通过结构体存储单元格信息,包括可见性和船只状态。文章最后提出了如何设计射击逻辑的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,分别显示两个玩家的战舰分布图形。

战舰攻击
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥鼠路易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值