第一个完整的程序。著名的俄罗斯方块

博主用一天时间用C基础和.NET环境构建了俄罗斯方块游戏,然后在XCode中进行界面设计。遇到的问题包括C++与Objective-C的兼容性、编译链接错误以及文件扩展名的影响。在XCode中,博主对缺少home、end和delete键的键盘操作感到困扰,并且适应了XCode的代码保存和提示方式。最后,博主发现非付费开发者无法发布程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    用了一天的时间,写了一个俄罗斯方块的手机游戏。
    基础游戏框架是用C写的,或者说是在微软的.net环境下写的。然后附加到iPhone(XCode环境)下运行调试。
    界面部分则是在XCode里写的。

    说起来,.net的C/C++的.cpp或c文件,总是要带个"stdafx.h",否则就编译报错,解决方案是带个stdafx.h,然后在iPhone的工程里额外加个"stdafx.h",不过就不是原来的h文件了,里面就简单的包含了几个.h,比如stdlib.h。
    (另:如果.net里指定生成空的静态库,就可以不指定stdafx.h)

    一直以为objective c只支持c文件,所以改名为.c文件加到工程里,然后很意外的发现也支持一些c++,比如bool好象在c里是没有的。所以在xcode里编译报错,换成.cpp后就编译通过了。至于class是否支持,就没试了。
    不过还没完,既然是c函数,肯定要加个声明了,比如
      extern void RunInit(int Rng);
    结果很沮丧的发现编译过了,链接时却提示找不到该函数,折腾了好一阵,试着把.cpp文件改名为.m文件,链接通过,正常运行,真是抓狂。

    现在回到XCode。先抱怨下键盘操作。
    标准键盘里是有home,end,delete的,这三个我用得相当多。原先只是照着书输下示例代码,也还可以忍受。现在频繁的改代码,真是有点吃不消。尝试了一下,发现mac环境有自己的解决方案。标准键盘的"win"对应于mac键盘里的一个四方花纹键。不过用得比win频繁的多,用这个键加上右移键相当于end,加上shift,就相当于shift+end,选中到结尾。
    然后是delete键,这个在mac里其实是回删键,mac下估计是某个组合相当于delete,不过没找到,就算找到了估计也不想用,所以每次要按delete都是按下右移,再回删,或干脆用鼠标选中按回删,这就严重影响速度了。。整得刚回到win里都忘了有deletes可按了。


    然后是选择一段代码,拖到某处,mac很华丽的把整段文字一起拖动,害得我找目标好头大。这是何苦来啊,还是win的显示一个小小矩形好。
    mac的键盘按起来还是挺舒服,对比我的xp笔记本。不过比起台式机还是差了好多。试着外接了一个键盘,不过上面的home,delete,还是不能用。
    所谓入乡随俗,只是现在频繁的在mac/win切换,不知入的了不。。

    刚用XCode,好几次画完视图,运行,很傻眼的发现啥的没有,最后发现是要先保存,界面也就算了,代码有时也这样。现在基本是本能的按保存键。
    输代码,XCode默认是不弹出提示代码列表的(不知道可不可以配置成弹示),每次都用从菜单里找,快捷键是有,不过不认识,怎么看都象是电源键加某键,这谁敢按啊。
    XCode里的代码提示其实挺强大的,比如输入UIL,后面就跟了able,按Tab就把able放上去了。尤其是标准C函数,.net是不提示的,比如输::p,会看到::printf,不过如果只输prin,是没反应的。。而XCode虽然没有代码列表,不过在prin后会有所反应。可能和.net重点不在c有关吧。

    然后是发布程序,看起来,,不成为付费开发人员是别想发布,测试都不行。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值