首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ada Text_IO在Get之后输出打印

Ada Text_IO在Get之后输出打印
EN

Stack Overflow用户
提问于 2014-11-05 14:58:09
回答 1查看 1.4K关注 0票数 2

我试图从用户那里获得以下格式的字符输入:

代码语言:javascript
复制
Player 1: a

这是我的密码:

代码语言:javascript
复制
Ada.Text_IO.Put("Player"&Integer'Image(board.turn)&": ");
Ada.Text_IO.Get(Item => move);

现在,当我运行我的程序时,会发生这样的情况:

代码语言:javascript
复制
a
Player 1: 

出于一些奇怪的原因,在投币前.我试着改变他们的位置,结果仍然是一样的。

我最近更新了我的AdaCore小虫从2012年到2014年,我没有这个问题在2012年.

我是不是遗漏了什么?

请帮帮我!

如果您需要,这些是我的with/use:

代码语言:javascript
复制
with Ada.Text_IO, Ada.Characters.Handling;
with Ada.Exceptions; use Ada.Exceptions;
USE Ada, Ada.Text_Io;

这是更多代码..。别担心人工智能的事..。

完整代码:

代码语言:javascript
复制
PROCEDURE Main IS
  PACKAGE board is new connectfour;
  USE board;
begin
  PUT("   ********** CONNECT-FOUR *********"); Put_Line("");
  AI.start;
  while (not board.isFull) loop
    if AIwin = true then goto Win; end if;
    Put_Line(""); DELAY 0.5;
    Put("Player"&Integer'Image(board.turn)&": ");
    Get(move);
    if move='0' then goto Quit; end if;
    Put_Line("");
    if board.Move(move) = true then goto Win; end if;
    board.print; DELAY 0.5;
    AI.print;
  end loop;
  <<Win>>
  Put_Line("");
  Put_Line("PLAYER"&Integer'Image(board.turn)&" IS THE WINNER!");

  <<Quit>>
  AI.stop;
  Put_Line("");
  if move='0' then
    Put_Line("PLAYER"&Integer'Image(board.turn)&" HAS FORFEIT!");
    if board.turn = 1 then
      Put_Line("PLAYER 2 IS THE WINNER!");
    else
      Put_Line("PLAYER 1 IS THE WINNER BY DEFAULT!");
    end if;
  end if;
end Main;
EN

回答 1

Stack Overflow用户

发布于 2014-11-05 15:19:17

标准输出可能被缓冲。试一试

代码语言:javascript
复制
Ada.Text_IO.Put("Player"&Integer'Image(board.turn)&": “);
Ada.Text_IO.Flush;
Ada.Text_IO.Get(Item => move);

(稍后)

这不是答案。我刚试过

代码语言:javascript
复制
with Ada.Text_IO;
procedure Borovez is
   Move : Character;
begin
   Ada.Text_IO.Put ("Player" & Integer'Image (42) & ": ");
   --  Ada.Text_IO.Flush;
   Ada.Text_IO.Get (Item => Move);
end Borovez;

在GPL 2014/Windows 7上,它运行得与预期完全一致。

您需要编辑您的问题,以包括一个Minimal, Complete, and Verifiable example

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26760235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档