棋盘游戏功能

时间:2015-06-14 17:01:54

标签: c arrays function

我制作了一个棋盘游戏程序。我的问题是一个函数,因此某些字段可以向后或向前传输播放器。显然,我做的事情不起作用。

from scipy.io import wavfile
TheFile = 'example24bit1channelFile.wav'
[fs, x] = wavfile.read(TheFile)

# convert the loaded data into a 24bit signal

nx = len(x)
ny = nx/3*4    # four 3-byte samples are contained in three int32 words

y = np.zeros((ny,), dtype=np.int32)    # initialise array

# build the data left aligned in order to keep the sign bit operational.
# result will be factor 256 too high

y[0:ny:4] = ((x[0:nx:3] & 0x000000FF) << 8) | \
  ((x[0:nx:3] & 0x0000FF00) << 8) | ((x[0:nx:3] & 0x00FF0000) << 8)
y[1:ny:4] = ((x[0:nx:3] & 0xFF000000) >> 16) | \
  ((x[1:nx:3] & 0x000000FF) << 16) | ((x[1:nx:3] & 0x0000FF00) << 16)
y[2:ny:4] = ((x[1:nx:3] & 0x00FF0000) >> 8) | \
  ((x[1:nx:3] & 0xFF000000) >> 8) | ((x[2:nx:3] & 0x000000FF) << 24)
y[3:ny:4] = (x[2:nx:3] & 0x0000FF00) | \
  (x[2:nx:3] & 0x00FF0000) | (x[2:nx:3] & 0xFF000000)

y = y/256   # correct for building 24 bit data left aligned in 32bit words

不知何故,我必须重复输入最高分的过程。

1 个答案:

答案 0 :(得分:0)

我不会直接回答“问题”,因为没有“问题”需要回答。正如其他人在评论中指出的那样,您需要更具体,并提供对问题的正确描述。但我仍然可以提供以下反馈:

在我看来,你不太了解数组及其索引。例如,此行应该为您提供分段错误错误,或者至少与未知值进行比较:

if(numbers[10] == nonumbers[3])

这是因为您的nonumbers数组有3个元素,因此它们应该以{{1​​}},nonumbers[0]nonumbers[1](或者通常为{{{ 3}}将其放在评论中,从nonumbers[2]nonumbers[0])。 nonumbers[array_lenght-1]将访问内存中未定义的位置。你的问题可能与此有关。

  

请注意,我和任何人都不会审核您的整个代码   找到错误。如上所述,请更具体。

另外,你确定你摆脱了所有的编译器错误吗?因为代码的下游还有一个未初始化的变量nonumbers[3]。为了确保你摆脱所有可能讨厌的错误,打开终端(我假设你在Linux上)并使用以下命令编译你的程序:

i

然后用:

运行它
gcc *.c -Wall -Wextra -o program