迪文科技论坛

 找回密码
 立即注册
搜索
查看: 50|回复: 0

【分享】爆破专家拆弹小游戏

[复制链接]

1

主题

0

回帖

28

积分

新手上路

Rank: 1

积分
28
发表于 3 天前 | 显示全部楼层 |阅读模式
游戏名称:爆破专家
  这是一个专注于“倒计时”和“随机函数”这两个核心机制的、更具不可预测性的定时炸弹游戏简介。
  游戏刚开始的片头是极具炫酷的片头小动画,运用图片动画制作,随后跳转的是游戏开始的界面,这款游戏有两个模式,分为简单模式和困难模式,困难模式运用随机函数。两个模式由玩家自行选择,简单模式下需要由玩家在四根引线中选择出正确的唯一固定引线,倒计时时间为20秒,若选择错误或者倒计时结束则会爆炸,灯亮并有刺耳声音,游戏重新开始,若选择困难模式,则正确引线会随机出现在四根引线中,倒计时为10秒,更为压迫和紧张。若游戏玩家取得胜利,则会进入片尾精彩动画,最后恭喜游戏玩家任务完成,快来体验一下紧张又刺激的爆破小游戏吧!你能否逃出生天?
  这是一个由“随机函数”驱动、行为难以完全预测的致命装置。每一次游戏都是全新的挑战,极大地提升了游戏的紧张感和重玩价值。迪文屏与主控MCU(如RAND)的配合,是实现这种随机性的完美平台。
  随机函数倒计时实现:while(1)
        {         
                        if(mode!=0)  //拆弹选择
                        {
                                sys_write_vp(0x2000,(u8*)&cnt_num,1);
                                sys_write_vp(0x2010,(u8*)&cnt_1ms,1);
                                sys_read_vp(0x3000,(u8*)&key_num,1);
                                if(key_num>1)               //手动输入拆弹答案
                                {
                                        TR0=0;K1=0;mode=0;
                                        if(key_num==answer){win_page(34);pwm_set_duty(0);BELL = 0;}   //拆弹等于答案
                                        else{win_page(33);pwm_set_duty(90);BELL = 1;}  //否则爆炸
                                        key_num=0x00;
                                        sys_write_vp(0x3000,(u8*)&key_num,1);
                                }
                                 if(exit1_cnt==1)            //拆弹时间到
                                 {
                                         TR0=0;K1=0;mode=0;
                                         exit1_cnt= 0;
                                         win_page(33);
                                         pwm_set_duty(90);
                                         BELL = 1;
                                 }
                        }
                        else    //模式选择
                        {
                                sys_read_vp(0x4000,(u8*)&key,1);
                                if(key!=0)
                                {
                                        mode = key;
                                        if(mode==1){answer=5;cnt_num=20;}   //标准模式,答案等于5
                                        else{if(mode==2){answer=rand()%4+2;}cnt_num=10;}//困难模式,答案随机
                                        TR0=1,K1=1;cnt_1ms =999;exit1_cnt= 0;
                                        key=0x00;                                
                                        sys_write_vp(0x4000,(u8*)&key,1);        
                                        pwm_set_duty(0);
                                        BELL = 0;
                                }
                        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-9-19 09:41 , Processed in 0.042744 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表