Skip to content

Fros1er/2DBoardGameFrame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Simple Framework for 2-D Board Games

For non-Chinese speakers

Sorry for not providing English version of readme and docs. I'll add them once I have time.

免责声明

重要的事情说在前面:如果您是南方科技大学正在修读CS109课程的同学,请认真考虑直接使用本项目对您的成绩带来的风险

这个项目活了一年之后,它终于被老师发现了...
既然如此那就不演了。这个项目的初衷是速通南方科技大学CS102A 计算机程序设计基础A这门课(现在改名成CS109 计算机程序设计基础)。

虽然这个速通比较离谱,因为框架本身基本涵盖了所有bonus(属于是用了就满分),而且理解框架之后的代码量大概在几百行左右,还可以直接照着现成的demo改。 因为我写这个的时候非常菜(现在也是), 前两个学期也有同学直接改框架内部的代码,看起来也是轻松加愉快的。

前两个学期用框架的同学都没出事,并且拿到了高分(基本都满了),但很显然老师不会喜欢这么做。所以:

  • 如果您要直接使用框架,请一定要直接使用release中给出的jar包。这样可以防止被查重,但很可能会因为太偷懒被老师谴责(虽然没有先例)。
  • 框架目前没有被官方禁用。请使用时留意课上有关信息。个人而言,建议把直接使用框架当作万不得已的手段(比如还有一周ddl你们基本什么也没做,或发现已经写出的东西无论如何也没办法拿bonus)。
  • 推荐借鉴本项目中的设计思路和部分GUI相关的代码。有些设计在自己写的时候是不必要的。见如何借鉴

任何使用本项目造成的后果(包括但不限于成绩出问题)与本人无关。上面已经清楚写明了风险。

简介

这是一个用jvav swing写的给2D棋类游戏或者带格子的游戏(比如扫雷)的框架。
功能包括:基础的gui架构(resize,更换图片,音乐的接口等),撤销,存档/读档和迫真的回放,人机对战接口,简陋的玩家数据保存和排行榜。
框架不提供的功能(需要自己实现的部分)包括:具体游戏逻辑,具体的棋盘/格子/棋子/部分ui的绘制,AI的具体算法。这些部分并不多,详见example里200多行写的五子棋。

更多细节请查看文档example

如果有文档没有涵盖的问题,或者您对我乱七八糟的代码有宝贵的建议或意见,请提交issue,或者pm也行。

本项目由Apache-2.0协议开源。