Windows窗体抖动小游戏

C#之winform 猜拳小游戏 c#猜拳小游戏 阅读详情

今天在优快云论坛上看到一个帖子,闲来无事就顺手做了一个,现在与大家分享。

由于.net的语法想实现控制其他窗体,不用WindowsAPI是无法实现的,所以需要用到如下API:

        [DllImport("user32.dll")]
        private static extern IntPtr GetForegroundWindow();
        [DllImport("user32.dll")]
        public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);

下面就是调用了,直接上代码~~

	private void Form2_Load(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            timer1.Interval = 100;
            timer1.Start();
            button1_Click(sender,e);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Tick += (sender1, e1) =>
            {
                findWindows();
            };
        }

        private void findWindows()
        {
            RECT rect = new RECT();
            Random rd = new Random();
            int intZ = rd.Next(10,20);

            intptr = GetForegroundWindow();
            GetWindowRect(intptr, out rect);
            MoveWindow(intptr, rect.Left - intZ, rect.Top - intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left, rect.Top - intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left + intZ, rect.Top + intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left+intZ, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left + intZ, rect.Top + intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left, rect.Top + intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left-intZ, rect.Top + intZ, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left - intZ, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
            Thread.Sleep(intZ);
            MoveWindow(intptr, rect.Left, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top, true);
        }

最后附上今天本游戏的源码,免费下载~还附带了一个今天上午一起做的鼠标无法点击到控件的小游戏~

http://download.youkuaiyun.com/detail/llftc/3970314

C#连连看游戏开发实战:从算法到GDI+绘制的完整实现 在桌面应用开发中,游戏逻辑与图形界面的结合是检验编程能力的重要场景。其核心原理涉及数据结构设计与路径搜索算法,通过二维数组建模棋盘状态,并运用广度优先搜索(BFS)思想实现高效的连接判断,技术价值在于将复杂规则转化为清晰的模块化代码。在应用场景上,这类项目常用于掌握事件驱动编程、自定义绘制与性能优化。本文以C#实现连连看为例,深入剖析了连接算法中两拐点判断的优化方案,并针对GDI+绘制常见的画面闪烁问题,提供了双缓冲等解决方案,完整呈现了从零构建一个可玩性高、体验流畅的经典游戏的过程。 阅读详情

相关推荐

Winform开发的1D小游戏

压缩包中包含本人使用Winform开发的一个1D小游戏,主要包含了地图的切换,人物的走,跳,跑,攻击,血条,随机怪兽等。

C# Winform简单的俄罗斯方块小游戏源码2

C# Winform简单的俄罗斯方块小游戏源码2,俄罗斯方块源码,窗体应用程序俄罗斯方块小游戏源码,界面风格干净整洁,内容条理清晰,通过单击键盘上下左右按键控制方块的变换和运行速度,可以提前预知下一个方块样式,通过键盘L键可以锁定方块,空格键暂停游戏。这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接用程序打开,运行使用。也可直接点击EXE运行程序。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

windows窗体21点游戏

windows窗体21点游戏 无错误,运行正常。 代码容易理解,有备注。

Windows游戏编程:窗口

基于Windows的游戏,不可避免的,首先要实现一个Windows窗口 通过看书学习,Windows窗口中实现的机制是很复杂的,但代码上、步骤上还是条理清晰易懂的。即便不懂里面的机制,设计一个简单的windows窗口还是比较简单的。 我贴上自己写的一个简单wind

Joeshen_Shi的博客 436

C#winform开发的打字小游戏

打字小游戏 捕获用户键盘输入 可以调节游戏速度 适合C# winform开发的初学者借鉴

教程 | VeriStand硬件在环仿真测试第一章

这篇是系列文章的第一章,满满的都是干货,感兴趣的话欢迎一起交流探讨。

HUASUITECH的博客 1万+

C# WinForm小游戏:2048

使用C# .NETFramework开发的桌面小游戏.

JeredYe的博客 2031

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 686

基于C#的Winform简单消除小游戏开发

基于C#的Winform的简单消除小游戏开发,适合新手快速上手。

Vampire_LHT的博客 6676

光学遥感显著目标检测初探笔记总结

一张图片里最吸引注意力的部分就是显著性物体,其实是模拟人的一个注意力机制。目标是希望通过计算机的方法让我们自动定位和模拟人的这种感知能力,从而去定位场景中的一个让人感兴趣的目标。

醋酸洋红的博客 2077

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5565

C# WinForms坦克大战实战:从零构建游戏循环与碰撞检测系统

游戏开发的核心在于理解游戏循环、对象管理与碰撞检测等基础概念。游戏循环是驱动每一帧逻辑更新与画面渲染的引擎,它通过定时器或线程实现稳定的帧率。碰撞检测则是实现游戏交互的基石,通过边界框检测等方法判断物体间的交互,直接影响游戏的可玩性与真实性。这些技术的价值在于,它们构成了所有游戏,从简单2D到复杂3D项目的底层逻辑框架。在桌面应用开发领域,使用C# WinForms配合GDI+绘图,是实践这些核心概念的绝佳场景,它避开了重型游戏引擎的复杂性,让开发者能专注于游戏逻辑本身。本文以经典的坦克大战游戏为例,详细拆

weixin_30251829的博客 344

大厂案例:快手AI人才管理系统的架构设计与效果

凌晨两点刷简历的HR、说不清“团队离职率高”原因的业务leader、不知道“该学什么”的员工——这些人力资源场景中的“痛点”,曾是快手高速增长期的真实写照。当员工规模从几千扩张到几万,传统HR系统的“经验驱动”模式彻底失效。2021年,快手启动AI人才管理系统建设,用“数据+算法”重构招聘、培养、绩效、留存全流程。本文将拆解这套系统的架构设计逻辑核心技术实现,以及真实业务效果AI如何让HR从“事务执行者”变成“战略伙伴”?

大模型应用工坊 1711

C# WinForms开发打砖块游戏:从面向对象设计到碰撞检测实战

面向对象编程是构建复杂软件系统的核心范式,通过封装、继承和多态等特性实现代码复用与模块化。在游戏开发领域,这一范式尤为关键,它能够将游戏世界中的实体抽象为独立的对象类,并通过统一接口进行管理。C#语言凭借其简洁语法和强大的.NET框架支持,成为实现这一理念的理想选择,特别适合开发2D图形应用程序。WinForms作为经典的桌面UI框架,其事件驱动模型与游戏主循环天然契合,能够高效处理用户输入与画面渲染。通过开发打砖块这类经典游戏,开发者可以深入理解游戏循环、帧率无关动画以及碰撞检测等基础算法,并将这些知识应

weixin_30855099的博客 357

OBYC自动科目确定整理

WGI是用来重估发货的,通过比较发货时的价格和最新计算的价格,以此将所有差异过账到分配给此事务码的总账科目。是工厂还是公司,一般项目中都是使用工厂,使用工厂的意思就是物料在每个工厂下有一个价格,如果使用公司,则一个公司下的所有工厂都使用一个价格。如果该物料用的是移动平均价,那么该库存依然还存在的情况下,这个价格差异会过账到存货科目上而不会过账到存货的价格差异科目上。用于确定存货评估过账的存货冲抵科目。事务码WGR是用来重估工厂收货的,根据 计算出来的价格差异,把库存的调整过账分配给这个事务码中的总账科目。

nopicture的博客 348

HBase骚操作之数据加载方式BulkLoad

本文研究了一种HBase BulkLoad的入库方式,该方式利用HBase的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法。该方式配合MapReduce完成,高效便捷,而且不占用Region资源,增添负载,在大数据量写入时能极大的提高写入效率,并降低对Hbase节点的写入压力。HBase BulkLoad对于异构数据源的合并及大量数据一次性导入具有重要指导意义,相比HBase Put操作在性能上具有较高的优势

石榴姐yyds 7789

winform一个小游戏,赛马

如图: 采用Task多线程,和委托的技术实现的小游戏。还有背景音乐播放。 源码地址:https://download.youkuaiyun.com/download/u012408847/11029294 也可以关注公众号: ...

u012408847的博客 1717

结构化数据特征构建神器openfe的实战代码

最近订阅专栏的几位同学一起参加了AI比赛,该比赛的数据形式是结构化的。随着特征和模型的不断迭代优化,达到了一个难以跨越的瓶颈。希望我能够给出一些有效的方法,帮助他们提高成绩。在个人的调研和体验后,向他们推荐了结构化数据特征构建神器openfe,最终也帮助他们提升了十来名的成绩,个人也感到十分的欣慰。特意写此博客,希望能够帮助更多的同学。 文章目录 1. 安装 2. 实战例子一 3. 实战例子二

herosunly的博客 3万+

C#winform实现简单的五子棋(详细)

C#winform实现简单的五子棋小游戏

qq_49292721的博客 5971

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# winform简易连连看小游戏

先上图片预览 需要的所有属性字段: //背景色集 Color[] cls = new Color[] {Color.White,Color.AliceBlue,Color.Aqua,Color.Azure ,Color.Bisque,Color.Gray,Color.Red,Color.Coral,Color.Brown,Color.Yellow}; String[] images = new string[] {"1.png

m0_55940939的博客 4870

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

利用C#中WinForm设计一个小游戏:DoYouLoveMe???

利用C#中WinForm设计一个小游戏:DoYouLoveMe???

hjl011006的博客 1415

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C#使用winform做一个开关小游戏

游戏时,任意点击一个格子,其自身状态改变,且上下左右四个格子的状态也进行变化,即:原来是开的变成关的,原来是关的变成开的。从button1这里开始,只要按下按钮1,它上下左右的按钮就得进入相反的颜色状态(开关)。可以看出,按钮1只有上和右的邻居按钮2,6。选中所有的按钮,在text属性处双击,清空,会发现。

yuwoxinanA3的博客 3727

<WinForm_2>一个简单实用的小应用——桌面时钟

对于WinForm编程呢,我准备采用编写不同的小应用或小游戏这种方式——因此,可能每一个程序会包揽相对较多的东西,毕竟WinForm编程还是挺简单的^_^ 今天先来做一个挺实用的小应用——桌面时钟,也就是在桌面上显示一个时钟。 要不先来看看效果如何呢? 可以看见,在桌面上的右上角,显示了一个数字时钟 OK,下面来看看是如何实现的:(从三个方面介绍) (1)Form这个...

ithome 2769

基于winform(C#)的飞鸟小游戏

本项目是一款基于C# (winform)版本的飞鸟小游戏,是一款益智类游戏 其效果如下图所示 如上图所示为飞鸟游戏的初始化界面: 可以看到游戏包含了四个功能: 启动 注册 登陆 排行榜 启动:是用于开始游戏的 注册:是用于玩家注册用户名,方便后面排行榜的展示 登陆:是在玩家注册好了用户名字之后,玩家即可进行登陆 排行榜:对玩家在游戏中获得的分数进行排行的,玩家可以看到自己的排名 注册界...

陶陶name 5265

C# Winform翻牌子记忆小游戏

新建一个winform项目命名为Matching Game,选用.net core 6框架。有兴趣可以到微软官网查看相关细节,并把Form1.cs代码修改为。

冰凌的博客 1134

java winform小案例_C# WINFORM小游戏

【实例简介】本程序是C# WINFORM做的小游戏此游戏为棋类,是我小时候在地上画着玩的游戏。主要通过(Graphics)来实现棋子的移动,用位数组保存棋子的位置。游戏有双人对战和人机对战模式,人机对战模式有点意思。【实例截图】【核心代码】12c5197a-a41d-4c6a-9c0d-222fa6b0d18a└── NineGame├── NineGame│ ├── About.cs│ ...

weixin_42500454的博客 458
上一篇: asp.net response.ContentType 下载文件的四种方法
下一篇: C# 圣诞桌面飘雪小游戏
Kelvin峰
博客等级 码龄22年 23粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值