论初学C时一起做过的那些事
Hello,大家好,今天我们就来说一说,刚入门C语言做过的小游戏,本人小白白一枚,初次发文,望路过的大佬勿喷,有不足指出请与指正(0^0)
01游戏初衷
大家都有玩过贪吃蛇的小游戏,在智能手机还未问世的时候,手持诺基亚黑白手机玩个贪吃蛇、推箱子是多么的不亦乐乎,我们要想写一个贪吃蛇,我们得有一个大概的思路去逐个进行,我们大概的了解了下游戏本身,例如:蛇的身体,怎么让蛇动起来,还得有围墙,让蛇可以吃东西增加自身的长度等等。那么我们知道了大概的思路就差不多知道一个贪吃蛇的游戏是怎么实现的了,就是一个一个的小功能模块组装到一起进行的。
废话不多说,我们开始实战部分:如下
02代码区
这里我为了好区分没有把代码放到一个cpp文件里,那样自己看着看着就会懵逼了,最重要的是一定咬注释,不然到时候自己都看不懂#^ ^#
- Music.h:内容如下
#pragma once
#include <windows.h>
#pragma comment(lib, "Winmm.lib")//For MCI(Media Control Interface,媒体控制接口)
void Music();
- Music.cpp:内容如下
#include "Music.h"
void Music()
{
mciSendString("play E:\\C_project\\Snake\\DZZ.mp3", NULL, 0, NULL);
}
- 欢迎.h:内容如下
#pragma once
#define 开始游戏 1
#define 加载游戏 2
#define 游戏帮助 3
#define 关于 4
#define 退出游戏 5
void gotoxy(int x, int y); //定位坐标打印
void Drawing(); //蛇身图形
void Option(); //游戏选项菜单
void Optionone();//游戏选项1
void Optiontwo();//游戏选项2
void Optionthree();//游戏选项3
void Optionfour();//游戏选项4
- 欢迎.cpp:内容如下
//设置用户欢迎界面和选择
#include <Windows.h>
#include <stdio.h>
#include "全局颜色.h"
#include "欢迎.h"
#include "Music.h"
#include "判断输入.h"
//在某一个坐标的位置上,打印一串字符
void gotoxy(int x, int y)
{
COORD pos = {
x,y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//这个句柄代表的就是控制台屏幕的输出接口
SetConsoleCursorPosition(hOut, pos);
}
//显示snake的图画
void Drawing()
{
Music();
gotoxy(32, 4);
color(12);
printf("_______/");
gotoxy(31, 4);
color(2);
printf("|");
gotoxy(42, 4);
color(10);
printf("\\");
gotoxy(32, 5);
color(2);
printf("\\______ "); //蛇嘴
gotoxy(43, 5);
color(10);
printf("\\");
gotoxy(34, 1);
color(6);
printf("/^\\/^\\"); //蛇眼睛
gotoxy(34, 2);
printf("|0_|0_|"); //蛇眼睛
gotoxy(33, 2);
color(2);
printf("_");
gotoxy(25, 3);
color(12);
printf("\\/");//蛇信
gotoxy(31, 3);
color(2);
printf("/");
gotoxy(37, 3);
color(6);
printf("\\_/");//蛇眼睛
gotoxy(41, 3);
color(10);
printf("\\");
gotoxy(26, 4);
color(12);
printf("\\_____");//舌头
gotoxy(31, 4);
color(10);
printf("\\");
gotoxy(32, 4);
color(12);
printf("_________/");
gotoxy(38, 6);
color(10);
printf("& &");
gotoxy(37, 7);
printf("& & &^&^&^&^&^&");
gotoxy(36, 8);
printf("& & &^ ^&");
gotoxy(35, 9);
printf("& & &^ &^&^& & _- * -_ _");
gotoxy(34, 10);
printf("& & &^ &^ ^& & &~ >");
gotoxy(33, 11);
printf("& &^ &^ &^ ^& & &~ _ - *");
gotoxy(33, 12);
printf("& & &^ &^ ^& & &~ &~");
gotoxy(34, 13);
printf("& &^&^&^&^ &^ ^& &^&~ &~");
gotoxy(35, 14);
printf("& &^ & &~");
gotoxy(36, 15);
printf("~&~&~&~&~&~&~ ~&~&~&~&~&~ ");
gotoxy(40, 18);
color(13);
printf("* * * * * 欢 迎 进 入 游 戏 * * * * *\n");
}
//游戏选择菜单
void Option()
{
system("mode con cols=100 lines=40");
printf<