Commit e1a7b2ca authored by 魔法少女赵志辉's avatar 魔法少女赵志辉 🍊
Browse files

Add Q&A for project1.

parent 4337240e
......@@ -6,7 +6,7 @@
\vspace{-50pt}
\textbf{\Huge Project1}\\
\textbf{\huge 文档预览器}\\
\small Version 1.0.0
\small Version 1.1.0
}
\author{刘添翼\thanks{\href{mailto:tyi.liu@outlook.com}{tyi.liu@outlook.com}}}
......@@ -75,7 +75,7 @@ Word格式的话看起来则更加困难:记事本打不开它们了。
是的,完全没有必要重新造一个HTML渲染器。那样的话太无聊了,一点也不有趣。图形库的作者\textbf{一定}已经造好轮子了,我们直接用吧。
\end{note}
\subsection{支持的语言}
\subsection{支持的语言}\label{sec:markdown_syntax}
预览器需要支持使用下列语法\footnote{可以参考\url{https://www.markdown.xyz/basic-syntax}中给出的语法。}的Markdown文档:
\begin{description}
\item[标题] 在一行的起始位置连用若干个\mintinline{md}{#},表示不同级别的标题。也可以使用连续的\mintinline{md}{=}或者\mintinline{md}{-}
......@@ -95,4 +95,28 @@ Word格式的话看起来则更加困难:记事本打不开它们了。
\LaTeX{}和Word的支持\text{\color{red}在Project1中}不做要求,但请在自己的项目中留好接口,方便完成潜在的后续要求。
\end{note}
\section{Q\&A}
\begin{problem}
我对Markdown、和XML都完全不熟悉,我要怎么办?
\end{problem}
对Markdown不熟悉的同学可以参考\cref{sec:markdown_syntax}的脚注里提到的网址;或者可以在互联网上找到其他类似的手册。
\LaTeX{}和Wrod文档的良好支持是极端困难的。我们只希望各位同学届时能发挥自己的智慧,结合互联网上已有的讨论,战略性地尝试一下,支持一些最常见最基本的语法即可。
\begin{problem}
我需要在Project1里实现GUI吗?
\end{problem}
对,至少需要实现一个能够以网页的形式展示HTML的界面。
功能相对完备的图形库大多带有可以渲染和展示HTML网页的设施。请查阅相关的手册然后自行尝试。
FLTK似乎没有;
wxWdigets的用户可以参考\url{https://docs.wxwidgets.org/3.0/classwx_web_view.html}
Qt的用户可以参考\url{https://doc.qt.io/qt-5/qtwebenginewidgets-module.html}
\begin{problem}
我应该使用哪个图形库?
\end{problem}
原则上任何一个都可以。实际一点的话,考虑到这个项目的现实情况,一个相对功能完备的图形库会比较合适。
具体而言,有良好的HTML渲染引擎,有文件管理相关的设施,有内置的XML解析器和文本编辑器的会比较合适。
\end{document}
......@@ -18,7 +18,7 @@
\vspace{-50pt}
\textbf{\Huge Project1}\\
\textbf{\huge 塔防游戏}\\
\small Version 1.0.0
\small Version 1.1.0
}
\author{刘添翼\thanks{\href{mailto:tyi.liu@outlook.com}{tyi.liu@outlook.com}}}
......@@ -134,4 +134,42 @@ Project1的最后期限是\textbf{北京时间2021年10月10日23时59分}。
敌方单位的具体情况\text{\color{red}在Project1中}可以自由发挥,但请在自己的项目中留好接口,方便完成潜在的后续要求。
\end{note}
\section{Q\&A}
\begin{problem}
我可以使用EasyX、Unreal Engine、NoesisGUI之类的库吗?
\end{problem}
可以,只要它们为程序的开发者提供的API是\CC{}的即可。
过于复杂和高级的库可能并不容易学习掌握,打包和发布程序或许也会相对困难;过于简单的库则缺乏一些必要的基础设施,会不必要地加大任务量。
一般来说,我们会推荐初学者使用一些成熟的、有良好文档的、容易上手的库,这样的库不必是Qt,或许某些(不为我们所熟悉的)专为游戏开发设计的库是最适合这个项目的。如果有同学对此有心得,欢迎联系我们。
\begin{problem}
我必须在Project1中实现一个GUI吗?
\end{problem}
并非如此。我们只要求项目在最终有一个可用的GUI,并不强求各位同学在Project1就实现它的部分或者全部。
不过为了避免不必要的重构,思考如何设计程序的核心逻辑使其能在各种UI(包括\textbf{G}raphical \textbf{U}ser \textbf{I}nterface和\textbf{C}ommand \textbf{L}ine \textbf{I}nterface)上展示是有必要的。
\begin{problem}\label{pro:new_idea}
我不喜欢这个游戏,我有一个新的想法。
\end{problem}
请带上新项目的文档来联系我们,我们很欢迎新的想法。
不过考虑到这是一门程序设计课的课程项目,我们可能会对新项目的扩展性有比较高的要求,因此可能难免会提出一些(或许看起来和这个项目并不搭的)要求。总体来说新的项目是被允许的,但是如果新的项目不能很好地体现这门课程的宗旨,或许项目的最高分数会打一些轻微的折扣。
\begin{problem}
我不喜欢某些规定动作,我可以改变/简化/删去它们吗?
\end{problem}
参见\cref{pro:new_idea}。请带上你的新想法的文档来联系我们。
如果经过我们评估,认为新的想法的难度适中,可以体现本课程的宗旨,那么是可以的;如果新的想法显然弱化了项目的难度或者和项目的根本宗旨不合,可能会轻微地影响项目的得分。
\begin{problem}
我没有美术天赋,我是不是需要自己硬着头皮画地图/单位/动画/…?
\end{problem}
完全不需要。
参见\cref{sec:map},只要能够达意,不论是自制的美术素材,还是经授权使用的其他人的美术素材,或者只是简单的文本和字符,都是可以的。
\end{document}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment