【BiliBili】 【知乎】 【QQ空间】 【微博】


博学慎思,坚持创新,求知若飢,虛心若愚                       关键字     类型    
  • 博主
  • 全部
  • 日志
  • 研究
  • 论文
  • 自编程序
  • 工程
  • Dino笔记
  • DinoBox
  • OpenSEES
  • Dino公开课
  • 每周挑战
  • Dino爱编程
  • 留言板

DinoBox

Grasshopper插件 JerryFish
JerryFish[GH]
2022-07-27
ETE_Frame3D
结构分析程序
ETE_Frame3D
2022-01-19
ETE-section截面分析程序
ETE-section
2021-08-19
上一篇 | 下一篇
Dino爱编程 订阅所有Dino爱编程的日志

[Dino爱编程]编写一个FlappyBird小游戏

作者:dinochen1983 日期:2020-02-12

字体大小: 小 中 大

【DINO爱编程】编写一个FlappyBird的游戏 

【编程工具】采用delphi进行编程

【资源网站】https://opengameart.org/


【游戏介绍】https://en.wikipedia.org/wiki/Flappy_Bird

游戏的设计理念
1. FlappyBird 是一只小鸟,要通过飞行穿过一系列的水管
2.点击屏幕或点空格键,小鸟向小飞一下
3.穿过一个水管得一分。如果撞到水管就会GameOver



【技术要点】

(1) 声音的播放方式。

procedure PlaySoundFile(FileName: string);
begin
 if FileExists(FileName)
 then PlaySound(pchar(FileName), 0, SND_ASYNC or SND_FILENAME);
 { Flags are:
 SND_SYNC =0 = Start playing, and wait for the sound to finish
 SND_ASYNC =1 = Start playing, and don't wait to return
 SND_LOOP =8 = Keep looping the sound until another sound is played }
end;


2. 对象之间的碰撞的分析与判断,如下图所示

if (((bird.x+20>pile[i].x)and(bird.x+20<pile[i].x+pile[i].w))
or ((bird.x-20>pile[i].x)and(bird.x-20<pile[i].x+pile[i].w)))
and (((bird.y-15>0) and (bird.y-15<pile[i].up))
or ((bird.y+15>pile[i].down-15) and (bird.y+15<image1.height)) ) then
begin
   collision:=true;
end;

3.按空格键对游戏的响应。

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#32 THEN
 begin
 end;
end;

 【FlappyBird的源代码】点击下载此文件:FlappyBirdexe.zip
【FlappyBird游戏的EXE文件】点击下载此文件:FlappyBird.zip


delphi 常用按键对照表
http://dinochen.com/attachments/month_2001/flappybird.gif



[本日志由 dinochen1983 于 2021-11-08 04:04 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 游戏游戏
评论: 0 | 引用: 0 | 查看次数: 10825
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
Dino:如果看不到验证码,再刷几下就可以了
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 200 字 | UBB代码 关闭 | [img]标签 关闭

信息(Information)

DinoChen 视频频道

My GitHub Page



扫描以下二维码,加入公众号!


dinochen.com需要你的支持


日历(Calendar)

2022年8月
  • 日
  • 一
  • 二
  • 三
  • 四
  • 五
  • 六
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3

查找(Search)

关键字
 
类 型

文章(Recent Article)

[OpenSEES]OpenSEES实例教程[汇总...[程序]Grasshopper插件Jerry Fi...[Dino笔记]粒子群算法在桁架结构中的应用[获奖]WSP亚洲2021年卓越奖获得一等奖与创新...[Dino笔记]基于遗传算法对剪力墙结构优化设计方...[Dino笔记]基于OpenSEES虚功原理的钢结...[OpenSEES] 新版ETO更新及相关下载方法...[新闻]祝韩老师荣获广东省科技进步一等奖[程序]ETE-section功能更新:可修改划分...[App开发]采用Swfit语言编制经典的推箱子游...

评论(Comments)

陈博士您好,ETE-sec最新版本和以前的一些版本...您好。陈博士,想问一下怎么下载这个软件呀陈博士您好,这个小工具好像有点问题,有效翼板宽度b...打开的时候显示“你没有许可证”,怎么弄啊陈博士您好,这个是需要购买的软件还是可以试用的怎么查看文档计算过程呢,陈博士一直显示出现一个错误字符无法计算是什么原因呢?为什么一直出错计算不了?陈博士,能共享下文件嘛?第二版没有光盘陈博士您好,我换了好几台电脑ETE还是需要许可,

留言(GuestBook)

请问陈博士,对于任意截面的柱配筋设计改如何实现,本...各位老师好,我是小白,请问大家有没有编写过open...陈博士您好,挡土墙计算的程序是否可以修改成挡土墙内...陈博士您好,想请问一下零长度单元用在桥梁的支座上,...陈博,新版ETO下载以后界面打不开是什么原因呢,旧...陈博士您好,请问可以出一期画易损性曲线的教程吗陈博士您好,我在学习您4.33侧向多自由度简化模型...陈博士您好,計算wind2019的program ...陈博士,您好,我下载使用了您编写的压型钢板组合楼板...陈博士您好,我是opensee初学者,想向您请教两...

TagBar

Loading...

用户面板(User Panel)

登录用户注册

统计(Statistics)

日志: 409 篇
评论: 895 个
留言: 418 个
访问: 14275704 次
在线: 4 人
建站时间: 2008-02-08

Powered By PJBlog3 V2.7 Build 05 CopyRight 2005 - 2011, 陈学伟的博客

Processed in 0.173828 second(s) , 6 queries 粤ICP备15071789号-1