C# windows表單應用程式設計
本系列最后一篇,以后不會再以博文的方式呈現,
文章目錄
- C# windows表單應用程式設計
- 前言
- 一、俄羅斯方塊的實作
- 二、步驟
- 1.部分函式代碼
- 2.說明(分析代碼時會用到)
- 3.好的,展示完畢
- 4.總結
前言
因為疫情的原因,再加上進入到大三,考證、學業繁忙,加上還要考研的目標,斷更了很久,各位看我文章入坑的小伙伴,先說一聲抱歉,我想做很多系列,列了很多規劃,但這一切都被改變得太快,(本來打算大二上期復習考證等一些列計劃全推到本學期,再加上本學期各種專業認知實習)所以后面有些系列更新很慢甚至幾乎不會再更新了,在我規劃好了時間后,我決定每周末來給大家更新,周末我是專門留著搞其他事情的,其他時間就專心學業和考試,我爭取做到每周一更,覺得需要取關的可以取關,我理解,更新強度達不到之前的樣子,不能實作之前的規劃藍圖,總之,感謝大家的支持,
以下是本篇文章正文內容
一、俄羅斯方塊的實作
俄羅斯方塊是一款比較經典的游戲,即使沒玩過是有聽說過的,現在一些節目魔改了俄羅斯方塊的玩法,給大家帶來了更多的樂趣,現在,動動你的小腦袋,一起來寫一個簡易的俄羅斯方塊游戲吧,

二、步驟
1.部分函式代碼
主函式代碼如下:
namespace Tetris
{
partial class frmMain
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
this.label4 = new System.Windows.Forms.Label();
this.btnStop = new System.Windows.Forms.Button();
this.btnStart = new System.Windows.Forms.Button();
this.lblScore = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.pbNextBlock = new System.Windows.Forms.PictureBox();
this.pbMain = new System.Windows.Forms.PictureBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.musicPlayer = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)(this.pbNextBlock)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pbMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.musicPlayer)).BeginInit();
this.SuspendLayout();
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(228, 263);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(107, 12);
this.label4.TabIndex = 17;
this.label4.Text = "請選擇速度(1-9):";
//
// btnStop
//
this.btnStop.Location = new System.Drawing.Point(230, 391);
this.btnStop.Name = "btnStop";
this.btnStop.Size = new System.Drawing.Size(119, 23);
this.btnStop.TabIndex = 16;
this.btnStop.Text = "暫停游戲";
this.btnStop.UseVisualStyleBackColor = true;
this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
//
// btnStart
//
this.btnStart.Location = new System.Drawing.Point(228, 340);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(121, 23);
this.btnStart.TabIndex = 15;
this.btnStart.Text = "開始游戲";
this.btnStart.UseVisualStyleBackColor = true;
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
//
// lblScore
//
this.lblScore.AutoSize = true;
this.lblScore.Location = new System.Drawing.Point(299, 224);
this.lblScore.Name = "lblScore";
this.lblScore.Size = new System.Drawing.Size(11, 12);
this.lblScore.TabIndex = 13;
this.lblScore.Text = "0";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(228, 224);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 12;
this.label2.Text = "你的得分:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.ForeColor = System.Drawing.Color.Black;
this.label1.Location = new System.Drawing.Point(228, 39);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(89, 12);
this.label1.TabIndex = 11;
this.label1.Text = "即將出場的是:";
//
// pbNextBlock
//
this.pbNextBlock.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.pbNextBlock.Location = new System.Drawing.Point(257, 65);
this.pbNextBlock.Name = "pbNextBlock";
this.pbNextBlock.Size = new System.Drawing.Size(120, 120);
this.pbNextBlock.TabIndex = 10;
this.pbNextBlock.TabStop = false;
this.pbNextBlock.Paint += new System.Windows.Forms.PaintEventHandler(this.pbNextBlock_Paint);
//
// pbMain
//
this.pbMain.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pbMain.Location = new System.Drawing.Point(12, 12);
this.pbMain.Name = "pbMain";
this.pbMain.Size = new System.Drawing.Size(210, 420);
this.pbMain.TabIndex = 9;
this.pbMain.TabStop = false;
this.pbMain.Paint += new System.Windows.Forms.PaintEventHandler(this.pbMain_Paint);
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"});
this.comboBox1.Location = new System.Drawing.Point(230, 293);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 20);
this.comboBox1.TabIndex = 14;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// musicPlayer
//
this.musicPlayer.Enabled = true;
this.musicPlayer.Location = new System.Drawing.Point(341, 263);
this.musicPlayer.Name = "musicPlayer";
this.musicPlayer.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("musicPlayer.OcxState")));
this.musicPlayer.Size = new System.Drawing.Size(10, 12);
this.musicPlayer.TabIndex = 18;
//
// frmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(386, 445);
this.Controls.Add(this.musicPlayer);
this.Controls.Add(this.label4);
this.Controls.Add(this.btnStop);
this.Controls.Add(this.btnStart);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.lblScore);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.pbNextBlock);
this.Controls.Add(this.pbMain);
this.KeyPreview = true;
this.Name = "frmMain";
this.Text = "俄羅斯方塊";
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmMain_KeyDown);
((System.ComponentModel.ISupportInitialize)(this.pbNextBlock)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pbMain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.musicPlayer)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btnStop;
private System.Windows.Forms.Button btnStart;
private System.Windows.Forms.Label lblScore;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox pbNextBlock;
private System.Windows.Forms.PictureBox pbMain;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ComboBox comboBox1;
private AxWMPLib.AxWindowsMediaPlayer musicPlayer;
}
}
2.說明(分析代碼時會用到)
判斷格子的狀態
繪圖只能在繪圖時間里面才有效果,paint(繪圖事件)
map[hang,lie]==1 //圖形
map[hang,lie]==2 //邊界
如果是邊界顏色變化
else //其他
繪制三個邊界
for(int hang = 0 ;hang<map.getlength(0);hang++)
//左邊邊界
map[hang,0]=2;
//右邊邊界
map[hang,mapgetlength(1)-1]=2
3.好的,展示完畢
是的,哎,代碼雖然寫了,但是由于是上學期的事情,很多東西都忘了,而且vs2019我已經卸載掉了,只能把這個代碼整個搞出來給大家學習使用,所以也沒辦法展示截圖,抱歉,

4.總結
本次實體需要寫五個表單,整個的大致方法和流程可以參考前面我更新的有關C#的實體應用,這也是最后一次更新水 這個系列,我會把源代碼傳到平臺上,關注一下就可以免費下載,代碼里面的各種屬性以及運行后的效果可以根據自己的需求修改,具體的方法和內容可以參考以前我寫的內容以后大部分大專案我都會直接在文章底下發鏈接,供大家下載,當然需要找什么檔案都可以在底下評論,之前的內容我會慢慢整理出來,
傳送門1.簡易計算器的實作
傳送門2.學生系統管理系統
傳送門3.小游戲設計
傳送門4.數學測驗器
傳送門4.C#表單應用基礎(第1期)
其他的可以在主頁查看哦,
覺得對你有幫助可以點個關注,點贊,收藏,有什么問題請在下面留言或者私聊,謝謝支持
點這里下載源代碼.C#實作俄羅斯方塊
隱藏福利:最近在復習匯編語言,一些電子書分享給大家,下期也可能會更新匯編語言的相關內容,
1.匯編語言(第三版)清華大學出版社 鏈接:
提取碼:g2pb
點這里下載.
2.微機原理與介面技術 人民郵電出版社出版
提取碼:yfaj
點這里下載.
3.匯編語言編譯器emu8086(漢化版)
點這里下載.
提取碼:7jpa
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231071.html
標籤:其他
