Игровая система "Тетрис"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
LeftPanel.Visible = true;
LeftPanel.Enabled = true;
RightPanel.Visible = true;
RightPanel.Enabled = true;
label1.Text = "0";
label2.Text = "0";
label3.Text = "0";
label4.Text = "0";
}button4_Click(object sender, EventArgs e)
{(debug.Enabled)
debug.Enabled = false;
debug.Enabled = true;
}listView1_ColumnClick(object sender, ColumnClickEventArgs e)
{
// Create an instance of the ColHeader class.clickedCol = (ColHeader)this.listView1.Columns[e.Column];
// Set the ascending property to sort in the opposite order.
clickedCol.ascending = !clickedCol.ascending;
// Get the number of items in the list.numItems = this.listView1.Items.Count;
// Turn off display while data is repoplulated..listView1.BeginUpdate();
// Populate an ArrayList with a SortWrapper of each list item.SortArray = newArrayList();(int i = 0; i < numItems; i++)
{
SortArray.Add(newSortWrapper(this.listView1.Items[i], e.Column));
}
// Sort the elements in the ArrayList using a new instance of the SortComparer
// class. The parameters are the starting index, the length of the range to sort,
// and the IComparer implementation to use for comparing elements. Note that
// the IComparer implementation (SortComparer) requires the sort
// direction for its constructor; true if ascending, othwise false.
SortArray.Sort(0, SortArray.Count, newSortWrapper.SortComparer(clickedCol.ascending));
// Clear the list, and repopulate with the sorted items..listView1.Items.Clear();(int i = 0; i < numItems; i++).listView1.Items.Add(((SortWrapper)SortArray[i]).sortItem);
// Turn display back on..listView1.EndUpdate();
}MainWindow_Load(object sender, EventArgs e)
{
}MainWindow_Load_1(object sender, EventArgs e)
{
}RightPanel_Paint(object sender, PaintEventArgs e)
{
}button3_Click(object sender, EventArgs e)
{
MF = (MainWindow)Form.ActiveForm;
PanelPad.Visible = true;
PanelMenu.Visible = false;
panel2.Enabled = true;
panel2.Visible = true;
panel3.Visible = true;
panel3.Enabled = true;
game = "Tanks";
}checkBox3_CheckedChanged(object sender, EventArgs e)
{(checkBox1.Checked)
{
Tanks_.thr.Resume();
thrTime.Resume();
label5.Visible = false;
checkBox2.Enabled = true;
}
{
Tanks_.thr.Suspend();
thrTime.Suspend();
label5.Visible = true;
checkBox2.Enabled = false;
}
}groupBox1_Enter(object sender, EventArgs e)
{
}richTextBox1_TextChanged(object sender, EventArgs e)
{
}time()
{time = 0;(true)
{
updateT();.Sleep(1000);
time++;
Tanks_.Tank_.score += 40;
Tanks_.Tank_1.score += 40;(time % 60 == 0)
{
label11.Text = (time / 60).ToString() + ":" + "0";
}
{
label11.Text = (time / 60).ToString() + ":" + (time % 60).ToString();
}
}
}gOver(string name)
{
Tanks_.ClearTable();
checkBox2.Checked = false;.Show("Танк " + name + " был убит!", "GameOver", MessageBoxButtons.OK, MessageBoxIcon.Information);
}updateT()
{(Tanks_ == null);.Text = Tanks_.Tank_.health.ToString();
label12.Text = Tanks_.Tank_1.health.ToString();
label7.Text = Tanks_.Tank_.cheat.ToString();
label8.Text = Tanks_.Tank_1.cheat.ToString();
label9.Text = Tanks_.Tank_.score.ToString();
label10.Text = Tanks_.Tank_1.score.ToString();();
}button5_Click(object sender, EventArgs e)
{(Tanks_.thr != null)(Tanks_.thr.ThreadState == System.Threading.ThreadState.Suspended)
{
Tanks_.thr.Resume();
Tanks_.thr.Abort();
thrTime.Resume();
thrTime.Abort();
}
{
Tanks_.thr.Abort();
thrTime.Abort();
}
game = "Tanks";
checkBox2.Enabled = true;
checkBox2.Checked = false;
checkBox3.Checked = false;.Visible = false;
panel2.Enabled = false;
panel3.Visible = false;
panel3.Enabled = false;
PanelPad.Visible = false;
PanelMenu.Visible = true;
}Pause_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{(e.KeyCode)
{.Left:.Right:.Down:.Space:.Up:.LShiftKey:.Shift:.ShiftKey:.RShiftKey:.Alt:.ControlKey:
e.IsInputKey = true;;
}
}button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{(e.KeyCode)
{.Left:.Right:.Down:.Space:.Up:.LShiftKey:.Shift:.ShiftKey:.RShiftKey:.Alt:.ControlKey:
e.IsInputKey = true;;
}
}checkBox2_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{(e.KeyCode)
{.Left:.Right:.Down:.Space:.Up:.LShiftKey:.Shift:.ShiftKey:.RShiftKey:.Alt:.ControlKey:
e.IsInputKey = true;;
}
}checkBox3_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{(e.KeyCode)
{.Left:.Right:.Down:.Space:.Up:.LShiftKey:.Shift:.ShiftKey:.RShiftKey:.Alt:.ControlKey:
e.IsInputKey = true;;
}
}button5_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{(e.KeyCode)
{.Left:.Right:.Down:.Space:.Up:.LShiftKey:.Shift:.ShiftKey:.RShiftKey:.Alt:.ControlKey:
e.IsInputKey = true;;
}
}startTanks(object sender, EventArgs e)
{(Tanks_ == null)
{
checkBox2.Text = "Stop";
Tanks_ = newTanks();
Tanks_.Start();
thrTime = newThread(newThreadStart(time));
thrTime.Start();
richTextBox1.Enabled = false;
richTextBox2.Enabled = false;
Tanks_.Tank_1.name = richTextBox2.Text;
Tanks_.Tank_.name = richTextBox1.Text;
}
{
checkBox2.Text = "Start";
Tanks_.thr.Abort();
Tanks_.ClearTable();
Tanks_ = null;
thrTime.Abort();
label11.Text = "0";
richTextBox1.Enabled = true;
richTextBox2.Enabled = true;
}
}
}
{sortItem;sortColumn;
// A SortWrapper requires the item and the index of the clicked column.SortWrapper(ListViewItem Item, int iColumn)
{
sortItem = Item;
sortColumn = iColumn;
}
// Text property for getting the text of an item.Text
{
{sortItem.SubItems[sortColumn].Text;
}
}
// Implementation of the IComparer
// interface for sorting ArrayList items.: IComparer
{ascending;
// Constructor requires the sort order;
// true if ascending, otherwise descending.SortComparer(bool asc)
{.ascending = asc;
}
// Implemnentation of the IComparer:Compare
// method for comparing two objects.Compare(object x, object y)
{xItem = (SortWrapper)x;yItem = (SortWrapper)y;xText = xItem.sortItem.SubItems[xItem.sortColumn].Text;yText = yItem.sortItem.SubItems[yItem.sortColumn].Text;xText.CompareTo(yText) * (this.ascending ? 1 : -1);
}
}
}: ColumnHeader
{ascending;ColHeader(string text, int width, HorizontalAlignment align, bool asc)
{.Text = text;.Width = width;.TextAlign = align;.ascending = asc;
}
}
}
Заключение
В результате данной работы была создана программа, для игры в гонки и стройку на основе игровой системы тетрис. Программа выполненна в современной эргономике и будет интересна разным вовзрастным категориям. Есть возможность на базе этой программы разрабатывать дополнительные игры.
Поддерживаемые операционный системы:
Windows 98, 2000, XP, Vista, 7 (x86 или x86_64)
Список литературы
.Документация MSDNна
.C# в подлиннике. Наиболее полное руководство Х. Дейтел. Санк-Петербург БХВ-Петербург 2006