个人理财 Java编程挑战:一个简单的井字棋游戏 - 傻瓜

Java编程挑战:一个简单的井字棋游戏 - 傻瓜

视频: iOS10 实战开发 Swift3.0 S2 井字棋第一期 2024

视频: iOS10 实战开发 Swift3.0 S2 井字棋第一期 2024
Anonim

如果您决定接受它,您的任务是创建一个Java程序,可以与用户一起玩井字游戏。你可能知道,井字棋是一个简单的游戏,通常用纸和铅笔玩。首先,在纸上制作一个简单的3 x 3网格。然后两名选手轮流在网格上的空白处标记X和O.在水平,垂直或对角线上打出三个他或她的分数的第一个选手获胜。如果网格中的所有空格在任何玩家连续三次标记之前被填满,则游戏是平局。

<! - 1 - >

以下是这个挑战的规则和说明:

计算机与人类对抗。人为先移动,为X.计算机为O.

  1. 程序首先显示一个简短的欢迎信息,然后提示玩家第一次移动。例如:

  2. 欢迎来到Tic-Tac-Toe。请输入您的第一步:

    要指定网格的正方形,请使用字母A,B和C作为列,并使用数字1,2和3作为行,如下所示:
    
  3. <!因此,为了将X置于左上方,当玩家在程序提示玩家输入时,人类玩家将输入文字A1移动。

    在人进行移动之后,程序应该在控制台上显示该板的当前状态。
    用X标记人类的戏剧,用O标记电脑的戏剧。使用垂直栏字符(在键盘上找到反斜杠字符,在输入键上方)和连字符以简单的网格绘制板。
    

    <! - 3 - >

    例如,如果用户第一次输入A1,程序将显示以下内容:

  4. X | | --- | --- | --- | | --- | --- | --- | |

    人类的移动之后,程序决定移动,向用户发布,显示更新后的棋盘,然后提示用户移动。

    例如,您可能会看到:

    我将播放A2:X | O | --- | --- | --- | | --- | --- | --- | |请输入您的下一步棋:
    
  5. 继续进行游戏,直到一名玩家连续得分三次,或者所有棋子都没有赢家。您的程序必须能够确定任一玩家是否连续获得了三个并赢得了游戏。 (这是编程挑战中最困难的部分。)

    游戏结束后,程序显示一条消息,指出游戏的结果:“你打我! “如果玩家赢了,”我揍你! “如果电脑玩家赢了,或”这是一个平局! “如果比赛以平局结束。

    人类和电脑玩家只能在没有被任何一方玩家占据的方格里玩。
    
  6. 当任一玩家赢得比赛或该比赛是平局时,程序结束。如果你想再次玩,你必须再次运行程序。

  7. 请注意,您可以自由使用任何方法来确定计算机如何进行移动。我建议你有电脑总是在第一个空的广场玩。玩Tic-Tac-Toe显然不是最好的方法,每次玩的时候你都不会打电脑。但是选择这种简单的游戏策略可以让你专注于编程的其他方面,比如如何在内部表现网格,以及如何确定玩家何时赢得比赛或何时游戏结束。

  8. (在“Java编程挑战:添加数组到简单的井字游戏程序”中,您需要为程序提供一个更好的策略来确定它的播放。)

  9. 下面是一个例子控制台显示一个完整的游戏:

欢迎来到Tic-Tac-Toe。请输入您的第一步:

A1

X | | --- | --- | --- | | --- | --- | --- | |我将在A2:X |上玩O | --- | --- | --- | | --- | --- | --- | |请输入您的下一步行动:

B1 X | O | --- | --- | --- X | | --- | --- | --- | |我将在A3:X |上玩O | O --- | --- | --- X | | --- | --- | --- | |请输入您的下一步行动: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | |你打败了我! 下面是一些启动的提示: 表示网格的最好方法是使用数组。现在,使用九个变量,分别命名为A1,A2,A3,B1,B2,B3,C1,C2和C3。 如果对网格变量使用int类型,则可以使用1来指示正方形包含X和2,以指示正方形包含O.

八个可能的行可以导致赢。如果以下任何一个正方形的组合都是1(对于X)或2(对于O),则玩家获胜:

  • A1-A2-A3 A1-B1-C1 A1 -B2-C3 B1- B2- B3 A2- B2 - C2 A3 - B2 - C1 C1 - C2 - C3 A3 - B3 - C3

  • 确定游戏是否为平局有两种方法。首先是检查所有九个方块:如果没有一个方块是空的,而且没有一个玩家赢了,那么这个游戏就是平局。第二个是数数:如果有九个动作都没有赢,那么这个游戏就是平局。

  • 您可以在

    Java All-in-One傻瓜版的
    
  • 第4版产品页的“下载”选项卡上找到针对此编程挑战的解决方案。祝你好运!

Java编程挑战:一个简单的井字棋游戏 - 傻瓜

编辑的选择

特权的基础知识在Oracle 12c - 虚拟机

特权的基础知识在Oracle 12c - 虚拟机

用户可以在Oracle 12c数据库中完成。您可能希望允许用户能够登录,但是您可能需要限制用户是否可以执行以下任一任务:访问某些数据开始...

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

的基础知识Oracle 12c恢复管理器(RMAN)环境,请考虑恢复目录。恢复目录是所有RMAN配置参数,备份操作和元数据的存储库。该目录可以无限期地存储备份信息。如何在Oracle 12c中选择目录模式RMAN提供了两种用于存储备份数据的选项:NOCATALOG ...

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

打开数据库中的审计记录,跟踪您制定的审计,以便您了解所做的事情。幸运的是,Oracle 12c在数据库中提供了一些视图来帮助您跟踪自己的操作:要验证您为审计配置的系统特权,请使用视图AUDIT_UNIFIED_POLICIES。要查看...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

更改MYOB中的文本和日期 - 虚拟人物

更改MYOB中的文本和日期 - 虚拟人物

MYOB为您提供了许多快捷方式以帮助简化任务。例如,您可以像在任何文字处理器中那样在MYOB中复制和粘贴文本。以下是快捷方式:按键组合快捷键结果Ctrl-A选择所有高亮显示的文本Ctrl-C复制文本Ctrl-V粘贴文本Ctrl-X删除或剪切文本Ctrl-Z取消最后一位...

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

主页,如果你选择案例,如图所示)。案例主页。当您点击Salesforce中的一个选项卡以访问特定的对象(例如,帐户,联系人或个案)时,您可以看到一些较大的,勾勒出的最近案例,报告和矩形的矩形。