加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 碧俐千仞 于 2011-10-11 21:16 编辑
自小而始,同学们梦想着制作游戏,要以此改变世界、影响他人。到了大学终于如愿以偿、有更多的机会接触C语言。可同学们发现课程学习和理想中的不大一样,有时枯燥乏味不知所图。本文以饶绍萍同学一篇项目报告为基础,试图以初学者的角度手把手地讲明用C语言制作飞机游戏方法,并希望以此为突破口,一发不可收拾。 飞机游戏历史悠久,像19XX,雷电当年风靡一时。愿同学们由此创造经典,震撼世界。 第一步:绘制主飞机 巧妇不能无米之炊,人类的文明也是工具的文明。Win-Tc就是不错的工具,Google搜索WinTc即可下载。 人类永远童心未泯,见神奇事物必探索其究竟。双击图标既可打开,人生白纸展示眼前。 有些人的人生不是从空白开始,也许在你的界面中,空白处会有默认的程序,这时你可以点击“编译链接并运行”按钮(
)查看效果。 C语言的最基本结构如下:
#include <stdio.h> void main() { }
|
其中的void main(){}是一个函数的定义,表示建立一个名字叫main的函数。其他函数的格式也类似。c语言默认启动位置为main函数,也就是说当程序启动后就会运行括号里的程序。#include<stdio.h>是预处理语句,其实是表示这个文件中包含了stdio.h这个内置文件,它了printf等函数。
C语言最基本的“语句”可以算是printf,正如孩童呱呱坠地后能说的第一句话是“妈妈”,基本所有人接触C语言后用的第一个语句就是它。它的格式是printf("要显示的内容");功能是在窗体中显示字符,比如printf("helloworld");是在屏幕中显示helloworld。要记住C语言每个语句后面都会有个分号,标志这一句的结束,正如每个人生的分号都意味着新阶段的开始。
马上来试试printf的功能吧!简单输入两句代码后点击“编译链接并运行”按钮就能看到弹出的窗口中出现helloworld这几个字符
#include<stdio.h> void main() { printf("helloworld"); getch(); }
|
程序后面的getch()是等待按键输入,同学们可以将这一句删除试试效果,如果没有这个语句的话程序会一闪而过。在这里getch作用就是卡住程序,让程序等待一个按键输入后再走到末尾,结束程序。
cprintf的功能和printf相似,但在显示有格式的文字上比printf有优势,以后在显示有颜色的字符时会用到cprintf。
printf是一个神奇的函数,它和textcolor(数值);配合使用时就能显示有颜色的字体,cprintf和textcolor是要好的朋友,彼此不分离。各个数值的含义如下
数值
|
含义
|
字符或背景
|
0
|
黑
|
字符/背景
|
1
|
蓝
|
字符/背景
|
2
|
绿
|
字符/背景
|
3
|
青
|
字符/背景
|
4
|
红
|
字符/背景
|
5
|
洋红
|
字符/背景
|
6
|
棕
|
字符/背景
|
7
|
淡灰
|
字符/背景
|
8
|
深灰
|
字符
|
9
|
淡蓝
|
字符
|
10
|
淡绿
|
字符
|
11
|
淡青
|
字符
|
12
|
淡红
|
字符
|
13
|
淡洋红
|
字符
|
14
|
黄
|
字符
|
15
|
白
|
字符
|
比如要显示绿色(数值为2)的helloworld,程序如下:
#include<stdio.h> void main() { textcolor(2); cprintf("helloworld"); getch(); }
|
Printf的另一个好朋友是gotoxy,它和gotoxy(横坐标,纵坐标);配合使用就能调整文字的位置,参数中横坐标和纵坐标都是从1开始,左上角就是(1,1)
比如在第5列第4行显示helloworld。
#include<stdio.h> void main() { gotoxy(5, 4); cprintf("helloworld"); getch(); }
|
Printf也能显示一些键盘无法打出的字符,就像人们总能用一些奇怪的符号去表示特定的内容。格式是cprintf("%c",数值);%c是一个占位符,表示显示后面数值所对应的字符,各数值和它对应的字符如下: 比如要显示一个笑脸,上图中笑脸对应的数字为2。
#include<stdio.h> void main() { cprintf("%c",2); getch(); }
|
也可以在一个语句中显示多个奇怪字符,显示出来的字符结果完全和printf双引号里的内容一致。如果有多个%c则需要在双引号的后面添加多个数值,它们一一对应。
#include<stdio.h> void main() { cprintf("I %c you %c",2,1); getch(); }
|
例子中的2对应第一个%c,1则对应第二个%c。
既然%c表示字符,那么其它的呢?这种占位功能的符号还有很多,比如%d就是显示整型数值,%f就是显示浮点型数值(小数),还有一些转义字符,比如“\n”就表示换行。
定义一个变量a,然后让它自加20,最后用%d显示出来:
#include<stdio.h> void main() { int a=10; a=a+20; cprintf("now a = %d",a); getch(); }
|
了解这些知识之后就可以绘制飞机模型,初定飞机模型如下,这个形状由白色的机身和绿色的机翼和尾翼组成。
从众多字符中找到一个ASC码值为219的字符“■”作为单元构建飞机模型。模型中白色对应的颜色数值是15,绿色对应的是2。
从最上面的白色画起,用到设置颜色的textcolor()和设置位置的gotoxy。第一块白色的位置应该是1行3列。
#include<stdio.h> void main() { textcolor(15); gotoxy(3, 1); cprintf("%c",219); getch(); }
|
同样的道理再添加一行绿色、一行白色再一行绿色即可,全部代码,/*文字*/是表示注释,对程序没有任何影响。
#include<stdio.h> void main() { /*第一行*/ textcolor(15); gotoxy(3, 1); cprintf("%c",219); /*第二行*/ textcolor(2); gotoxy(1, 2); cprintf("%c%c%c%c%c",219,219,219,219,219); /*第三行*/ textcolor(15); gotoxy(3, 3); cprintf("%c",219); /*第四行*/ textcolor(2); gotoxy(2, 4); cprintf("%c%c%c",219,219,219);
getch(); }
|
完成后你可以将这个文件储存到你喜欢的位置,点击“编译链接并运行”按钮你会发现在文件储存的目录中多了两个文件,其一是.OBJ文件,另一个是.EXE文件。 这时你就可以将.EXE文件发送给亲朋好友,让他们羡慕嫉妒恨去吧!人生需要分享,程序也是如此,也许程序就是一段人生之路,从空白到涂鸦再到完整。
这是汕头大学动漫游戏工作室、汕头大学动漫技术与游戏开发协会的培训教材啦,当然,是原创的。
|