我一直在研究老虎機的代碼,我有卷軸輸入,我編碼了所有可能發生的不同組合。我將它輸出到一個文件,並確定一切都在那裏。現在我需要以某種方式掃描所有的組合,並根據支付規則(2x,3x和5x相同的符號)和規則,如果2勝是有前。 aabbb
只有支付較高的費用纔會支付,併爲所有支付條件制定計數器。需要弄清楚如何掃描槽組合
這是我到目前爲止有:
#include <stdio.h>
int main() {
freopen("C:\\tmp\\output.txt", "w", stdout);
char reel1[37] = { 'A', '1', 'W', 'Q', '9', 'L', '1', 'J', 'H', 'Q', '9', 'W', '1', 'A', 'M', 'K', 'Q', 'L', 'A', '9', '1', 'M', 'K', 'Q', 'H', '9', 'A', 'Q', 'K', 'T', '9', 'J', 'W', '9', '1', 'L', '9' };
char reel2[36] = { 'A', 'K', 'L', '1', '9', 'M', 'J', '1', 'K', 'M', 'Q', '9', 'T', 'A', '1', 'Q', 'W', 'K', '9', 'L', 'J', '1', 'Q', 'L', 'K', 'J', 'W', 'A', '9', 'K', 'H', 'Q', '1', 'K', 'Q', '1' };
char reel3[35] = { 'J', 'K', '9', 'A', '1', 'Q', 'L', '9', 'A', '1', 'T', 'J', '9', 'A', 'H', '1', 'J', '9', 'L', 'Q', '1', 'J', 'H', '9', 'K', '1', 'M', 'A', 'J', 'K', 'W', '9', '1', 'J', '1' };
char reel4[32] = { 'K', 'A', 'L', 'Q', '1', 'M', 'A', 'K', 'J', 'M', 'Q', '1', 'H', 'J', 'A', 'K', 'M', '9', 'J', 'H', '1', 'Q', '9', 'J', '1', 'W', 'K', '9', 'J', 'T', '1', 'J' };
char reel5[32] = { 'J', '1', 'Q', 'W', 'K', '9', 'Q', 'J', 'K', '9', '1', 'H', 'J', '9', 'A', 'M', '9', 'J', '1', '9', 'L', 'A', '9', 'J', 'L', '9', 'K', 'Q', '9', 'T', 'K', 'Q' };
int a, b, c, d, e;
for (a = 0; a <= 36; a++) {
for (b = 0; b <= 35; b++) {
for (c = 0; c <= 34; c++) {
for (d = 0; d <= 31; d++) {
for (e = 0; e <= 31; e++) {
printf("%c%c%c%c%c\n", reel1[a], reel2[b], reel3[c], reel4[d], reel5[e]);
}
}
}
}
}
return 0;
}
我現在該如何解決呢?我知道我必須爲所有支出組合提供計數器,一旦顯示出來並且是支付中最高支付的一個,就將其迭代一次,直到我完成整個列表。但如何到那裏擊敗我。如何掃描所有組合?任何人都有建議?
嵌套太多! –
建議:由於數組有'37'值,所以爲(a = 0; a <37; a ++)'而不是'for(a = 0; a <= 36; a ++)'更一致。你甚至可以寫'for(a = 0; a <(int)(sizeof(reel1)/ sizeof(* reel1)); a ++)'來避免依賴硬編碼值。 – chqrlie
@chqrlie謝謝,我改變了。關於硬編碼值,現在對我來說並不重要,因爲我需要做的就是一次運行一次,給我所需的東西。 –