01/10/2018, 15:02
Nhờ các anh chị hướng dẫn em đoạn code C# về xúc sắc với ạ
class NguoiChoi
{
public string ten;
public int diem;
public string Ten
{
get { return ten; }
set
{
if (value != "")
ten = value;
}
}
public int Diem
{
get { return diem; }
set
{
if (value > 0)
diem = value;
}
}
public NguoiChoi()
{
diem = 0;
}
public void GieoXucXac(XucXac xucxac)
{
Console.Write("> Nhan Enter...");
Console.ReadLine();
xucxac.SinhGiaTri();
Diem += xucxac.GiaTri;
Console.WriteLine("---Diem hien tai = {0}", Diem);
}
public void Input()
{
Console.Write("Nhap ten nguoi choi: ");
Ten = Console.ReadLine();
}
class XucXac
{
private int giaTri;
public int GiaTri { get; set; }
public XucXac()
{
GiaTri = 0;
}
public XucXac(int giaTri)
{
GiaTri = giaTri;
}
public void SinhGiaTri()
{
Random random = new Random();
GiaTri = random.Next(1, 7);
}
}
}
class TranDau
{
private XucXac xucXac;
private NguoiChoi nguoiChoi1;
private NguoiChoi nguoiChoi2;
private int soVong;
private NguoiChoi nguoiThang;
public XucXac XucXac { get; set; }
public NguoiChoi NguoiChoi1 { get; set; }
public NguoiChoi NguoiChoi2 { get; set; }
public NguoiChoi NguoiThang { get; set; }
public int SoVong
{
get { return soVong; }
set
{
while (value <= 0)
{
Console.Write("So vong phai > 0. De nghi nhap lai so vong: ");
value = Convert.ToInt32(Console.ReadLine());
}
soVong = value;
}
}
public TranDau()
{
XucXac = new XucXac();
}
public void BatDau()
{
Console.WriteLine("Tran dau bat dau: ");
for (int i = 1; i <= SoVong; i++)
{
Console.WriteLine("****Vong {0}*****", i);
Console.WriteLine("Nguoi choi {0} gieo xuc xac", NguoiChoi1.Ten);
NguoiChoi1.GieoXucXac(XucXac);
Console.WriteLine("Nguoi choi {0} gieo xuc xac", NguoiChoi2.Ten);
NguoiChoi2.GieoXucXac(XucXac);
}
}
public void KetThuc()
{
int diem1 = NguoiChoi1.Diem;
int diem2 = NguoiChoi2.Diem;
if (diem1 > diem2)
{
NguoiThang = NguoiChoi1;
}
if (diem2 > diem1)
{
NguoiThang = NguoiChoi2;
}
}
public void HienThi()
{
Console.WriteLine("*****Ket qua tran dau****");
Console.WriteLine("- Diem cua {0}: {1}", NguoiChoi1.Ten, NguoiChoi1.Diem);
Console.WriteLine("- Diem cua {0}: {1}", NguoiChoi2.Ten, NguoiChoi2.Diem);
if (NguoiThang != null)
{
Console.WriteLine("Nguoi thang: {0}", NguoiThang.Ten);
}
else
{
Console.WriteLine("Tran dau hoa!!!!");
}
}
public void Input()
{
Console.WriteLine("Nhap nguoi choi thu 1");
NguoiChoi1 = new NguoiChoi();
NguoiChoi1.Input();
Console.WriteLine("Nhap nguoi choi thu 2");
NguoiChoi2 = new NguoiChoi();
NguoiChoi2.Input();
Console.Write("Nhap so vong thi dau: ");
SoVong = Convert.ToInt32(Console.ReadLine());
}
public void ThucHienTranDau()
{
BatDau();
KetThuc();
HienThi();
}
static void Main(string[] args)
{
TranDau t = new TranDau();
t.Input();
t.ThucHienTranDau();
}
Giáo viên của em yêu cầu viết thêm thuộc tính số bàn thắng ghi lại số bàn thắng Cho biết số ván đấu (>2), nếu người chơi nào thắng quá bán đầu tiên thì sẽ thắng
•VD: Giả sử 2 người chơi phải chơi 3 ván đấu. Nếu người chơi nào thắng trước 2 ván thì người chơi đó thắng cả trận đấu Nếu hòa thì tính điểm để kết luận người thắng.
Em code xong còn câu này mà không biết làm như thế nào. Mọi người giúp e với ạ, em cảm ơn.
Bài liên quan
Bạn (cũng ko bit phải xưng hô thế nào cho phải) có thể nói rõ ràng câu hỏi hơn được không? Mình đọc vào không thông.
Vs lại mình thấy code nó hơi rườm rà, nhiều chỗ không cần thiết:
Mình nghĩ bạn không cần nhất thiết phải tách 1 cái tành nhiều hàm void như vậy (nghĩ thế thôi ). Nên gộp BatDau và KetThuc để tiện cho việc xử lý kết quả thắng thua :)) (có thể dùng
return;
để dừng hàm void)Thực ra yêu cầu rất đơn giản,
Cách hiểu thứ 2:
TranDau tương đương với khái niệm ván đấu
Dù cách nào thì cũng khá đơn giản bạn nên giành 1 chút thời gian tư duy và viết code thay vì chạy Grab.
Mình mới năm 1 và giáo viên yêu cầu làm theo từng bươc từng bước như thế bạn.
Với bạn đơn giản nhưng với mình nó lại không đơn giản vả lại tư duy ở mỗi người mỗi khác nhau mà bạn. Những cái mình không biết thì mới nhờ mọi người hướng dẫn giúp đỡ, mình nghĩ có lẽ bạn hơi nặng lời với mình quá. Cảm ơn vì hướng dẫn của bạn
Tức là thế này nhỉ:
???
(Cho e hỏi ngu! Số ván = nhau, số điểm = nhau; thế làm sao để tính thắng thua )???
Kết luận là cả hai hòa nhau bạn