扑克牌游戏软件

实验2 (扑克牌游戏软件)面向对象编程

实验目的

1、掌握如何在Java 程序中描述一个完整的实体概念。了解Java 语言中类的声明和对象的创建与撤销,特别是对象的生存期以及对象状态的概念。

2、继承机制表达了实体与实体之间的is-a 关系,它是面向对象设计的重要特性,而多态性则是该特性带来的程序设计精华。掌握继承机制以及以此为基础的程序多态性。

实验任务

1、编写一个扑克牌游戏软件,首先定义一个单张扑克牌类,包含每张牌的花色与大小,牌的大小1应该表示为A,11~13应分别表示为J、Q和K。然后定义一个整幅牌的类,编写洗牌、发牌与理牌方法。

如果一副扑克牌的张数共54张,即包含了大小王牌,并且为了适应升级玩法,在发牌时每位玩家手头只有12张牌,余下的6张牌为“底牌”,又应该如何实现?

实验指导

/******************** Bridge.java************************/

提示:

如何存放54张牌?可以定义一个Card类,表示一张牌,Card应该有属性“花色”和“大小”,那大小王又怎样描述?然后用一个Cards类存放54张牌,初始时按顺序存放。

洗牌的算法如何?洗牌就是随机从Cards数组中抽出两张牌进行交换,假设交换了500次。

发牌后如何存放玩家的牌?当然也用数组了,不过需要5个数组,其中一个用来放底牌。

• 建模:

一副扑克牌(PlayingCards)

属性:4种花色×13种点数=52张牌deck

行为:洗牌shuffle()、发牌deal()、理牌sort()

单张扑克牌(Card)

属性:花色suit与点数face

行为:显示属性toString()、花色与点数排序次序compareTo()


你可能感兴趣的:(游戏)