Tình hình là em đang làm bài tập thầy giao.
Đề bài : Blackjack (21, Vingt-et-un hay Pontoon) là trò cờ bạc được chơi nhiều nhất trong các casino trên toàn thế giới.
Blackjack ám chỉ 1 bộ 2 cây gồm một con ách và một con 10, J, Q, K chất bất kỳ, không nhất thiết phải có J hay có con bài đen nào.
Cách chơi:
- Blackjack bao gồm nhà cái và nhiều người chơi.
- Nhà cái sẽ phát bài cho người chơi và mình, mỗi người được lấy 2 cây.
- Khi chia, quân đầu tiên trong 2 quân sẽ được lật lên.
- Nếu người nào ngay trong 2 lá bài đầu có một con Ace và một trong các con 10, J, Q, K chất bất kỳ thì người đó đã được blackjack.
- Blackjack không phụ thuộc vào chất của mỗi con bài để tính kết quả.
- Tính điểm :
- 2, 3, 4, 5, 6, 7, 8, 9, 10 ứng với điểm số tương ứng.
- J, Q, K là 10 điểm.
- A: Nếu tổng các quân bài với quân A lớn hơn 11 thì A sẽ là 1 điểm.
- VD: 1 bộ bài gồm A, 9, 8 sẽ tính là 18 điểm
- Nếu tổng các quân bài với quân A nhỏ hơn 11 thì A sẽ tính là 11 điểm.
- VD: 1 bộ bài gồm A, 2, 3 sẽ tính là 16 điểm.
- 21 là điểm số cao nhất mà người chơi có thể giành được.
- Nếu người chơi lấy thêm bài quá 21 điểm thì sẽ thua ngay lập tức, tiền sẽ về tay nhà cái kể cả khi sau đó nhà cái cũng lấy thêm lớn hơn 21 điểm.
- Trường hợp có hai A, người chơi có thể chọn cả hai A là 1 điểm hoặc một A là 11 điểm và một A là 1 điểm.
Viết một chương trình nhận vào từ bàn phím giá trị của hai cây bài (2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A) và in ra màn hình điểm của hai cây bài đó. Trong chương trình này, khi nhận được hai lá A, điểm số sẽ là 2
Nên em làm một bài toán con để hiện số điểm của từng lá bài nhưng không hiểu tại sao lại bị lỗi như thế này
#include<stdio.h>
int main() {
int x, y;
scanf("%d %d", &x, &y);
if (x==0) scanf("%c", &x); //GIA TRI TRONG BANG ASCII
if (y==0) scanf("%c", &y);
//A=65; J=74 Q=81 K= 75
switch(x) {
case 74:
case 81:
case 75:
x=10;
break;
case 65:
x=1;
break;
}
switch(y) {
case 74:
case 81:
case 75:
y=10;
break;
case 65:
y=1;
break;
}
printf("%d %d", x, y);
return 0;
}
Mn giúp em với ạ !