xiangmy21 / Summertraining-homework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

important!! 有同学反映在特定平台和版本上使用find_package(Protobuf CONFIG REQUIRED)语句无法正常查找到protobuf,可以尝试将其改为find_package(Protobuf REQUIRED)!!

第六讲作业

本讲作业中,我们除了会对之前两讲中的知识点进行复习,还会带领大家接触如何在Linux上搭建开发环境。

使用工具

本次作业的程序在Linux操作系统上运行。

题目和要求

  1. 完善proto/player.proto文件的书写。message Player中应该包含以下字段:
  • 生命值life:整型
  • 昵称nickname:字符串类型
  • 职业job:Job枚举类型
  • 所持有的道具propsProp类型,注意应该使用repeated关键字进行限制。
  1. 使用protoc工具,将编写好的proto文件转换为.cc文件和.h文件,并分别置于src/h/文件夹下。

  2. src/main.cpp中初始化一个player对象,并利用如下信息将其初始化:

  • life:10000
  • nickname:Alice
  • job:SHOOTER
  • props:持有两个道具,道具1:cd=1000,name=SuperFast;道具2:cd=10,name=NuclearWeapon
  1. 完善CMakeLists.txttarget_include_directoriesadd_executable的书写,并利用cmake工具生成可执行文件。运行程序,观察终端的输出和生成的序列化信息文件output.bin

扩展阅读(无需提交)

Protobuf

以下是THUAI5工程中使用到的protobuf文件:

Message2Clients.proto

Message2Server.proto

MessageType.proto

感兴趣的同学可以阅读这些文件,了解课上所讲的protobuf语法在实际项目中的应用。

CMake

以下是THUAI5工程中使用到的CMakeLists.txt文件:

CMakeLists.txt

感兴趣的同学可以阅读这些文件,了解课上所讲的CMake语法在实际项目中的应用。

提交方式

提供两种提交方式:

  1. GitHub 提交
  2. 邮箱提交
    • 修改相关文件,修改好后,将summertraining-homework整个文件夹打包成常见压缩格式(如.rar.zip等),并命名为:hw_姓名_班级 (如:hw_小明_无19)发送到邮箱 yujinwangthu@foxmail.com

截止日期

2022.7.31 23:59之前

About


Languages

Language:C++ 64.7%Language:CMake 35.3%