【问题标题】:Array of Characters not updated properly java字符数组未正确更新java
【发布时间】:2015-06-30 18:49:41
【问题描述】:

我正在尝试在 java 中的 windows 上的终端中制作 pong。 我有一个字符数组(称为板),并且桨位置由以下代码更新

public void movePaddles()
{
  int inp = 0;
  try
  {
     inp = System.in.read();
  }
  catch(Exception e)
  {
     return;
  }
  int olr = rtop;
  int oll = ltop;
  switch(inp)
  {
     case 'w':
        ltop -=1;
        break;
     case 's':
        ltop += 1;
        break;
     case 'i':
        rtop -= 1;
        break;
     case 'k':
        rtop += 1;
        break;
  }
  updatePaddle('L',oll);
  updatePaddle('R',olr);
}
public void updatePaddle(char side,int oldtop)
{
  int edge = 0;
  int top = 0;
  // Leave 1 char of space
  if (side == 'L')
  {
     edge = 1;
     top = ltop;
  }
  else if (side == 'R')
  {
     edge = y-2;
     top = rtop;
  }
  for (int i = oldtop;i < paddleSize+1;i++)
  {
        board[i][edge] = ' ';
  }
  for (int i = top;i < paddleSize+2;i++)
  {
        board[i][edge] = paddleChar;
  }
}

最终发生的情况是,当向下移动时,拨片消失,使游戏无法玩。我做错了什么?

(完整代码在 github https://github.com/Tookmund/Text-Pong

【问题讨论】:

  • 你试过调试吗?

标签: java arrays for-loop character


【解决方案1】:

在发布我的问题之前,我确实尝试过调试我的程序,但它没有正确显示。

基本上我需要添加当前位置的值(顶部/旧顶部),这样循环就不会过早退出,因为我最初比 paddleSize 大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 2016-02-18
    • 1970-01-01
    • 2014-01-09
    相关资源
    最近更新 更多