汇编语言实现的贪吃蛇,不用绘图(创新)

VC++ WIN32 sdk实现按钮自绘详解.   网上找了很多,可只是给出代码,没有详细解释,不便初学者理解.我就抄回冷饭.把这个再拿出来说说.实例图片:  首先建立一个标准的Win32 Application 工程.选择a simple Win32 Application.然后建立我们的资源文件首先新建一个对话框资源,资源ID改为IDD_MAIN_DLG然后在其上新建一个按钮控件资源ID改为IDC_ODBUTTON, 阅读详情

 这是很早以前写的一个,汇编小游戏,觉得很有创新性,全部都用字符操作完成,不用切换分辨率去作图.在dos窗口下

就可以玩.不过有个缺点就是在不同频率CPU的机子上会有不同的速度,这个可以靠调节延时程序,来实现.所谓延时

就是设置,很多循环,以前在dos下好像都是这么做的.对cpu很浪费呀.很久没看汇编了,自己写的代码都快看不明白了.

鄙视自己当时的编码.简直就是一团糟.

 

; ****************************************************************************************************
;文件名:snake.asm  
;
;作者:Geniusdot
;
;版本号:
1.0
;
;
*****************************************************************************************************
DATA SEGMENT
dw 
0 , 0
snk db 
1
blk db 
32
food db 
3
tal1 db 
4
tal2 db 
2
adrs db 
5
len db 
?
pst db 
?
addrs dw 
?
frow db 
?
fcol db 
?
hwrt db 
?
gmov db 
' game over press r to restart press q to quit $ '
score1 db 
' score :$ '
score2 db 
?
score0 db 
1
zero db 
48
writer db 
' Developer: Geniusdot   $ '
email db 
' e-mail: geniusdot@gmail.com$ '
msg1 db 
' The way to play the game:$ '
way db 
'  press w to up ,press s to down,press a to left,press d to right$ '
msg db 
' Press any key(except a,s,d,w) to start$ '
DATA ENDS

STACK SEGMENT stack
  db 
200  dup( 0 )
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
start:
mov ax,data
mov ds,ax

mov ax,
0
mov es,ax

mov frow,
10
mov fcol,
6
mov dh,
10  
mov dl,
26
mov ah,
2
mov bh,
0
int  10h
mov ah,
9
lea dx,msg1
int  21h
mov dh,
11
mov dl,
7
mov ah,
2
mov bh,
0
int  10h
mov ah,
9
lea dx,way
int  21h
mov dh,
12
mov dl,
20
mov ah,
2
mov bh,
0
int  10h
mov ah,
9
lea dx,msg
int  21h
mov ah,
0
int  16h

mov ah,
6
mov al,
0
mov ch,
0
mov cl,
0
mov dh,
24
mov dl,
79
mov bh,
10
int  10h
mov dh,
0
mov dl,
0
从游戏破解到CTF逆向:汇编语言实战入门与核心技能解析 逆向工程是分析程序内部逻辑与行为的关键技术,广泛应用于软件安全分析、漏洞挖掘与CTF竞赛。其核心原理在于通过静态分析与动态调试相结合的方式,解析程序的二进制代码与运行时状态。静态分析侧重于在不运行程序的情况下,通过反汇编工具(如IDA Pro、Ghidra)还原代码结构与逻辑;动态调试则利用调试器(如x64dbg)实时监控程序执行,通过断点、内存监视等手段观察数据流与控制流。掌握逆向工程不仅能深入理解软件运行机制,还能有效提升发现与修复安全缺陷的能力。在CTF竞赛与安全研究中,逆向技能常用于分析算法、绕过验 阅读详情

相关推荐

这个地方的程序员太闲了,写了三个世界流行的操作系统!

Andreas开发宁静OS则是为了逃离毒瘾,Ville M. Turjanmaa用汇编写MenuetOS,是因为汇编性能高。他发现Linux中那些C/C++写的组件用汇编重写时,性能可以提升10%~40%,于是就开始重写了。世界上有个地方,这里的程序员似乎特别闲,特别喜欢开发操作系统。这个地方就是北欧。1991年,芬兰的程序员Linus Torvalds开发了Linux,现在已经统治世界。2018年,瑞典程序员Andreas Kling为了戒除毒瘾,完全从头儿开始,开发操作系统。图片。

leyang0910的博客 1612

51单片机和12864液晶屏实现贪吃蛇游戏

51单片机是基于Intel 8051微控制器架构的一种应用非常广泛的单片机,通常被用于嵌入式系统的开发。它以简洁的硬件结构、丰富的外围接口和稳定的性能而受到开发者的青睐。51单片机拥有一个8位的CPU、一定数量的RAM和ROM、定时器/计数器、串行通信接口以及I/O端口等。在这一章节中,我们探讨了51单片机项目的实施步骤,从电路设计和搭建到程序编写和调试,再到系统调试与性能优化。每个步骤都包含着一系列具体的任务和注意事项,对项目的成功有着决定性的影响。

weixin_29859471的博客 809

用CVI写一个贪吃蛇小游戏

心想也对,做贪吃蛇需要非阻塞读取键盘(不卡死等按键,蛇能自己移动),像标准C库的getchar()就是阻塞式回去键盘,会让进程卡住,不能用的。注意,CVI2010似乎不能#include <conio.h>,所以豆包给出了调用windows API的替代方案,来实现非阻塞式检测方向键/ESC是否按下的kbhit()函数,和判断按键具体是哪个方向键/ESC的getch()函数。很显然,这里用到了GetAsyncKeyState()函数,这是WindowsAPI的非阻塞检测按键函数,按下返回负数,没按返回0。

qq_15084199的博客 387

C++可视化编程完整解析:贪吃蛇小游戏

本文还有配套的精品资源,点击获取 简介:本文详细解析了如何使用C++语言和Visual Studio 2010环境开发贪吃蛇小游戏。文章介绍了C++语言的核心特点、Visual Studio 2010的强大功能,以及可视化编程的概念。贪吃蛇游戏的实现涉及了C++的基础语法和高级特性,包括随机数生成、数据结构、碰撞检测、绘图和状态管理。该项目不仅展示了C++的综合应用,也提供...

weixin_42168902的博客 1118

⭐⭐⭐全网最详细YOLOv8教程,从环境配置到自己训练,再到数据集的制作,包的各位⭐⭐⭐

问题原因:当你“pip install ultralytics” 时,torch和torchvision会作为它的依赖一起安装了,当执行“pip install torch torchvision torchaudio --index-url。”时,会卸载torch,然后再安装torch+cuda版本,但是不会自动卸载torchvision已有版本,然后再安装torchvision+cuda版本。🎉🎉🎉恭喜各位道友,已经可以训练模型了,现在就是制作自己的数据集,所谓申神通秘境,随心所欲,万物皆可识别也

weixin_74840239的博客 7492

常规波束形成——时域波束形成、频域波束形成

本文介绍了波束成形,包括时域波束成形和频域波束成形,并解释了在实现过程可能存在疑惑的相位补偿。

Candy_Editor的博客 3658

避坑指南:Vue2中使用TinyMCE5常见问题解决方案(含PowerPaste插件异常处理)

本文针对Vue2项目中集成TinyMCE 5富文本编辑器时遇到的高频疑难问题,提供了一套深度实战解决方案。内容涵盖环境搭建、资源路径配置、图片与视频上传处理、以及替代PowerPaste插件的自定义粘贴清理方案,旨在帮助开发者有效规避常见陷阱,构建稳定可靠的内容编辑功能。

weixin_29012677的博客 154

uniapp - 微信授权登录报错 errMsg“:“login:fail send“ | “code“:-100 | “innerCode“:-6,解决uni-app调用微信登录时没有响应且返回错误

uni-app,微信登录,微信登录报错,微信小程序,支付宝小程序,安卓app,苹果ios,nvue,H5网页网站,uniapp苹果安卓app,微信授权登录,uniAppAPP端微信登录报错,微信确认登录界面后点击登录报错,"errMsg":"login:failsend","errCode":-100,"code":-100,"innerCode":-6,都配置好了还是报错怎么办,uniapp微信授权登录报错,UniApph5对接微信登录出现错误,appid,应用签名,微信登陆,code:-100

🏆 前端领域优质创作者 1万+

(秋招复习)一些SLAM基础

秋招复习--SLAM基础知识篇

weixin_45432823的博客 767

Android 13.0 双屏时触摸失效问题排查与修复

摘要:本文记录了RK3588 Android12开发板上主屏触摸失效问题的排查与解决过程。通过分析发现,USB触摸设备被错误关联到辅屏(displayId=3)而非主屏(displayId=0)。解决方案是修改TouchInputMapper.cpp,强制触摸设备使用INTERNAL viewport(主屏),并保持设备在viewport不活跃时仍启用。该修改涉及约40行代码,有效解决了多显示器环境下触摸设备错误映射的问题,同时提供了详细的调试方法和注意事项。

ip0417的博客 353

PD3.0详解 电源规则,全解!!!全解!!!

电源规则 大师匈今天谈一下PD3.0的电源规则,PD3.0标准标定的规则。 USB协议声称,为了世界和平世界环境,让大家用上统一标准的充电器,不用再为每一个用电设备都配一个专门的充电器,这些充电器各种各样的都有,所以有时候大师匈也很烦!!!那么为了维护世界和平,USB协议呢就制订了这个PD快充协议,还有它的规则,只要全世界都用PD,就解决了这个大问题。 在这里先了解一个关键字,PDP: Power Delivery Power PD电源的功率。 每个PD充电产品的功率要以0.5W的精度上报,比如大师匈做的P

大师匈的博客 1万+

拼多多全站商品SKU数据爬虫实战:Python自动化采集与清洗

在电商数据分析领域,SKU(Stock Keeping Unit,库存量单位)数据是洞察商品策略、价格体系和市场竞争格局的核心抓手。本文以拼多多平台为研究对象,系统讲解如何利用Python构建一套完整的全站商品SKU自动化采集与清洗流程。文章涵盖目标分析与反爬策略、网络请求模拟、数据解析、分布式存储、数据清洗与标准化,以及调度与运维等全链路环节,并提供可直接运行的代码示例。拼多多API返回的数据结构大致如下(已脱敏):json"goods_name": "某品牌运动鞋",

2201_76125261的博客 216

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: Windows 中透明窗体与系统托盘实现详解
下一篇: 对C/C++函数中指针与数组的研究.
geniusdot
博客等级 码龄20年 23粉丝 8原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值