Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

Commit 78da6d6

Browse files
authored
Update README.md
1 parent 334895d commit 78da6d6

File tree

1 file changed

+131
-5
lines changed

1 file changed

+131
-5
lines changed

README.md

Lines changed: 131 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,138 @@
11
# Word-Magic-Square
22
【一等奖】王诗凯 丁梓琳 张弛
33

4-
word6.csv可以测试导入词库的功能
4+
## 一、创意来源及设计目的
55

6-
WordMagicSquareApp文件夹内有可执行文件
6+
单词拼写是英语学习的重要组成部分之一。
77

8-
SquareWE为客户端源码
8+
然而,对于很多英语学习者来说,记忆大量的单词拼写往往是一件困难的事情。在传统的学习方法中,反复地背诵单词拼写可能会让学习者感到乏味和枯燥,从而影响学习效果。因此,**我们设计了这个游戏**,通过**在布满英文字母的三阶立方体上点击相邻的字母组合成单词,并消除已经组合成单词的小立方体**的趣味游戏模式,不仅可以让学习者在游戏中愉快地学习单词拼写,同时也可以激发他们的学习兴趣和积极性,提高学习效果。
99

10-
SquareWE-backend为Server源码
10+
我们相信,这个游戏可以成为一种有趣、有效的英语学习工具,能够帮助更多的英语学习者更轻松地掌握单词拼写,提高英语学习的效率和兴趣。
11+
12+
## 二、功能介绍
13+
14+
- **主页面**:有**Start Game/Player Message/Help/Exit**四个选项
15+
16+
- **Start Game**:点击后即可进入游戏模式选择界面。初次进入时会跳出登录提示,点击后即可输入昵称密码登录。若未注册,可先注册账号。
17+
18+
- **player Message**:点击后即可进入玩家信息界面, 可更换、裁剪并查看玩家头像、昵称、账号、排行榜、物品栏、单词列表等信息。点击头像即可用电脑上现有图片更换头像。如果没有登录,将提示用户进行登录。
19+
20+
点击右侧按钮,即可查看好友列表,可以**添加好友,与好友聊天,邀请好友开始联机模式**
21+
22+
- **选择游戏模式**
23+
24+
- **闯关模式**:可选择多个关卡,这些关卡有些是引入了一定的生成随机性,有些是由开发组成员精心设计的,为了体验完整,并没有加入对于关卡顺序的限制,玩家可以有更加丰富的体验,立方体边长依次增加,难度上升。
25+
- **自定义模式**:可自主选择边长、缺失的立方体个数、按照一定的规则(见附录:设置缺失立方体位置)设置缺失立方体的位置、难度等级,**还可从自己电脑上载入要使用的单词表**。(此处单词表文件应遵循一定的规则和语法,详见附录:单词表)
26+
- 无尽模式:暂未开发
27+
28+
- **联机模式**:在好友界面,添加对方的好友后,通过发送对战邀请或接受对战邀请,发起邀请者进行游戏相关设置后,开始游戏。双方同时对相同立方体进行消除。
29+
30+
- **游戏界面**
31+
32+
- 每场游戏中,用户通过点击立方体**相邻面**上的字母组合成单词,每个字母被使用三次后自身所在的立方体将会被消除。在完成了规定数量的单词消除(剩余的方块个数小于等于3)或者将整个立方体消除后,玩家将会取得胜利。
33+
- **rotate screen按钮**:点击后,可通过键盘上**w/a/d/s/q/e键控制整个大立方体的旋转**,以从各个角度看到字母。
34+
- **rotate cube按钮**:点击后,选择任意小立方体,通过**w/a/s/d/q/e键控制该小立方体的旋转。**需要注意的是,可以选择多个小方块进行同步旋转。
35+
36+
- **move cube按钮**:点击后,选择任意小立方体,通过同上的按键使其向旁边有空缺的地方移动。需要注意的是,这个操作只支持选择一个面。W为向Y轴正方向移动,S为向Y轴负方向移动,A为向X轴负方向移动,D为向X轴正方向移动,Q为向Z轴负方向移动,E为向Z轴正方向移动。
37+
38+
- 左上角的坐标轴:这是一个参考坐标系,与Unity的左手坐标系一致并且会随着大方块的旋转而旋转,玩家进行操作时可以参考。
39+
40+
- 在点击方块的面时,只有相邻的面才能连续选中并连成单词,同一个单词路径不能使用超过一次,比如你发现了有一种点击方式可以连成and这个单词,那么这个点击方式只能使用一次,但是and这个单词在本局游戏中依然可以被合成。
41+
42+
- 当点击的面可以合成单词时,游戏右上角会提示用户**按下Space键进行合成**,此时用户可以选择按下也可以选择不按下,从而实现合成更长的单词。
43+
44+
- **设置界面**
45+
46+
- 可控制总音量、背景音量等,并可进行账户操作。
47+
- 可以看到当前的服务器IP,由于服务器并没有挂载,因此需要在个人PC上运行Server,启动游戏后要先配置Server的IP地址和端口号。本地调试请输入127.0.0.1,端口号为8080,但是这样无法体验联机模式。建议在cmd中运行ipconfig命令获得自己的IP,并让Server在这个IP上运行,然后将这个IP和对应的端口写在设置中对应的位置并单击确定按钮。
48+
49+
- 商店页面:玩家在游戏过程中可以获得金币和钻石,用他们可以在商店购买商品。单击商品查看它的作用,单击purchase按钮进行购买。购买的物品将会在PlayerMessage页面中显示。
50+
51+
## 三、启动游戏
52+
53+
* **首先应该启动Server**
54+
55+
* Server需要安装python环境,并且安装Django包
56+
57+
* 完成环境配置后,在SquareWE-backend目录下输入以下命令:
58+
59+
```shell
60+
python manage.py migrate
61+
python manage.py runserver 0.0.0.0:8080
62+
```
63+
64+
这里0.0.0.0是本地调试的IP,8080是端口号,如果要想将Server跑在自己的PC上,并且其它计算机也可以访问,可以在cmd中输入ipconfig查看当前IP,并替换0.0.0.0,端口号可以是8080或者8000。
65+
66+
* 之后Server开始运行,可以正常运行WordMagicSquare。
67+
68+
* 不管是在什么情况下,进入游戏后**都要打开设置界面设置Server的IP地址和对应的端口号**
69+
70+
* 如果你启动了一个全新的Server,那么需要先在游戏中注册一个账号。
71+
72+
* 为了展示排名效果,压缩包中的Server数据库有一些已有的账号。
73+
74+
* 如果你在Unity编辑器中启动,首先应打开Assets/Scene文件夹下的BeginUI场景,从这个场景出发程序才能够正常运行。
75+
76+
## 三、所用技术
77+
78+
* 客户端主要使用**Unity3D**进行开发;
79+
80+
* Server实现玩家信息、排名等功能使用**Django及其原生SQL**开发。
81+
82+
* 自创单词排布算法进行游戏底层设计。为降低游戏难度,采用深度优先搜索算法进行单词排布。
83+
84+
## 四、分工情况
85+
86+
* 王诗凯:负责设计UI界面、场景跳转、玩家信息管理、和服务器的通讯以及方块旋转移动代码的编写。
87+
* 丁梓琳:使用Django进行后端开发,联机模式玩家相关操作、排名、玩家信息存储等功能实现。
88+
* 张弛:负责方块外观,联机模式框架和点击逻辑的编写。
89+
90+
## 五、软件构建方式和成品
91+
92+
* WordMagicSquare客户端:
93+
* Unity编辑器版本为2021.3.16f1c1
94+
* github仓库:https://github.com/sendssf/SquareWE
95+
* WordMagicSquare服务器:
96+
* 使用python的Django架构
97+
* github仓库:https://github.com/sendssf/SquareWE-backend
98+
99+
## 附录
100+
101+
### 单词表
102+
103+
文件类型为.csv,格式如下:
104+
105+
```
106+
1,word1
107+
2,word2
108+
3,word3
109+
....
110+
```
111+
112+
数字和单词用**半角逗号**进行分隔,数字请勿出现重复,并且按照1~n的顺序进行排列。单词中请勿出现特殊字符。
113+
114+
## 设置缺失立方体位置
115+
116+
格式如下:
117+
118+
```
119+
1,3,6,7...
120+
```
121+
122+
数字大小范围为$0-n^3$,其中n为立方体的边长,不必按照从小到大顺序,数字之间用**半角逗号**分隔,最后一个数字末尾不需要逗号。这里的数字表示缺失立方体的编号,在Unity的左手坐标系下,立方体编号从小到大依次为:
123+
$$
124+
(0,y_{max},0),(1,y_{max},0),(2,y_{max},0),...,(x_{max},y_{max},0),(0,y_{max},1),(1,y_{max},1)
125+
...(0,y_{max},z_{max}),(0,y_{max}-1,0),...(x_{max},0,z_{max})
126+
$$
127+
128+
# 注意!
129+
130+
__如果发现无法连接 _Server_ ,请检查服务器代理是否关闭。__
131+
132+
**如果游戏中发生卡顿,可能是网络原因,timeout为5s,请等待一会儿,并检查IP和端口是否正确,以及Server是否正常运行**
133+
134+
135+
136+
_希望这款游戏能够帮助你度过枯燥无味的英语学习!我们会和你一起进步!_
137+
_——游戏开发团队_
11138

12-
还有效果演示视频和用来测试头像功能的png图片文件夹

0 commit comments

Comments
 (0)