PDA

View Full Version : làm ơn sửa dùm mình lỗi này với



PUN_VN
03-03-2009, 20:42
Đoạn code dưới bị lỗi, mong anh chị nào pro giúp em với.



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace QuickSpark
{
public partial class Form1 : Form
{
int[] com; //mảng 4 lá bài của comp
int[] player; // # # player
int[] among; //mảng 4 lá bài ở giữa
int[] updw; //mảng 4 mũi tên up down
int countp = 20; //số lá bài của player, mặc định 20 lá
int countc = 20; //số lá bài của comp, mặc định 20 lá
Random r = new Random();

public Form1()
{
InitializeComponent();

}
public void mang() //chú í public để xài sau này
{
player = new int[4];
among = new int[4];
updw = new int[4];
com = new int[4];
}

private void pictureBox7_Click(object sender, EventArgs e)
{
among[0] = r.Next(13) + 1;
doihinh(among[0], pictureBox8);
among[1] = r.Next(13) + 1;
doihinh(among[1], pictureBox9);
among[2] = r.Next(13) + 1;
doihinh(among[2], pictureBox10);
among[3] = r.Next(13) + 1;
doihinh(among[3], pictureBox11);
//playfile("click.wav");
}



private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
label2.Text = "20"; //mặc định hiển thị 20 lá bài cho player
label4.Text = "20";
timer1.Enabled = true; //enable timer và cho nó run
timer1.Start();
timer2.Enabled = true;
timer2.Start();
timer3.Enabled = true;
timer3.Start();

pictureBox2.Visible = true; //hiển thị 4 nút up down ra
pictureBox17.Visible = true;
pictureBox18.Visible = true;
pictureBox19.Visible = true;

player[0] = r.Next(13) + 1; (NÓ BỊ LỖI NGAY ĐÂY NÈ)
doihinh(player[0], pictureBox13); //kiểm tra trường hợp lấy hình phía dưới
player[1] = r.Next(13) + 1;
doihinh(player[1], pictureBox14);
player[2] = r.Next(13) + 1;
doihinh(player[2], pictureBox15);
player[3] = r.Next(13) + 1;
doihinh(player[3], pictureBox16);

pictureBox13.Image = System.Drawing.Image.FromFile("baixap.PNG"); //mặc định cho lá bài của comp là sấp
pictureBox14.Image = System.Drawing.Image.FromFile("baixap.PNG");
pictureBox15.Image = System.Drawing.Image.FromFile("baixap.PNG");
pictureBox16.Image = System.Drawing.Image.FromFile("baixap.PNG");


among[0] = r.Next(13) + 1; //đổi hình 4 lá giữa
doihinh(among[0], pictureBox8);
among[1] = r.Next(13) + 1;
doihinh(among[1], pictureBox9);
among[2] = r.Next(13) + 1;
doihinh(among[2], pictureBox10);
among[3] = r.Next(13) + 1;
doihinh(among[3], pictureBox11);


countc = 20; //mặc định 20 bài khi bắt đầu chơi của comp và player
countp = 20;
pictureBox1.Image = Image.FromFile("baixap.PNG");
pictureBox12.Image = Image.FromFile("baixap.PNG");

}
void doihinh(int n, PictureBox p) //cho 13 trường hợp 13 tấm hình, random zo TH nào thì lấy tấm đó
{
switch (n)
{
case 1: p.Image = System.Drawing.Image.FromFile("gia-co.PNG"); break;
case 2: p.Image = System.Drawing.Image.FromFile("gia-chuon.PNG"); break;
case 3: p.Image = System.Drawing.Image.FromFile("gia-bich.PNG"); break;
case 4: p.Image = System.Drawing.Image.FromFile("gia-ro.PNG"); break;
case 5: p.Image = System.Drawing.Image.FromFile("dam-co.PNG"); break;
case 6: p.Image = System.Drawing.Image.FromFile("dam-ro.PNG"); break;
case 7: p.Image = System.Drawing.Image.FromFile("dam-chuon.PNG"); break;
case 8: p.Image = System.Drawing.Image.FromFile("dam-bich.PNG"); break;
case 9: p.Image = System.Drawing.Image.FromFile("boi-co.PNG"); break;
case 10: p.Image = System.Drawing.Image.FromFile("boi-ro.PNG"); break;
case 11: p.Image = System.Drawing.Image.FromFile("boi-chuon.PNG"); break;
case 12: p.Image = System.Drawing.Image.FromFile("boi-bich.PNG"); break;
case 13: p.Image = System.Drawing.Image.FromFile("2-co.PNG"); break;
}
}

private void label2_Click(object sender, EventArgs e)
{

}

private void timer1_Tick(object sender, EventArgs e)
{
updw[0] = r.Next(2) + 1;
doihinh1(updw[0], pictureBox2);
updw[1] = r.Next(2) + 1;
doihinh1(updw[1], pictureBox17);
updw[2] = r.Next(2) + 1;
doihinh1(updw[2], pictureBox18);
updw[3] = r.Next(2) + 1;
doihinh1(updw[3], pictureBox19);
}
void doihinh1(int upd, PictureBox p2)
{
switch (upd)
{
case 1: p2.Image = System.Drawing.Image.FromFile("up.PNG"); break;
case 2: p2.Image = System.Drawing.Image.FromFile("down.PNG"); break;
}

}

private void pictureBox3_Click(object sender, EventArgs e)
{
if (player[0] == among[0] + 1 && updw[0] == 1)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav"); //thêm sound vào
}
if (player[0] == among[0] - 1 && updw[0] == 2)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav");
}

}

private void pictureBox4_Click(object sender, EventArgs e)
{
if (player[0] == among[0] + 1 && updw[0] == 1)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav"); //thêm sound vào
}
if (player[0] == among[0] - 1 && updw[0] == 2)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav");
}

}

private void pictureBox5_Click(object sender, EventArgs e)
{
if (player[0] == among[0] + 1 && updw[0] == 1)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav"); //thêm sound vào
}
if (player[0] == among[0] - 1 && updw[0] == 2)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav");
}

}

private void pictureBox6_Click(object sender, EventArgs e)
{
if (player[0] == among[0] + 1 && updw[0] == 1)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav"); //thêm sound vào
}
if (player[0] == among[0] - 1 && updw[0] == 2)
{
among[0] = player[0];
doihinh(among[0], pictureBox8);
player[0] = r.Next(13) + 1;
doihinh(player[0], pictureBox13);
countp--;
label2.Text = countp.ToString();
//playfile("click.wav");
}

}

private void timer2_Tick(object sender, EventArgs e)
{
if (com[0] == among[0] - 1 && updw[0] == 1)
{
among[0] = com[0];
doihinh(among[0], pictureBox8);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false; //tắt nút FLIP nếu comp ăn bài
}
else if (com[0] == among[0] + 1 && updw[0] == 2)
{
among[0] = com[0];
doihinh(among[0], pictureBox8);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false;
}
else if (com[0] == among[0] - 1 && updw[0] == 1)
{
among[0] = com[0];
doihinh(among[0], pictureBox9);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false; //tắt nút FLIP nếu comp ăn bài
}
else if (com[0] == among[0] + 1 && updw[0] == 2)
{
among[0] = com[0];
doihinh(among[0], pictureBox9);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false;
}
else if (com[0] == among[0] - 1 && updw[0] == 1)
{
among[0] = com[0];
doihinh(among[0], pictureBox10);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false; //tắt nút FLIP nếu comp ăn bài
}
else if (com[0] == among[0] + 1 && updw[0] == 2)
{
among[0] = com[0];
doihinh(among[0], pictureBox10);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false;
}
else if (com[0] == among[0] - 1 && updw[0] == 1)
{
among[0] = com[0];
doihinh(among[0], pictureBox11);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false; //tắt nút FLIP nếu comp ăn bài
}
else if (com[0] == among[0] + 1 && updw[0] == 2)
{
among[0] = com[0];
doihinh(among[0], pictureBox11);
com[0] = r.Next(13) + 1;
countc--;
label6.Text = "so lan duy chuyen";
label6.Visible = true;
pictureBox7.Visible = false;
}

else
{
label1.Visible = false; //tắt chử MOVE
pictureBox7.Visible = true; //bật nút FLIP nếu comp bí

}
label4.Text = countc.ToString();


}

private void timer3_Tick(object sender, EventArgs e)
{
if (countc == 0)
{
timer1.Stop();
timer2.Stop();
timer3.Stop();
pictureBox12.Image = Image.FromFile("1-ro.PNG"); //đổi lá bài đại diện cho comp
pictureBox1.Image = Image.FromFile("1-chuon.PNG");
//playfile("win.wav"); //phát nhạc khi có người win
MessageBox.Show("You Lose...T_T", "Bad");

}
else if (countp == 0)
{
timer1.Stop();
timer2.Stop();
timer3.Stop();
pictureBox12.Image = Image.FromFile("donedeck.gif");
pictureBox1.Image = Image.FromFile("donedeck.gif");
//playfile("win.wav");
MessageBox.Show("You Win ^_^", "Happy");


}
}

private void pictureBox1_Click(object sender, EventArgs e)
{

}

private void pictureBox8_Click(object sender, EventArgs e)
{

}
}
}

thangtv3
26-11-2009, 09:35
bạn có thể gửi fire của trương chình lên ko. như vậy mình dễ chạy và soát lỗi hơn.