给我一份《C游戏vba编程从入门到精通通》电子...

《C游戏编程从入门到精通》第一章心得和代码分析 - CSDN博客
《C游戏编程从入门到精通》第一章心得和代码分析
&&&&&&& 这本书还是很不错的,虽然没有很炫的游戏制作,但是涉及到游戏制作的基础内容,而且范围也很广,值得推荐。我说过要踏踏实实学习的,所以现在把学习成果post上来,一步一步,也可以自我监督呀!
&&&&&&& 第一章 猜数字游戏
&&&&&&& 本书提供了一个通用的游戏模版,类似于上学时对于理论知识用自己的语言以特例表达出来,很形象,很有特色,如下:
&&& int main(){&&&&&&&& int a,b,c;&&&&&&&&&&&&&&& //Init&&&&&&&& while(a!='q'){&&&&&&&&&&& /***game loop starts***/&&& &&&&&&& &printf(&%d&,c);&&&&&& //draw screen&&&&&&&&&&&& a=getch();&&&&&&&&&&& //get inputs&&&&&&&&&&&& c=a*b;&&&&&&&&&&&&&&& //change var&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&& /***game loop ends***/&&& }
&&&&&& 可见一个游戏的要素可以分为:
&&&&& 1.&&& &init
&&&&& 2.1 &game loop (starts)
&&&&& 3.&&& draw
&&&&& 4.&&& handle inputs
&&&&&&5.&&& change var
&&&&& 2.2 game loop (ends)
&&&&&& &然后书上提出了制作文本游戏的要求,也就是没有图形的游戏,可以集中精力处理游戏算法问题。它的例子是&猜数字&。玩法:程序给出一个4位数字,玩家猜测,如果猜测的数字的某一位和给出数字某一位,位置和数值都相等,就记为1A,如果数值相等,为数不等则计为1B,如:给出1234,猜1245,则为2A1B,如此反复,直到最后猜对,记为4A0B,游戏结束(或重新开始)。以下为我写的程序,不是作者的程序。
&&&&&& 分析:这个程序核心问题是比较数字,并做标记,我想到了利用两个数组每位依次比较的方法,利用2次for循环。代码如下:
&&& for(i=0;i&4;++i)&&&&& for(j=0;j&4;++j){&&&&&&&&& if(Qus[i]==Ans[j]){&&& //Qus[]&is&the Question array&&&&&&& if(i==j)++n;&&&&&&&&&&&& //Ans[] is the Answer&array&&&&&&& else&&& ++m;&&&&& }//if&&&& }//for
&&&&&& 所以整个流程为:
&&&&&& 1、给出要猜的数值&&&&&&& //init
&&&&&&&2、把数值导入Ans[]&&&&&& //init
&&&&&& 2、开始循环&&&&&&&&&&&&&&&&&& //game loop starts
&&&&&& 3、输入***数值&&&&&&&&& //rescive inputs
&&&&&& 4、比较并记录&&&&&&&&&&&&&&//handle& inputs
&&&&&&&5、输出&&&&&&&&&&&&&&&&&&&&&&&&& //draw screen
&&&&&& 6、结束循环&&&&&&&&&&&&&&&& //game loop ends
&&&&&& 对于1,最开始我指定了一个值,后来用了随机数,可参考msdn,具体方法如下:&&&& 对于2,我利用了在考程序员时见到的一种算法,观察下列数据:
#include&time.h&
&&& //init random number &guess&&&&& srand((unsigned)time(NULL));&&&&&&& int RANGE_MIN = 1000;&&&&&&& int RANGE_MAX = 9999;&&&& guess = (((double) rand() / &&&&&&&&&&&&&&&&&&&&&&&&&&&& (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
&&& given 5210&&&& /1000& 5&&& %10&& 5&&&& /100&& 52&& %10&& 2&&&& /10&&& 521& %10&& 1&&&& /1&&&& 5210 %10&& 0
&&&&&& 可见将数据处以某数e,再取10的模就可以了,具体来说e分别是,1,代码如下:
&&&& //init Qus[]&&&&&e=1000;&&&& for(j=0;j&4;++j){&&&&& Qus[j]=guess/e%10;&&&&& e/=10;&&&& }
&&&&&& 完整的代码如下:
&&#include &stdio.h&&&&&#include&stdlib.h&&&& #include&time.h&&&& //Qus[] :question number&&& //Ans[] :answer number&&& //n for A;m for B &&& int& Qus[4],Ans[4],&&&&& i,j,m,n,e,&&&&&&&&&int main(){&&&& while(1){&&&& //init random number &guess&&&&& srand((unsigned)time(NULL));&&&&&&& int RANGE_MIN = 1000;&&&&&&& int RANGE_MAX = 9999;&&&& guess = (((double) rand() / &&&&&&&&&&&&&&&&&&&&&&&&&&&& (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);&&&& //init Qus[]&&&&&&& e=1000;&&&& for(j=0;j&4;++j){&&&&& Qus[j]=guess/e%10;&&&&& e/=10;&&&& }&&&& //-----------check--------------&&&& for(j=0;j&4;++j)&&&&&& printf(&%d/n&,Qus[j]);&&&& //------------------------------&&&& printf(&enter your answer :&);&&&& //***start guessing*****//&&&& do{&&&& n=0;m=0;&&&& scanf(&%d&,&guess);&&&& //init Ans[]&&& &e=1000;&&&& for(j=0;j&4;++j){&&&&& Ans[j]=guess/e%10;&&&&& e/=10;&&&& }&&&& //compare&&&& for(i=0;i&4;++i)&&&&& for(j=0;j&4;++j){&&&&&&&&& if(Qus[i]==Ans[j]){&&&&&&& if(i==j)++n;&&&&&&& else&&& ++m;&&&&& }//if&&&& }//for&&&& printf(&%dA%dB/n&,n,m); &&&& }while(n!=4);&&&& //***end guessing*****//&&&& printf(&Bingo!/n);&&&& }&&& }
&&&&&& compare算法还有不完备的地方,就是当出现6442这种由重复的数字时,AB会累计计数,猜对了显示为4A2B。整个程序还有些问题,比如没有禁止输入字母或位数不对的数字,没有游戏结束点,以后再修改吧!又像一起学习的同志们一起到我的blog讨论吧!希望能进入文档中心!!!
&&&&&& 《C游戏编程从入门到精通》下载地址:
本文已收录于以下专栏:
相关文章推荐
今天在网上偶然看见许多大师在讨论如何学习C/C++,大牛们推荐了一些书籍,个人觉得很不错,怕以后想学的时候找起来费劲,所以给整过来了。(本文转自大牛、大师们)
我的个人的拙见可以这样学C++:
...
想实践下Apache是如何运行cgi程序的,却发现先前编译***Apache的时候,没有***Apache的cgi模块。
附:CentOS6.x编译***LAMP(2):编译*** Apache2.2....
Description:
有2n个硬币和一个天平,其中有一个质量是m+1, 另一个硬币质量为m-1, 其余的硬币质量都是m
算法1:O(n)算法
将2n个硬币分成n组(每组2个)进行称量:
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)C语言游戏编程从入门到精通,最全面的C语言游戏编程从入门到精通文章 - 电子工程世界网
C语言游戏编程从入门到精通
在电子工程世界为您找到如下关于“C语言游戏编程从入门到精通”的新闻
C语言游戏编程从入门到精通资料下载
C语言游戏编程从入门到精通.7z 7-zip压缩文件
C语言游戏编程从入门到精通.pdf 影印版
C语言游戏编程从入门到精通(光盘) 文件夹
DOS下游戏编程的C语言教程,包含图形绘制、中文显示、动画实现、文件调用、内存使用、声卡调用、中断、内存驻留技术、接口技术、数据库实现、简单病毒、界面技术等。
以游戏编程为方向,提升C语言能力的绝佳书籍(及书中源代码...
一蹴而就,数据结构和算法如果通过一本书就可以掌握,那本身就是笑话。本书附录提供了本书写作时的参考书目,基本都是最优秀的数据结构或相关的中文书籍各有侧重,建议大家可以适当地阅读。
  8.在之后的编程学习和工作中,尽量把已经学到的数据结构和算法知识运用到现实开发中。遗忘时翻阅本书回顾相关内容,最终达到精通数据结构和相关算法的境界。
  编程语言说明
  本书是用C语言编写,基于C90(ISO...
&c游戏编程从入门到精通&参考书,C语言和游戏编程的入门教程...
C语言游戏编程从入门到精通.pdf...
C语言游戏编程从入门到精通相关帖子
、CPLD/FPGA、DSP其中单片机是必会的,51系列单片机就可以,因为这个用得最多;找块51开发板(比较便宜)自己动手编编程序就可以了。ARM单片机、FPGA、DSP开发板都比较贵,不过这是趋势,有条件就玩玩吧。编程方面:c/c++是要会的,实际上单片机/DSP应用系统就常用c语言来开发数据结构和操作系统是计算机软件专业最核心的课程(北大老师认为,学过这两门课就认为是学过计算机了)大型单片机...
://bbs.embedu.org/thread-.html《精通Android游戏开发》
作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。本书是为那些在Android游戏开发工作中寻求突破的人准备的。书中不仅通过Space Blaster和Asteroids这两个炫酷 的街机游戏深入介绍了如...
C Programming第二版中文
C语言高级教程-上海贝尔
atmanavr6.05 和谐版
C语言_C.Primer.Plus
DG4000_Programming Guide_CN
嵌入式处理器
xlisp最新驱动程序
【配套例程】Freescale FRDM-KL25Z开发套件配套例程 V1.00
三星四核Cortex A9 Exynos 4412 绝密资料...
个产品配置,非常方便。
[b]个人技能概要:[/b]工作满8年,熟悉C#环境,熟悉UWP编程,所以PI3想上个WIN10 IOT系统,熟悉PCB制图,STM32,NXP等单片机,精通C#(WinForm,ASP.net)
[b]DIY作品展示:[/b]做过数十个自动化控制设备,包含自动焊锡设备、机器视觉、汽车线束塑壳塞孔设备、汽车线束热缩设备、自动包胶设备等。
[b]树莓派开发板评测分享计划...
就这个mini_pcie接口做一下拓展,将更多的外围器件做成卡插式的样子供学ufun的人去选购。比如:显示的液晶等等,这样模块化的学习。
大二的学生
十分感谢张进东工程师!!!
本人在校学生狗一枚,想通过开发板学习下模电相关知识,特地申请学习板。
有C语言编程基础
基本与论坛学习进度同步,随时与大家交流
第一步:熟悉一下开发板的各项性能
第二步:把各个模块都调试一遍...
来运行、调试它。如果没有学过,不妨也提前学习一下,可以参考清华大学出版社出版的谭浩强老师的《C语言程序设计》,推荐这本书的原因一是它已经经过了多年的考验,应该说还是比较严谨的;其次就是大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到。  其次,如果你后续有志于游戏方面的开发,你最好具备一定的数据结构和算法基础知识。虽然现代的高级编程语言中,其类库中已经帮我们实现...
单板计算机,真是太赞了!该平台仅有信用卡大小,是一款开放式软硬件开发平台,可快速地将开发者的构想转化为产品。
该处理器集成了高达1GHz 的ARM Cortex-A8 内核,并提供了丰富的外设接口。包括网口、USB Host、USB OTG、TF 卡接口、串口、JTAG 接口、HDMI D Type 接口、eMMC、ADC、I2C、SPI、PWM 和LCD 接口。TI Sitara能够满足包括游戏...
的编程学习和工作中,尽量把已经学到的数据结构和算法知识运用到现实开发中。遗忘时翻阅本书回顾相关内容,最终达到精通数据结构和相关算法的境界。
  编程语言说明
  本书是用C语言编写,基于C90(ISO C)的标准。读者可以选择任何一款基于C90标准的C语言开发工具或更高版本的开发工具来学习本书中的代码。
  本人一直习惯于用Visual Studio 2008作为开发工具,因此在写作此书时...
。第13~17课讲解了文件操作处理,错误和程序调试,组件技术的相关知识,C语言程序设计范例和C语言高级编程技术。第l8-20课分别讲解了C语言俄罗斯方块游戏,Ping网络项目,学生成绩管理系统的流程和实现方法。
光盘中包含全书案例的完整源代码、C语言开发环境快速入门的视频教程,以及赠送的4套完整大型案例的源代码和视频讲解。
本书内容全面,不但适合没有任何C语言基础的初学者,而且适合有一定设计...
://.cn/detail/tiankai001/7338 LabVIEW和C语言交互编程教程和实例.cn/detail/jujuyaya222/132216 LabVIEW你知道吗.合集.cn/detail/Timson/122607...
C语言游戏编程从入门到精通视频
你可能感兴趣的标签
热门资源推荐

参考资料

 

随机推荐