Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
魔法少女赵志辉
ap2021a-project
Commits
e1a7b2ca
Commit
e1a7b2ca
authored
Sep 18, 2021
by
魔法少女赵志辉
🍊
Browse files
Add Q&A for project1.
parent
4337240e
Changes
4
Hide whitespace changes
Inline
Side-by-side
project1/project1-document_previewer.pdf
View file @
e1a7b2ca
No preview for this file type
project1/project1-document_previewer.tex
View file @
e1a7b2ca
...
...
@@ -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}
project1/project1-tower_defence.pdf
View file @
e1a7b2ca
No preview for this file type
project1/project1-tower_defence.tex
View file @
e1a7b2ca
...
...
@@ -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}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment