前段时间在教课时突发奇想的一个小例子,国庆有时间完善了一下,拿出来和大家分享:)
非常简单的几个控件,实现了一个坦克移动,并打出子弹的小游戏.希望能给大家带来一点乐趣和知识.
注:本程序离真正的游戏差的很远,只用来让初学者对一些控件及线程更加深入的理解和应用才实现的.
所用控件及类:
Button,Label,ImageList,contextMenuStrip,Threading,ArrayList
所用事件:
Button :KeyPress事件.
注意:
在ImagesList控件中添加四张图片,分别是坦克的上下左右的四张图.然后用Button的ImageList属性绑定ImageList控件.
所用的四张图片:
![]()
![]()
![]()
Bullet是通过Lable类new出来的对象
线程调用方法时使用的是带参数调用ParameterizedThreadStart
contextMenuStrip右建菜单用来关闭程序
以下为游戏的源码:
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace 坦克大战

{

/**//// <summary>
/// 说明:在.net2.0及WinForm中坦克小游戏的示例
/// 作者:剑了
/// 日期:2008-10-02
/// 首发地址:http://www.cnblogs.com/xy8.cn/
/// </summary>
public partial class Form1 : Form
{
private static int screenWidth;//屏幕宽度
private static int screenHeight;//屏幕高度
private string Direction;//定义当前方向
public Form1()
{
InitializeComponent();
这是一款使用WinForm编写的简单坦克大战游戏,旨在帮助初学者理解控件和线程应用。游戏通过Button控件的KeyPress事件响应键盘输入,控制坦克移动和射击。ImageList用于显示坦克的不同方向,Threading和ArrayList实现游戏逻辑。用户可以使用W、S、A、D键控制坦克,K键发射子弹。虽然游戏简单,但它展示了如何在.NET环境下结合基本控件实现交互功能。

1989

被折叠的 条评论
为什么被折叠?



