我有一台可以通过客户弹奏的虚拟钢琴。我创建了一个函数,该函数将返回要播放的客户端的索引,并且我想添加一个函数,该函数将基于音符和客户端的索引返回要播放的客户端。每个客户端应控制键盘的特定部分。键盘有88个按键。
例如,如果我演奏音符41,并且有3个客户端,则客户端2应该演奏该音符,因为88/3 = 29.3,所以41将位于第二个插槽中。客户数量可以随时更改,因此每次函数运行时我都需要对其进行计算。
这是我已经尝试过的:
//note = note number. Can be from 0-88.
int gcl = getGoodClients().Length; //length of clients
int kpp = 88 / gcl;
int index = (note / kpp);
if (note % kpp != 0) index--;
int rawClientIndex = getIndexByProxy(index);
_nextClient = rawClientIndex;
return rawClientIndex;
但是它不能完全正常工作。钢琴的某些部分未被遮盖。不确定我在数学上的困惑之处。