求!!!用C语言编写程序:组数游戏

求!!!用C语言编写程序:组数游戏,第1张

#include <stdioh>

#include <stdlibh>

#include <stringh>

void choise(int b,int n,int a)

{

int i,j,k,temp;

for(i=0;i<n-1;i++)

{

k=i; /给记号赋值/

for(j=i+1;j<n;j++)

if(b[k]<b[j]) k=j; /是k总是指向最小元素/

if(i!=k)

{ /当k!=i是才交换,否则a[i]即为最小/

temp=a[i];

a[i]=a[k];

a[k]=temp;

temp=b[i];

b[i]=b[k];

b[k]=temp;

}

}

}

void main()

{

int a[20],b[20];

int n;

int max=0;

int w1,w2,i,j;

char msg[]="";

printf("请输数字个数(小于20)\n");

scanf("%d",&n);

for(i=0;i<n;i++)

{scanf("%d",&a[i]);}

for(i=0;i<20;i++)

{b[i]=a[i];}

for(i=0;i<n;i++)

{

if(a[i]>max)

{

max=a[i];

}

}

itoa(max,msg,10);

w1 = strlen(msg);

for(i=0;i<n;i++)

{

itoa(b[i],msg,10);

w2 = strlen(msg);

w2 = w1-w2;

for(j=0;j<w2;j++)

{b[i]=b[i]10;}

}

choise(&b[0],n,&a[0]);

for(i=0;i<n;i++)

{printf("%d",a[i]);}

}

说实话,我很能理解你现在的处境,因为我当时也迷茫过,但现在不了。

我是学软件工程的,从大学刚入学就一心一意想学游戏编程,但苦于不知从何学起,但经过这么多年,我一直把自己的经验记着,想告诉后来人。

首先第一步被你说对了,的确是要学c/c,比较权威的是谭浩强的《C程序设计》,我们大学时就是这本,一般中国学软件的都知道,关于C,等你学完C语言,会发现任何一本c书都能看懂,我当时用的c也是谭浩强的书。

等你学完语言后,就要开始涉及游戏的东西了,现在写游戏主要有opengl和directx两种,directx用的更广泛一些,所以我用的是后者,我推荐一本比较好的书,是中国人写的,这本书基本上属于把微软的官方文档翻译了一遍,名字叫做《精通Direct3D图形与动画程序设计》,看这本书时,刚开始可能有些困难,可以借助网上的东西,就不会的就上网查一下,问我也可以,但我不怎么经常上百度的空间。

directx学的差不多(最好是深入一些),就可以搞一些小游戏了,大型游戏还不行,因为如果你真想从事游戏这个行业,就该学一些引擎方面的知识。我推荐一本书,叫《DirectX游戏开发终极指南》,是外国人写的,但是有翻译的中文版,这本书实现了一个及其简单的引擎,但真的是引擎入门的好书。(这本书的书附光盘里的代码有好多错误,我手上有自己经过调试和修改过的正确的代码,你要的话我可以给你)。

我觉得这三本书是最基本要学的,如果你想提高你的技能,可以再看一些数据结构,人工智能,网络方面的。数学也同样很重要,尤其是线性代数。

显然有用嘛 对逻辑语句方面就很容易上手

学游戏开发要么

A:

学习一门语言,比如C语言。

学习某系统上的常用编程,比如WINDOWS编程。

学习一种渲染API,比如OpenGL或者Direct3D。

学习一种声音API,比如OpenAL或者DirectSound。

要么B:

学习一款游戏引擎。比如国外的Gamemaker、国内的GameMei

原因主要有两点:

其一:一个大型程序通常都需要很多人同时开发,然后再组装成一个完整的程序。这时候,模块化显得尤为重要。经过软件设计工程师的分析设计,将一个程序(例如你说的游戏)分成各个相对独立的模块,然后分发到下面的项目组进行开发(或者外包到别的公司,甚至别的国家的公司)。这是一个技术性很强的工作,要求有极其丰富的软件设计经验。所以我们这些程序员(在技术上)的目标就是软件设计工程师(不是软考的那个,是真正的工程师)。

其次是为了可维护性。游戏是要升级的,其实任何软件都一样,升级意味着修改,修改意味着重新编写代码,重新编译,重新测试……对一整个庞大的文件做这些工作简单还是有针对性的对需要升级的部分进行修改简单呢?这是一个不言自明的问题。(但要说明一点,无论哪种情况,测试都是要全部重新测一遍的,因为即使很小的改动,也可能引入bug和错误,所谓“牵一发而动全身”是也)。

其它的如楼上指出的可移植性、可重用性等,也是重要的原因。

总之,模块化是百利而无一害的(设计良好的前提下,否则可能乱七八糟一大堆,还不如一个单一文件来的直观)。

#include <stdioh>

#include<stdlibh>

#include <timeh>

 main()

{

    int  face;   // 储存每次色子的点数

int roll;  //投掷色子的次数(循环变量)

int frequency[7] = {0};  //记录色子每个点数出现的次数

    srand(time (NULL));  //用系统时间来初始化系统随机数的种子值

     //用循环产生100次随机数,并记录每个点数出现的次数

    for (roll=1; roll<=100; roll++)

    { 

        face = rand()%6 + 1; 

        frequency[face]++;

    }

     

    printf("%4s%17s\n", "Face", "Frequency");

     

//输出每个点数出现的次数

    for (face=1; face<=6; face++)

    {

        printf("%4d%17d\n", face, frequency[face]);

    }

system("pause");

 }

以上就是关于求!!!用C语言编写程序:组数游戏全部的内容,包括:求!!!用C语言编写程序:组数游戏、学游戏编程要回C语言吗、会c语言,对学游戏编程有用吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9698224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存