Code Monkey home page Code Monkey logo

uno's Introduction

UNO

这个小游戏是UNO的变种,是面向对象编程课(java)的一个作业。
这个游戏是一款单机游戏,一个人类用户和多个可选策略的电脑用户,共有三套可选规则,一套游戏有54张扑克牌,在不同游戏规则下每张牌有不同的功能。基本规则和UNO游戏一样,只能出和上家出相同数字或者相同花色的牌,否则自摸一张,直到可以继续出牌。有变换花色等特殊牌和惩罚牌,用于增加可玩性。
此次项目分为三个阶段完成:

  1. 设计功能,完成三种UML图的绘制;
  2. 完成核心代码,可以在控制台进行游戏;
  3. 完成图形界面设计。

功能设计

为更好了解用户使用情况和项目框架,在项目前期绘制三类UML图进行分析:
A. 使用情况图(用例图):此类图可具体定义是谁用软件以及软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,系统为执行者完成哪些功能。 我的项目中用户可分为人类用户和电脑用户,人类用户拥有更多功能,除摸牌、出牌基础功能外,还可进行游戏配置:对电脑玩家的策略选择和人数配置,以及中止游戏功能。

B. 项目类图:根据使用情况抽象出游戏相关的类,此游戏设计的类有玩家、卡牌和游戏。

  • 游戏玩家:有两类游戏玩家,人类玩家和电脑玩家,均继承自玩家父类,对于人类玩家赋予更多功能。电脑玩家采用了策略模式,创建策略接口,根据不同策略的选择,调用相对应的方法。
  • 卡牌:有不同的游戏规则可进行选择,所以创建一个卡牌父类,对所有卡牌共有的特点进行定义,例如花色,数字,控制台打印牌的格式等。然后分为一个普通卡牌和三种特殊卡牌,完成三种规则的设定,其主要规定在于牌的功能的不同。
  • 游戏:该类用了单例模式,用于确保游戏的唯一一个实例。设定了游戏实现的基本功能,发牌、洗牌、算分、结束游戏等。

C. 项目序列图:便于构思游戏进行步骤,提前预设游戏方法之间的调用情况,有一个宏观的游戏流程记录。例如开始游戏后先进行游戏配置,再进行洗牌、发牌,游戏过程中可能牵扯到再次洗牌,游戏方向的改变等,以及最后的结束游戏。

核心代码

此阶段完成了游戏的主体构建,保证了游戏的正确运行,在控制台可进行游戏。

图形界面

设置图形界面,实现可视化游戏。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.