每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3×3 的「九宮格」形式排布在彩票上。
在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個位置上的數字了。最後玩家再從 3 橫、3 豎、2 斜共 8 個方向中挑選乙個方向,方向上三個數字的和可根據下列**進行兌獎,獲得對應數額的金幣。
現在請你寫出乙個模擬程式,模擬玩家的遊戲過程。
輸入第一部分給出一張合法的彩票,即用 3 行 3 列給出 0 至 9 的數字。0 表示的是這個位置上的數字初始時就能看見了,而不是彩票上的數字為 0。
第二部給出玩家刮開的三個位置,分為三行,每行按格式 x y 給出玩家刮開的位置的行號和列號(題目中定義左上角的位置為第 1 行、第 1 列。)。資料保證玩家不會重複刮開已刮開的數字。
最後一部分給出玩家選擇的方向,即乙個整數: 1 至 3 表示選擇橫向的第一行、第二行、第三行,4 至 6 表示縱向的第一列、第二列、第三列,7、8分別表示左上到右下的主對角線和右上到左下的副對角線。
對於每乙個刮開的操作,在一行中輸出玩家能看到的數字。最後對於選擇的方向,在一行中輸出玩家獲得的金幣數量。
1 2 3
4 5 6
7 8 0
1 12 2
2 3715
6180
建乙個陣列,然後按題目要求進行操作,我建成了乙個結構體,順便標記了一下看得見的數字和看不見的數字,屬於多此一舉了,哈哈。
#include
using
namespace std;
typedef
struct node node;
void
repair
(node (
*caipiao)[4
])for(
int i =
1; i <
4; i++
) flag[caipiao[i]
[j].data]+=
1;}}
for(
int i =
1; i <
10; i++)}
return;}
void
print
(node
(*caipiao)[4
],int oper);if
(oper <=3)
}else
if(oper <=6)
}else
if(oper ==7)
else
if(oper ==8)
cout << win[sum -6]
;}intmain()
}repair
(caipiao)
;//補全0處的數字
for(
int i =
0; i <
3; i++
)int oper;
cin >> oper;
print
(caipiao, oper)
;return0;
}
L1 072 刮刮彩票 20分 (讀題讀錯的)
也不知道是題目的描述有問題,還是我的閱讀理解有點問題 可能我需要再次回爐重造了 語文老師,我對不起你們啊 白學這麼多年的語文了 原來他的獎金不是根據刮出來的那幾個算啊,原來是要全刮出來之後再去算 咱也不知道留的那個0有什麼用?唉,這麼簡單的題都讀不明白 語文真的廢了啊 不說了,直接上來題目吧,也不知...
L1 8 刮刮彩票
刮刮彩票 是一款網路遊戲裡面的乙個小遊戲。如圖所示 每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3 3 的 九宮格 形式排布在彩票上。在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個...
Android刮彩票效果
實現分析 1.底部一張 2.頭部是乙個矩形遮擋 3.通過滑動監聽,讓矩形缺失,露出底部 private rectf rectf private bitmap bitmap bitmapfactory.decoderesource getresources r.drawable.test 頭部 pri...