精华内容
下载资源
问答
  • C语言其实最擅长的是写纯数据处理的程序 .... 当水平提高到一定程度后 , 就想要用C语言去写个游戏 , 或者图形界面 . 写图形和界面无外有两个选择 , 一个是接别人的图形接口 , 一个是自己跟底层的硬件打交道 . 但

    C语言其实最擅长的是写纯数据处理的程序 . 非得用C语言写个界面程序那将会变得很困难 .

    我刚开始学C语言就是从hello world 开始的 , 后来慢慢开始学从三个数中找出最大值 , 和对数组进行排列什么的 . 当水平提高到一定程度后 , 就想要用C语言去写个游戏 , 或者图形界面 .

    写图形和界面无外有两个选择 , 一个是接别人的图形接口 , 一个是自己跟底层的硬件打交道 . 但我想 , 自己写底层是不可能的 , 那就只好接别人开发的接口 .

    下面说三个我自己用过的库 .

    openGL(开源图形库) , 跨平台 , 这是个最专业图形库 , 内容比较复杂 , 必需要有数学基础 , 还有计算机图形学基础 , 否则是用不好它 . 不支持 声音 键盘 等等一些东西 , 如果需要这些东西 , 可以使用一个工具包 (GLUT) . glut也是一个库 , 它是对opengl的再封装 , 然后再加上声音和键盘事件处理 . 新手学opengl一般都是从glut库开始的 .

    SDL(简单媒体库接口) , 跨平台 , 这是我用得最多的图形库 , 只支持2D . 函数数量少 , 而且也简单 . 非常适合新手使用 . 而且还支持嵌入opengl程序 .

    graphics , msdos平台 , 这是turbo c 上自带的一个图形库 . 这个我感觉也很适合新手玩 . 但这东西只能拿来玩 , 现在没有人开发用这个 . 这是一个DOS时代的东西 , 现在已经没人用了 . 它上面的函数还是挺简单的 , 什么画点画线画圆画矩形 , 都有 .

    展开全文
  • C语言】贪吃蛇游戏的实现(一)

    万次阅读 多人点赞 2018-12-28 11:32:38
    略显简陋的开始界面,图案是我一点一点拼的,因为有\需要转义,所以对齐也花了不少时间,足够繁杂和无聊的工作。 游戏界面如图所示,左侧方框是地图,菱形组成的线是蛇,红色圆点是食物,吃到加分。 游戏结束...

    (注意:本代码是在VC++6.0环境下编译的,在其他环境如codeblocks下运行可能会产生意想不到的问题,请尽量使用VC。至于为什么要使用VC编译,哦,我亲爱的朋友,这只有上帝才知道)

    最近由于小创需要,捣鼓了一个贪吃蛇游戏,系统由纯C语言开发,VC++6.0编译通过,具体的运行效果如下:

    略显简陋的开始界面,图案是我一点一点拼的,因为有\需要转义,所以对齐也花了不少时间,足够繁杂和无聊的工作。

    游戏界面如图所示,左侧方框是地图,菱形组成的线是蛇,红色圆点是食物,吃到加分。

    游戏结束界面可以选择再来一局或者退出。

    系统源码链接:https://download.csdn.net/download/includei/10878930

    GitHub:https://github.com/testAccount1024/snake

    为了给以后自己留个参考,记录心得体会,也希望能对做相同项目的人有所帮助或启发,我把这个游戏的开发过程整理成博客发布,陆续更新,不足之处恳请批评斧正。

     

    好了,让我们进入正题。

    贪吃蛇游戏是一款经典的益智游戏,有PC和手机等多平台版本。既简单又耐玩。该游戏通过控制蛇头方向吃食物,从而使得蛇变得越来越长。它的基本规则是:一条蛇出现在封闭空间中,空间中随机出现一个食物,通过键盘上下左右方向键控制蛇前进方向。蛇头撞到食物,食物消失,蛇身体增长一节,累计得分,刷新食物。如果蛇在前进过程中撞到墙或自己身体,则游戏失败。

    我们可以简单地画出游戏的大概流程图:

    贪吃蛇游戏分为四个界面,包括欢迎界面,游戏界面,游戏说明和游戏结束界面。实现的主要功能有:

    1.字符图案装饰。
               2.绘制游戏地图。
               3.绘制移动的贪吃蛇。
               4.随机绘制食物并且位置不与当前蛇身体重合。
               5.键盘按键控制蛇的前进方向。
               6.不按键时,蛇自动前进。
               7.文件读写,存入和读取最高分。

    我们列出为实现各个模块功能所需要的函数:

    暂且省略定义,下面依次介绍各个函数的功能,首先说明欢迎界面的函数,因为游戏说明界面其实只是打印字符较为简单,我们也一并列出。为了在窗口内合适位置打印字符,我们需要控制光标的位置,声明gotoxy()函数以实现设置光标位置。

    /*
    	设置光标位置
    */
    void gotoxy(int x,int y)
    {
        COORD c;
        c.X=x;
        c.Y=y;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
    }

    为了让显示的文字色彩多样,我们声明color()函数用于改变文字颜色。

    /*
    	文字颜色函数
    */
    int color(int c)
    {
    	//SetConsoleTextAttribute是API设置控制台窗口字体颜色和背景色的函数
    	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);        //更改文字颜色
    	return 0;
    }

    接着声明printsnake()函数用于打印欢迎界面的字符装饰,color(2)设置文字颜色为绿色。

    /*
    	字符拼成英文图案
    */
    void printsnake()
    {
    	color(2);
    	printf("                                                                                         \n");
    	printf("                       __________       ___                                              \n");
    	printf("                      /          \\     / \\ \\    |____      __\\__                     \n");
    	printf("                     /  ________  \\   / ___ \\  _/ __     | |   /                       \n");
    	printf("                     |  |      |__|     _/_   |_|  /    [|] |/                           \n");
    	printf("                     |  |              | | |      /     _|_ \\__/                        \n");
    	printf("                     \\  \\_______        / \\      |___/        ____                    \n");
    	printf("                      \\         \\    ____ ____      ____   __ |  |  ___   ______       \n");
    	printf("                       \\_______  \\   |  |/    \\    /    \\_/ / |  | /  /  /      \\   \n");
    	printf("                               \\  \\  |    ___  \\  / ____   /  |  |/  /  /  ____  \\   \n");
    	printf("                     __        |  |  |   /   \\  \\ | |  |  /   |     /  |  /____\\  |   \n");
    	printf("                    \\  \\_______|  |  |  |    |  | | |__|  |   |     \\  |  ________/   \n");
    	printf("                     \\            /  |  |    |  |  \\       \\  |  |\\  \\  \\  \\____  \n");
    	printf("                      \\__________/   |__|    |__|   \\___/\\__\\ |__| \\__\\  \\______/ \n");	
    }

    然后我们声明welcometogame()函数绘制菜单选项并通过switch实现选择功能。

    /*
    	开始界面
    */
    void welcometogame()
    {
    	int n;
    	int i,j = 1;
    	gotoxy(43,18);
    	color(11);
    	printf("贪 吃 蛇 游 戏");
    	color(14);          			//黄色边框
    	for (i = 20; i <= 26; i++)   	//输出上下边框┅
    	{
    		for (j = 27; j <= 74; j++)  //输出左右边框┇
    		{
    			gotoxy(j, i);
    			if (i == 20 || i == 26)
    			{
    				printf("-");
                }
    			else if (j == 27 || j == 74)
                {
    				printf("|");
                }
    		}
    	}
    	color(10);
    	gotoxy(35, 22);
    	printf("1.开始游戏");
    	gotoxy(55, 22);
    	printf("2.游戏说明");
    	gotoxy(35, 24);
    	printf("3.退出游戏");
    	gotoxy(29,27);
    	color(3);
    	printf("请选择[1 2 3]:[ ]\b\b");        //\b为退格,使得光标处于[]中间
    	color(14);
        scanf("%d", &n);    		//输入选项
        switch (n)
        {
        	case 1:					//选择开始游戏
        		system("cls");
    			createMap();        //创建地图
    			initsnake();        //初始化蛇身
    			createfood();		//初始化食物
    			keyboardControl();	//控制键盘按钮
            	break;
        	case 2:					//选择游戏说明
            	explation();
            	break;
        	case 3:					//选择退出游戏
            	exit(0);     		//退出游戏
            	break;
    		default:				//输入非1~3之间的选项
    			color(12);
    			gotoxy(40,28);
    			printf("请输入1~3之间的数!");
    			getch();			//输入任意键
    			system("cls");		//清屏
    			printsnake();
    			welcometogame();
        }
    }

    游戏说明界面explation()函数实现打印说明文字的功能。

    /*
    	游戏说明
    */
    void explation()
    {
    	int i,j = 1;
        system("cls");
        color(15);
        gotoxy(44,3);
        printf("游戏说明");
        color(2);
        for (i = 6; i <= 22; i++)   //输出上下边框===
    	{
    		for (j = 20; j <= 76; j++)  //输出左右边框||
    		{
    			gotoxy(j, i);
    			if (i == 6 || i == 22) printf("=");
    			else if (j == 20 || j == 75) printf("||");
    		}
    	}
        color(3);
        gotoxy(30,8);
        printf("tip1: 不能撞墙,不能咬到自己");
        color(10);
        gotoxy(30,11);
        printf("tip2: 用↑.↓.←.→分别控制蛇的移动");
        color(14);
        gotoxy(30,14);
        printf("tip3: F1 为加速,F2 为减速");
        color(11);
        gotoxy(30,17);
        printf("tip4: 按空格键暂停游戏,再按空格键继续");
        color(4);
        gotoxy(30,20);
        printf("tip5: Esc :退出游戏");
        getch();                //按任意键返回主界面
        system("cls");
        printsnake();
        welcometogame();
    }

    以上便是欢迎界面和游戏说明界面的函数介绍,下一部分内容有空的时候继续更新(最后让我吐槽一下富文本编辑器这谜一样的代码对齐方式)。

    展开全文
  • C语言游戏接蛋

    2020-12-03 14:09:40
    游戏简介 (1)背景 有一颗蛋从天而降,无数人都想得到它。但是这颗蛋落地就碎,为了不让它裂开,只能用一张弹性的布料接住再抛起。每个人坚持接住的次数都不一样,你能坚持多久呢?...在主界面可以开始游戏、帮

    游戏简介
    (1)背景
    有一颗蛋从天而降,无数人都想得到它。但是这颗蛋落地就碎,为了不让它裂开,只能用一张弹性的布料接住再抛起。每个人坚持接住的次数都不一样,你能坚持多久呢?
    (2)坐标
    游戏采用二维坐标,地图周边用星号表示。当蛋碰到边界时,会自动反弹。而玩家只能在地上左右移动,且无法超过边界。
    (3)分数
    玩家每接住一次蛋,得到1分。当蛋掉到地上时,游戏结束。记录玩家的成绩,加入到文件记录起来。
    (4)排行榜
    每个玩家的得分都不尽相同,设置排行榜,给玩家评估自己的实力。
    (5)玩法
    在主界面可以开始游戏、帮助或者排行榜。开始游戏后A、D控制接板左右移动,接到小球得到一分,否则失败!空格可以暂停游戏。

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    #include <Windows.h>
    typedef struct {
    	int x;
    	int y;
    }Point;
    
    typedef struct {
    	Point p;
    	char name[20];
    	int score;
    }Player;
    
    void initAll(Player* player,Point* ball);
    void playerMove(Player* player,int right);
    void DrawAll(int x,int y,char ch,int right,int bottom,Player player);
    int menu();
    void help();
    int isDeath(Player* player,Point* ball);
    void saveRecord(Player* player);
    void printRecord();
    void sortRecord(Player p[],int n);
    void swap(Player p[],int i,int j);
    void outputRecord(Player p[],int n);
    
    void outputRecord(Player p[],int n)
    {
    	int i;
    	system("cls");
    	printf("%-6s%-10s%-10s\n","名次","姓名","得分");
    	for(i=0;i<n;i++)
    	{
    		printf("%-6d%-10s%-10d\n",i+1,p[i].name,p[i].score);
    	}
    	system("pause");
    }
    
    void swap(Player p[],int i,int j)
    {
    	Player t;
    	t=p[i];
    	p[i]=p[j];
    	p[j]=t;
    }
    
    void sortRecord(Player p[],int n)
    {
    	int i,j;
    	for(i=0;i<n;i++)
    	{
    		for(j=i+1;j<n;j++)
    		{
    			if(p[i].score<p[j].score)
    			{
    				swap(p,i,j);
    			}
    		}
    	}
    }
    
    void printRecord()
    {
    	Player p[100];
    	int n=0;
    	FILE* fp=fopen("record.txt","r+");
    	if(fp==NULL)
    	{
    		printf("无历史记录!\n");
    		system("pause");
    		return;
    	}
    	fscanf(fp,"%s%d",p[n].name,&p[n].score);
    	while(!feof(fp))
    	{
    		n++;
    		fscanf(fp,"%s%d",p[n].name,&p[n].score);
    	}
    	sortRecord(p,n);
    	outputRecord(p,n);
    	fclose(fp);
    }
    
    void saveRecord(Player* player)
    {
    	FILE* fp=fopen("record.txt","a+");
    	if(fp==NULL)return;
    	fprintf(fp,"%s %d\n",player->name,player->score);
    	fclose(fp);
    }
    
    int isDeath(Player* player,Point* ball)
    {
    	if(player->p.y!=ball->y)return 0;//没有到最底层
    	if(abs(player->p.x - ball->x)<=2)
    	{
    		player->score++;
    		return 0;//接到了
    	}
    	system("cls");
    	printf("you got %d score!\n",player->score/2);
    	system("pause");
    	return 1;//没接到
    }
    
    void startGame(Player* player,Point* pt,int iTopY,int iBottomY,int iLeftX,int iRightX,int iVelocityX,int iVelocityY)
    {
    	int flag;
    	while (1) 
    	{
    		while(!kbhit())
    		{
    			system("cls");
    			pt->x += iVelocityX;
    			pt->y += iVelocityY;
    			if (pt->x >= iRightX || pt->x <= iLeftX) iVelocityX = iVelocityX * (-1.0);
    			if (pt->y >= iBottomY || pt->y <= iTopY) iVelocityY = iVelocityY * (-1.0);
    			DrawAll(pt->x, pt->y, 'O',iRightX,iBottomY,*player);
    			flag=isDeath(player,pt);
    			if(flag)return;
    			Sleep(100); //windows.h,保持100毫秒;
    		}
    		playerMove(player,iRightX);
    	}
    }
    
    void help()
    {
    	system("cls");
    	printf("接蛋游戏:\n");
    	printf("A、D控制接板左右移动,接到小球得到一分,否则失败!\n");
    	printf("空格暂停游戏!\n");
    	system("pause");
    }
    
    void playerMove(Player* player,int right)
    {
    	char dir;
    	dir = getch();
    	switch(dir)
    	{
    	case 'a':
    	case 'A':
    		player->p.x-=2;
    		if(player->p.x<=0)
    		{
    			player->p.x=1;
    		}
    		break;
    	case 'd':
    	case 'D':
    		player->p.x+=2;
    		if(player->p.x>=right)
    		{
    			player->p.x=right;
    		}
    		break;
    	case ' ':
    		system("pause");
    		break;
    	}
    }
    
    void DrawAll(int x,int y,char ch,int right,int bottom,Player player) {
    	int i,j;
    	for(i=0;i<=bottom;i++)
    	{
    		printf("*");
    		if(i==0||i==bottom)
    		{
    			for(j=0;j<=right;j++)
    			{
    				printf("*");
    			}
    		}
    		else if(i==player.p.y)
    		{
    			for(j=0;j<=right;j++)
    			{
    				if(j==player.p.x-1||j==player.p.x||j==player.p.x+1&&j>0&&j<=right)
    				{
    					printf("_");
    				}
    				else
    				{
    					printf(" ");
    				}
    			}
    		}
    		else if(i==y)
    		{
    			for(j=0;j<=right;j++)
    			{
    				if(j==x)
    				{
    					printf("%c",ch);
    				}
    				else
    				{
    					printf(" ");
    				}
    			}
    		}
    		else
    		{
    			for(j=0;j<=right;j++)
    			{
    				printf(" ");
    			}
    		}
    		printf("*\n");
    	}
    	printf("Score:%d",player.score/2);
    }
    
    void initAll(Player* player,Point* ball)
    {
    	system("cls");
    	printf("请输入玩家姓名:");
    	scanf("%s",player->name);
    	printf("游戏即将开始!\n");
    	ball->x = 5;
    	ball->y = 10;
    	player->p.y=19;
    	player->p.x=10;
    	player->score=0;
    	system("pause");
    }
    
    int menu()
    {
    	int choice;
    	system("cls");
    	printf("1:开始游戏\n");
    	printf("2:游戏说明\n");
    	printf("3:排行榜\n");
    	printf("4:退出游戏\n");
    	printf("请输入选择:");
    	scanf("%d",&choice);
    	while(choice<1||choice>4)
    	{
    		printf("请重新选择:");
    		scanf("%d",&choice);
    	}
    	return choice;
    }
    
    int main()
    {
    	int choice;
    	Point pt;
    	Player player;
    	int iTopY,iBottomY,iLeftX, iRightX;
    	int iVelocityX=0, iVelocityY=0;
    	TCHAR c = 'o';//小球
    	iTopY = 1;iBottomY = 20;iLeftX = 1;iRightX = 30;//运动的界面大小
    	iVelocityX = 1;iVelocityY = 1;//小球初始方向
    	do
    	{
    		choice=menu();
    		switch(choice)
    		{
    		case 1:
    			initAll(&player,&pt);
    			startGame(&player,&pt,iTopY,iBottomY,iLeftX, iRightX,iVelocityX, iVelocityY);
    			saveRecord(&player);
    			break;
    		case 2:
    			help();
    			break;
    		case 3:
    			printRecord();
    			break;
    		}
    	}while(choice!=4);	
    	return 0;
    }
    
    展开全文
  • C语言拼图游戏

    2020-03-13 20:27:45
    2,绘制一个开始界面的菜单 图形库(画矩形,填充颜色),文字输出,鼠标操作 3,加载资源 切割技术,用到随机函数,随机产生一维数组下标,然后赋值给二维数组进行初始化。 4,贴图 我这里3行3列的。遍历二维数组...

    一:完成拼图所要实现的功能

    1,实现图形界面
    一维数组,二维数组,图形库里面的贴图
    2,绘制一个开始界面的菜单
    图形库(画矩形,填充颜色),文字输出,鼠标操作
    3,加载资源
    切割技术,用到随机函数,随机产生一维数组下标,然后赋值给二维数组进行初始化。
    4,贴图
    我这里3行3列的。遍历二维数组进行 贴图。
    5,游戏过程
    主要是鼠标操作,遇到空白的一块,左右上下都可以交换。

    二:效果展示

    在这里插入图片描述

    在这里插入图片描述

    三:代码实现

    /************************************************************************
    *                项目名称:拼图游戏
    *                项目描述:图片切割,随机函数,一维二维间的赋值,树边操作
    *                项目环境:VS2013
    *                生成日期:2019-3-13
    *                作者所属:追梦
    *************************************************************************/
    #include<stdio.h>
    #include<stdlib.h>
    #include<easyx.h>
    #include<time.h>
    #include<conio.h>
    int array2D[3][3] = { 0 };
    int array1D[9] = { 0 };
    IMAGE img, block;
    struct blankPos
    {
    	int i, j;
    }myPos{ 0, 0 };
    struct blankPos searchPos(int array2D[][3], int l, int h)
    {
    	for (int i = 0; i < l;i++)
    	{
    		for (int j = 0; j < h;j++)
    		{
    			if (array2D[i][j] == 8)
    			{
    				myPos.j = j;
    				myPos.i = i;
    				return myPos;
    			}
    		}
    	}
    	return myPos;
    }
    void drawMenu()//菜单
    {
    	initgraph(300, 300);
    	setbkcolor(WHITE);
    	cleardevice();
    	setfillcolor(BLUE);
    	settextstyle(10, 0, L"宋体");
    	setbkmode(TRANSPARENT);
    	fillrectangle(120, 60, 180, 80);
    	fillrectangle(120, 85, 180, 105);
    	outtextxy(130, 65, L"开始游戏");
    	outtextxy(130, 90, L"退出游戏");
    	settextcolor(RED);
    	outtextxy(95, 140, L"追梦拼图游戏V1.1.0版本");
    	MOUSEMSG m;
    	while (1)
    	{
    		m = GetMouseMsg();
    		if (m.x >= 120 && m.x <= 180 && m.y >= 60 && m.y <= 80)
    		{
    			setlinecolor(BLACK);
    			rectangle(120 - 2, 60 - 2, 180 + 2, 80 + 2);
    			if (m.uMsg==WM_LBUTTONDOWN)
    			{
    				break;
    			}
    		}
    		else if (m.x >= 120 && m.x <= 180 && m.y >=85  && m.y <= 105)
    		{
    			setlinecolor(BLACK);
    			rectangle(120 - 2, 85 - 2, 180 + 2, 105 + 2);
    			if (m.uMsg == WM_LBUTTONDOWN)
    			{
    				exit(0);
    			}
    		}
    		else
    		{
    			setlinecolor(WHITE);
    			rectangle(120 - 2, 60 - 2, 180 + 2, 80 + 2);
    			rectangle(120 - 2, 85 - 2, 180 + 2, 105 + 2);
    		}
    	}
    	closegraph();
    }
    void loadResource()//加载资源
    {
    	srand((unsigned int)time(NULL));
    	int length=8;
    	int pos = 0;
    	int i, j;
    	for (i = 0; i < 8; i++)
    	{
    		array1D[i] = i;
    	}
    	for (i = 0; i < 3; i++)
    	{
    		for (j = 0; j < 3; j++)
    		{
    			if (i == 2 && j == 2)
    			{
    				array2D[i][j] = 8;
    				break;
    			}
    			pos = rand() % length;
    			array2D[i][j] = array1D[pos];
    			for (int k = pos; k < length; k++)
    			{
    				array1D[k] = array1D[k + 1];
    			}
    			length--;
    		}
    		if (i == 2 && j == 2)
    		{
    			array2D[i][j] = 8;
    			break;
    		}
    	}
    	loadimage(&img, L"图1.jpg", 300, 300);
    	loadimage(&block, L"空目的地.jpg", 100, 100);
    }
    void drawMap() //贴图
    {
    	for (int i = 0; i < 3; i++)
    	{
    		for (int j = 0; j < 3; j++)
    		{
    			int x = 100 * j;
    			int y = 100 * i;
    			switch (array2D[i][j])
    			{
    			case 0:
    			case 1:
    			case 2:
    				putimage(x, y, 100, 100, &img, array2D[i][j] * 100, 0);
    				break;
    			case 3:
    			case 4:
    			case 5:
    				putimage(x, y, 100, 100, &img, (array2D[i][j] - 3) * 100, 100);
    				break;
    			case 6:
    			case 7:
    				putimage(x, y, 100, 100, &img, (array2D[i][j] - 6) * 100, 200);
    				break;
    			case 8:
    				putimage(x, y, &block);
    				break;
    			}
    		}
    	}
    }
    void playGame() //游戏过程
    {
    	MOUSEMSG m;
    	int i, j;
    	int i_MOUSE, j_MOUSE;
    	while (1)
    	{
    		drawMap();
    		searchPos(array2D, 3, 3);
    		i = myPos.i;
    		j = myPos.j;
    		m = GetMouseMsg();
    		switch (m.uMsg)
    		{
    		case WM_LBUTTONDOWN:
    			i_MOUSE = m.y / 100;
    			j_MOUSE = m.x / 100;
    			if (i_MOUSE == i + 1 && j_MOUSE == j)
    			{
    				array2D[i][j] = array2D[i_MOUSE][j_MOUSE];
    				array2D[i_MOUSE][j_MOUSE] = 8;
    			}
    			if (i_MOUSE == i - 1 && j_MOUSE == j)
    			{
    				array2D[i][j] = array2D[i_MOUSE][j_MOUSE];
    				array2D[i_MOUSE][j_MOUSE] = 8;
    			}
    			if (i_MOUSE == i  && j_MOUSE == j+1)
    			{
    				array2D[i][j] = array2D[i_MOUSE][j_MOUSE];
    				array2D[i_MOUSE][j_MOUSE] = 8;
    			}
    			if (i_MOUSE == i  && j_MOUSE == j-1)
    			{
    				array2D[i][j] = array2D[i_MOUSE][j_MOUSE];
    				array2D[i_MOUSE][j_MOUSE] = 8;
    			}
    			break;
    		}
    	}
    }
    int main()
    {
    	drawMenu();
    	initgraph(300, 300);
    	loadResource();
    	drawMap();
    	playGame();
    	system("pause");
    	return 0;
    }
    
    展开全文
  • 编译器 vs2019 EasyX图形库 点击开始按钮开始游戏, 上下左右控制方向, 空格键暂停, 回车键继续;
  • C语言实现拼图游戏

    2021-01-20 01:43:00
    2.绘制一个开始界面的菜单 图形库(画矩形,填充颜色),文字输出,鼠标操作 3.加载资源 切割技术,用到随机函数,随机产生一维数组下标,然后赋值给二维数组进行初始化。 4.贴图 我这里3行3列的。遍历二维数组进行 ...
  • 开始页面 游戏过程: 说明: 整个游戏过程为键盘控制,上下左右进行格子选择,1进行标记或取消标记,2进行怀疑或取消怀疑,回车会打开当前格子(标记的格子不可打开,如果是已经打开的格子,再回车时会...
  • c语言 猜数游戏

    2018-10-16 18:26:58
    #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; int Menu() { //创建一个Menu函数,打印需要的用户界面 printf("=\n");... 1.开始游戏 \n"); printf(" ...
  • 嘿,我是Dibyasom,这是如何制作CLI井字游戏的方法。 在开始之前,我想告诉你, 您已经完全了解自己的缺点,并且对他们的习性还不完善,请不要自我比较。 附言 配置工作空间,如果正在 Linux,您一定要确保安装了...
  • C语言实现五子棋小游戏

    千次阅读 多人点赞 2019-11-03 20:31:09
    C语言实现五子棋小游戏开始界面的实现引言所需头文件简单介绍 开始界面的实现 引言 每次当我们进入游戏时总会有一个开始导航界面,可以通过选择相应的功能来进行帮助、选择游戏模式、设置声音开关以及颜色等。...
  • 球球大作战: 前言: 本游戏用到了图形界面库graphics.h,图形界面库下载安装:https://blog.csdn.net/alzzw/article/details/100043681 ...界面的绘制(按开始开始游戏游戏场景绘制(地图的大小,边界等)...
  • C语言游戏之五子棋

    千次阅读 多人点赞 2018-12-12 20:32:18
    //1、首先、打印游戏界面菜单(开始游戏、退出游戏) //2、然后玩家选择开始游戏,打印棋盘。(棋盘用二维数组表示,初始化为空格) //3、进行游戏,提示玩家输入棋盘坐标,玩家落子。玩家落子后,电脑随机落子 //4、...
  • //开始界面的字符 int in_Deltar = 1,in_EnteredNumber,in_Sig;//游戏中输入数字及其判定所需要的数字 int in_GivenNum = 0,in_An = 0,in_Bn = 0;//出的数字,和数字区间 int in_Mid1,in_Mid2;//用来交换An、Bn的...
  • 本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include #include #include /* 用 C 语言写一个简单的扫雷游戏 */ // 1.写一个游戏菜单 Menu...
  • C语言扫雷小游戏

    2018-11-07 18:37:57
    扫雷游戏该怎么玩呢,我们想到最简单的是先选择游戏开始,然后选择难度,一般分为简单,中等难度,高等难度,选择完毕后就可以开始玩了,出现一个像棋盘的界面,然后会提示输入坐标,如果有雷就会被炸死(提高游戏...
  • 扫雷游戏 C语言实现

    万次阅读 2015-02-20 20:06:13
    扫雷游戏 C语言实现实现了如下功能: 鼠标控制 左键点开 右键标记 中键自动翻开(效果同windows扫雷) 首次点击不会中雷下面是几张效果图: 这是初始界面,3种难度级别,难度同经典版windows扫雷 Beginner ...
  • C语言学习过程中从来都是字符界面的编程,如何能有“图形化”的效果呢?于是小编就在度娘, 谷歌等网站搜索了一番,发现了一些有用的Win32 API函数,于是小编的心一下子激动了起来,有了这些API函数也许能够实现...
  • Demo目录导语序章游戏总体设计游戏流程图游戏中数据与函数介绍游戏实现开始界面实现结语 导语 这是C语言高级demo。用C语言实现Flappy Bird这款经典的游戏,最终的效果要达到与原著有一定的相似度。示意图如下: 本...
  • 下图是游戏开始界面,$是小老鼠,#是墙,O是终点,当小老鼠把所有箱子推进终点就代表游戏通过。 游戏思维 游戏地图用一个二维数组去存储。数组中不同的值代表不同的对象(老鼠、墙、路等)。当小老鼠在移动时,数组...
  • c语言游戏,推箱子

    千次阅读 2016-12-21 22:06:07
    按 r 重新开始游戏游戏开始有操作介绍游戏结束有胜利提示 游戏原理分析 游戏开始时的星星个数 = 箱子在星星上的个数时 , 游戏胜利。按 r 键重新开始游戏, 我们需要定义一个量 map_1[8][8] 来保存游戏初始时...
  • PAGE PAGE 1 C语言2048小游戏课设 项目说明 本系统基于C语言开发适用于刚入门的C语言新手项目课设开发软件采用VC++6.0开发VSDEV C++等均可运行书生 项目运行截图 开始界面 代码界面截图 完整代码 #include<stdio.h> ...
  • C语言实现贪吃蛇游戏(VC6.0)

    万次阅读 多人点赞 2016-10-10 19:51:12
    首先,开始界面游戏界面如下: 代码如下: 笔者VC6.0下编写,测试无问题,可复制代码直接到VC6源文件下,后缀为.c文件 可以编译通过运行~ #include #include #include #incl
  • 目录前言简单的初始界面制作棋盘和布雷“雷”的判断与展开判断游戏结束执行游戏 ...简单的一个初始界面,用来选择开始游戏和退出。也可以在这里在后续加上难度选择等等功能。 void ShowMenu() { printf("*********
  • C语言】 猜数游戏

    2019-10-11 20:54:21
    猜数游戏 游戏规则: 这里会随机产生一个1-100的整数,你有五次机会来猜这个数是几,期间系统将会提示你猜大了还是猜小了。 #include <stdio.h>...int start()//开始界面 { int i; print...
  • 整个游戏可分为四个步骤: (1)显示开始界面,按键或鼠标点击开始游戏。 (2)显示游戏界面,按游戏规则进行游戏。 (3)画面实时显示选手得分,贪吃蛇每吃一个食物,蛇身长一节。 (4)结束时给出提示和得分。给...
  • 我用C语言做了这个游戏程序,较失败的一点是由于不会运用图形界面,所以只是在dos窗口下完成了游戏功能。此游戏会在最开始处介绍给出执行方法任务,并提供三种选择,一种为一步步进行游戏,一种为直接快速游戏输出...
  • 带登录程序的猜数小游戏C语言编写)

    千次阅读 多人点赞 2020-11-25 21:14:44
    按照一般游戏规则在游戏开始之前首先进行游戏登录,一开始会有3次登录机会,如果在这三次中输入账号密码正确则进入游戏,猜数游戏开始;但是3次登录都错误后,必须等10S后才能在次登录,并且 以后每次登录失败都会有...
  • c语言五子棋

    2017-11-01 14:40:28
    使用c语言实现的五子棋,包含开始游戏,悔棋,图形界面,加载等功能
  • 拼图游戏直接复制就可以用,里面的图片和音乐路径换成自己的就好了,音乐格式只支持wav。拥有交互界面,大概200多行的代码,拼图完成后,会弹出提示框,并开始下一局游戏,每次游戏的拼图打乱不一样,是随机的!
  • 游戏初始界面有两个选择,选项“1”为开始游戏,选项“0”为退出游戏;选择开始游戏之后将会打印出9*9的棋盘,此时系统已经为游戏设置了10个雷,输入坐标之后将会打印出此坐标周围八个位置有几个雷,如果踩到了雷,...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 174
精华内容 69
关键字:

c语言游戏开始界面

c语言 订阅