搜索
bottom↓
回复: 59

做个坦克大战游戏机和大家分享下

[复制链接]

出0入0汤圆

发表于 2010-6-13 12:52:04 | 显示全部楼层 |阅读模式
新手,第一次发资料~~~
给大家传一个坦克大战游戏机,用51单片机做的。键盘是用6个按钮排成游戏手柄的形状,左边四个控制自己的坦克移动,右边两个是暂停和射击键。屏幕是4个8*8的红绿双色点阵屏拼成的16*16点阵,游戏开始时敌人有三个红色坦克,在屏幕右上角出现,发的子_弹也是红色;我方坦克绿色,在左下角,子_弹是绿色;墙壁是红绿混合后的颜色,看上去是黄色。敌人那些坦克是随机动的,乱打一通~~呵呵
源程序在这里,不是标准的C语言,不过也很容易移植到Keil上。还有些别的游戏机在我的博客上( myrobot.2  1  i  c.org 不好意思去掉空格啊 ),欢迎大家去看。  上学来净做游戏机了..
坦克大战游戏源代码ourdev_561623.rar(文件大小:4K) (原文件名:坦克大战.rar)
这是几张照片,颜色照的不是很清楚:

(原文件名:坦克大战(屏幕).JPG)

(原文件名:坦克游戏模糊全景.JPG)

(原文件名:坦克游戏清晰.JPG)

这是背面电路,连线很繁琐,静下心来焊了一天。

(原文件名:背面整体.JPG)

(原文件名:背面细节.JPG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2010-6-13 12:55:25 | 显示全部楼层
焊功不错

出0入0汤圆

发表于 2010-6-13 13:07:35 | 显示全部楼层
很不错哦,一直以来想写这个东西,就和以前任天堂那个一样。但年我和朋友打到晚上三四点还在玩 ,诶。好怀念啊。。。
刚看了下楼主的博客,楼主还会自己写编译器啊?
无敌了,呵呵。

大一的时候,我们系也有这么个牛人,在写编译器。看来楼主也不错啊。
不过编译器最好还是和标准c兼容,否则自己用就行,给别人用一般不敢用的。

出0入0汤圆

发表于 2010-6-13 13:10:17 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-6-13 13:11:36 | 显示全部楼层
我小时候也是这样, 然后老爸一回家我们就赶紧手忙脚乱的藏游戏机..

出0入0汤圆

发表于 2010-6-13 13:49:35 | 显示全部楼层
牛逼

出0入0汤圆

发表于 2010-6-13 17:34:43 | 显示全部楼层
高手,MARK

出0入0汤圆

发表于 2010-6-13 17:40:11 | 显示全部楼层
飞线很赞

出0入0汤圆

发表于 2010-6-13 17:50:13 | 显示全部楼层
虽然上面已经有人说过了,我还是不得不说:飞线很赞

出0入0汤圆

发表于 2010-6-13 17:59:47 | 显示全部楼层
同意ls

出0入0汤圆

发表于 2010-6-13 22:37:31 | 显示全部楼层
飞线很赞

出0入0汤圆

发表于 2010-6-13 23:30:12 | 显示全部楼层
写个能调用任天堂游戏卡的游戏机吧!

出0入0汤圆

发表于 2010-6-13 23:42:00 | 显示全部楼层
飞线焊接的不错

出0入0汤圆

发表于 2010-6-14 00:52:20 | 显示全部楼层
期待楼主接下来的游戏大作!

出0入0汤圆

 楼主| 发表于 2010-6-14 09:08:54 | 显示全部楼层
谢谢大家的支持~~~  我还有些游戏机,以后都给大家传上来,给想做游戏机的朋友参考下。不过游戏源码不是标准C语言的,在Keil里编译不了,所以就不上传到这了,需要的话请我的博客下载。myrobot.2 1 i c.org(别忘了去掉空格哦)
贪吃蛇游戏机 --  用游戏手柄控制小蛇吃豆。手柄插座是从旧游戏机上拆下的,驱动程序超简单。

(原文件名:贪吃蛇.jpg)


(原文件名:贪吃蛇游戏机.JPG)


(原文件名:背景.JPG)


(原文件名:电路.JPG)


(原文件名:仿真电路.JPG)

出0入0汤圆

发表于 2010-6-14 09:16:16 | 显示全部楼层
弄1米网线,把8根芯掏出来,就是8米单股细铜线,适合洞洞板飞线,只是略硬。AM这里的WIRE-WRAP线比较好使一点。

出0入0汤圆

 楼主| 发表于 2010-6-14 09:22:59 | 显示全部楼层
我一般也是用网线连的,铜线容易布线,有点不足就是不太好沾锡。

出0入0汤圆

发表于 2010-6-14 13:38:42 | 显示全部楼层
51单片机上的坦克大战,赞。

出0入0汤圆

发表于 2010-6-14 14:27:26 | 显示全部楼层
看了下LZ的博客,很强。

出0入0汤圆

 楼主| 发表于 2010-6-14 15:08:11 | 显示全部楼层
这个是俄罗斯方块游戏,没加显存62C256,直接操作液晶屏像素,电路很简单。
游戏源代码: 点击此处下载 ourdev_561809.rar(文件大小:3K) (原文件名:俄罗斯方块.rar)


(原文件名:整体.JPG)


(原文件名:放大.JPG)

出0入0汤圆

发表于 2010-6-14 16:51:47 | 显示全部楼层
好强大,支持一个

出0入0汤圆

发表于 2010-6-14 17:01:20 | 显示全部楼层
楼主,请问你的编译器代码有开放吗,如果我想学习自己写编译器,可以推荐几本书吗?
另外提个建议,你的编译器最好语法兼容标准C

出0入0汤圆

 楼主| 发表于 2010-6-14 18:37:39 | 显示全部楼层
回复【21楼】zpyws
楼主,请问你的编译器代码有开放吗,如果我想学习自己写编译器,可以推荐几本书吗?
另外提个建议,你的编译器最好语法兼容标准c
-----------------------------------------------------------------------

编译器代码是开源的,就在我博客里可下载。本来是做着玩的,不过写了这么多,就不想放弃了。
其实我也不是很懂编译原理,就是按照自己的理解写的语法解析程序,然后写好多游戏程序测试它。
至于参考书,感觉好些书说的都是一个意思,随便找一本看看就好了,呵呵..
开始是写着玩,按照自己的习惯改了些语法,所以在语法兼容方面不是完全支持标准C,不过大部分还是参考C的语法的,
像控制语句、指针、结构体数组等都跟标准C用法一样的。

出0入0汤圆

发表于 2010-6-14 22:24:04 | 显示全部楼层
楼主厉害,收藏了

出0入0汤圆

发表于 2010-6-18 15:23:50 | 显示全部楼层
楼主太强了!
支持楼主!
建议楼主看看PLC开源,估计你弄PLC的话应该也没问题~~

出0入0汤圆

发表于 2010-6-24 11:31:23 | 显示全部楼层
猛!

出0入0汤圆

发表于 2010-7-14 21:02:09 | 显示全部楼层
厉害,楼主

出0入264汤圆

发表于 2010-7-14 21:50:10 | 显示全部楼层
厉害。

出0入0汤圆

发表于 2010-7-15 22:48:45 | 显示全部楼层
哇,本人极少发话,这次不得不说:BEST!

出0入0汤圆

发表于 2010-7-15 23:55:39 | 显示全部楼层
nx!!!

出0入0汤圆

发表于 2010-7-16 00:06:17 | 显示全部楼层
mark一下~~很强大

出0入0汤圆

发表于 2010-7-20 14:45:22 | 显示全部楼层
背面的飞线很不错

出0入0汤圆

发表于 2010-7-20 15:50:39 | 显示全部楼层
工艺很好!

出0入0汤圆

发表于 2010-8-2 17:01:03 | 显示全部楼层
DIY的高手呀,佩服!!

出0入0汤圆

发表于 2010-8-2 18:23:47 | 显示全部楼层
厉害,想玩俄罗斯方块~~

出0入0汤圆

发表于 2010-8-3 21:12:27 | 显示全部楼层
一直想学一下 编游戏 一直没敢动手

出0入0汤圆

发表于 2010-8-3 22:08:45 | 显示全部楼层
smile ....

出0入0汤圆

发表于 2010-8-3 22:09:24 | 显示全部楼层
楼主也是廊坊的?那个学校的啊?

出0入0汤圆

发表于 2010-8-5 20:09:38 | 显示全部楼层
太厉害了!!

出0入0汤圆

发表于 2010-8-5 21:06:44 | 显示全部楼层
回复【19楼】ShenFei 小燕子神飞
-----------------------------------------------------------------------

对你那个“读写手柄”的程序感兴趣,是什么手柄,使用串口类的协议么?能有发出来看看么?

出0入0汤圆

发表于 2010-8-5 21:11:33 | 显示全部楼层
去 楼主 的blog看了下代码,呵,我手上的并口手柄怎么读写的,估计不同。

出0入0汤圆

发表于 2010-8-5 22:31:07 | 显示全部楼层
楼主焊工了得!

出0入0汤圆

 楼主| 发表于 2010-8-6 10:40:15 | 显示全部楼层
回复【40楼】wkman 鱼片
-----------------------------------------------------------------------

38楼 tear:   我是廊坊师范的, 呵呵

我用的手柄是那种很老的在电视上玩的游戏机手柄(魂斗罗,忍者龟,超级玛丽...), 几块钱一个,应该快淘汰了.
上面有9个引脚,上边5个, 下边4个, 有4个线是起固定作用的, 剩下5根线是电源+,-,CP,D,RST.   那引脚排列哈~~等下我研究研究,
再把引脚图传上来. 和单片机相连的就是那3个线, 时序和CD4017类似, 先给RST复位信号, 再依次通过CP送8个脉冲, 各个按键的
状态就依次在数据线D上输出. 各个键可以同时按, 互不相关. 下面是读键盘程序, 返回当前键值, 不是标准C语言有些稀奇古怪的语法, 反正大体意思大家一看就懂,很容易改到Keil上的.


//游戏手柄元件,返回当前按键值, 为1表示对应键按下.
//这个是库函数的代码,所以三个控制引脚定位到一个中间元件上
unit game_pad
{
    //初始化
    public void init()
    {
        d = high;
        cp = low;
        reset = high;
    }
    //读取键盘按键
    public uint8 read()
    {
        uint8 key_data;
        reset = high;
        loop( 8 ) {
            key_data <<= 1;
            key_data.0 = d;
            reset = low;
            cp = high;
            cp = low;
        }
        return key_data;
    }
    //键盘枚举值, 用相与判零的方式检测按下
    public const uint8 right = 0b0000_0001;
    public const uint8 left = 0b0000_0010;
    public const uint8 down = 0b0000_0100;
    public const uint8 up = 0b0000_1000;
    public const uint8 start = 0b0001_0000;
    public const uint8 select = 0b0010_0000;
    public const uint8 a = 0b0100_0000;
    public const uint8 b = 0b1000_0000;
    //手柄信号线定义
    bit cp = @game_pad_port.cp;
    bit d = @game_pad_port.d;
    bit reset = @game_pad_port.reset;
}
//接口,这个元件类型是由用户定义的,根据具体的硬件连接设置端口
unit game_pad_port
{
    bit cp = @sfr.P1.0;
    bit d = @sfr.P1.1;
    bit reset = @sfr.P1.2;
}
   原来制表符显示不了啊..

出0入0汤圆

 楼主| 发表于 2010-8-6 11:24:31 | 显示全部楼层
手柄引脚图:   

(原文件名:手柄插头.JPG)


这图做的,...    太难看了

出0入0汤圆

发表于 2010-8-11 22:04:24 | 显示全部楼层
mark !mark !

出0入0汤圆

发表于 2010-8-12 01:11:19 | 显示全部楼层
楼主,手柄的公座在哪里买的?多少钱一个?叫什么名字?我怎么在淘宝搜索不到...

出0入0汤圆

 楼主| 发表于 2010-8-12 14:04:12 | 显示全部楼层
回复【46楼】liujun6037
楼主,手柄的公座在哪里买的?多少钱一个?叫什么名字?我怎么在淘宝搜索不到...
-----------------------------------------------------------------------

没办法,  从旧游戏机上拆吧..  如果实在没有, 就用电脑串口的插座代替,它们尺寸好像差不多.

出0入0汤圆

发表于 2010-8-12 14:34:08 | 显示全部楼层
楼主的焊工了得!!!!赞一个!!!

出0入0汤圆

发表于 2010-8-17 15:11:40 | 显示全部楼层
飞线很酷

出0入0汤圆

发表于 2010-8-17 19:15:56 | 显示全部楼层
超好玩...突然感觉自己水平不是一般的低.

出0入0汤圆

发表于 2010-8-17 19:33:55 | 显示全部楼层
it look amazing !!

出0入0汤圆

发表于 2010-8-17 20:58:34 | 显示全部楼层
太强大了!佩服楼主!

出0入0汤圆

发表于 2010-8-20 14:12:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 17:01:20 | 显示全部楼层
一堆强人

出0入0汤圆

发表于 2011-2-26 16:09:30 | 显示全部楼层
回复【楼主位】ShenFei 小燕子神飞
-----------------------------------------------------------------------

楼主同志,恕我冒昧,您真的是女同志吗?

出0入0汤圆

发表于 2012-3-9 15:03:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-9 15:30:45 | 显示全部楼层
mark mark!!!!楼主极其强大。。

出0入0汤圆

发表于 2012-3-9 17:10:46 | 显示全部楼层
mark,LZ超强

出0入0汤圆

发表于 2012-3-10 17:06:48 | 显示全部楼层
厉害。。。。。。。。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-8 18:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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