Logo
Section 1 / 6

项目描述:拼字游戏(Scrabble)

了解“拼字游戏”(Scrabble)的简要介绍,并学习本项目中我们将实现的功能。

导入

项目描述:拼字游戏(Scrabble)

了解“拼字游戏”(Scrabble)的简要介绍,并学习本项目中我们将实现的功能。

简介

不可否认,我们正处于一个数字化的时代。几乎所有事物都有其数字版本。一家游戏公司决定对传统的拼字游戏(Scrabble)进行革新。这款游戏将仅通过电脑、手机等数字媒介提供。玩家可以与另一位人类玩家对战,也可以与电脑玩家对战。在游戏过程中,如果玩家遇到困难,系统还提供求助功能。

问题描述

进化的拼字游戏具有以下规则:

  • 游戏开始前,需创建多个相同长度的单词组。
  • 每位玩家在轮到自己时,选择一个单词组。
  • 从该选中的单词组中,选择一个 起始 单词和一个 目标 单词。
  • 另一位玩家需要将 起始 单词通过一系列变换转化为 目标 单词。
    • 每次变换只能更改一个字母。
    • 每次变换后生成的新单词必须仍属于同一单词组。
  • 如果玩家能以最少的字符变换次数达成目标单词,则获得满分。
  • 当所有单词组都被处理完毕后,用时最短的玩家获胜。

假设你是该游戏开发团队的一员,你的任务是开发一个可供人类玩家对战的电脑对手。该解决方案同样适用于当玩家需要系统帮助时的情况。实现这一功能的关键在于遍历所选中的单词组。

功能需求

为了实现上述功能,我们需要引入以下两个核心功能:

  • 功能 #1: 找出从 起始 单词到 目标 单词所需的最少变换次数。
  • 功能 #2: 在满足最少变换次数的前提下,列出所有可能的最终结果,供用户选择。

在接下来的课程中,我们将详细讨论如何实现这些功能。此外,这些解决方案也可应用于其他常见的面试题目。

Boggle

特性 #1:最少移动次数