平台:Linux Ubuntu
C语言环境:mingw 11.3.0(好像是gcc?)
编译选项:命令行编译:
gcc -g server.c -o server -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lm(server端口)
gcc -g client.c -o client -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lm(client端口)
使用的第三方库:SDL 包括SDL_image SDL_ttf SDL_mixer
游戏方式:游戏内有介绍,建议用雷系和冰系的小球,雷冰消除小球快,水雷可以感电,对周围造成伤害.记得按空格键,可以加速.
设计思路:唉….刚开始思路有问题,我想着服务器只是当作传输指令的工具,比如我在一个client端,一个玩家按下了向左移动的按钮,通过服务器将这个指令传输给另一端,另一个客户端再执行这个命令.但实际操作起来发现非常卡顿,而且两个客户端很难做到同步,很小的扰动都会造成最终的结果千差万别.最后做了一半,就大改了结构,中间浪费了很多时间.从中吸取了教训,下次做项目之前一定要想清楚该方法的可行性,最好可以上网看看其他人类似的工程,搞清楚做这种项目最基本的架构,不然就会造成大错误.
做这个项目花了很长的时间…别人可能几天就做完了,我做了快一个月,而且还有bug,联机有时也会卡顿.做的过程中,有时候被bug卡住很久,非常怀疑自己,但还好自己坚持下来,最终做出来的结果也算很满意了.作为一个脑子有点笨的C语言初学者,虽然在做C语言作业和项目的时候很痛苦,但当做完这门课最后一个作业后,我很感谢这门课,它驱使着我去学习新的东西,尝试用Linux系统,让我的代码能力有了很大的进步.最后,也谢谢各位助教,平时会私聊问你们很多问题,你们都会为我解答,麻烦到你们了.Thank you!