【C语言】游戏项目:《疯狂赛车》,每个人都要加油活下去

本文介绍了一个使用C语言开发的简易《疯狂赛车》游戏项目,包括图形基础、赛道绘制、赛车绘制、赛车移动和碰撞检测等关键步骤。通过该项目,作者旨在帮助初学者理解编程的乐趣和实践应用,鼓励主动学习。文章提供了代码和视频教程链接。
摘要由CSDN通过智能技术生成

交换一个苹果,得到一个苹果;交换一种思想,得到一种思想。选择与你才干,性格不同的人,他可以弥补你的缺陷。

嗨!这里是狐狸~~

最近有点网抑云了,脑子很乱,不晓得想些什么,到了年底感觉什么都没做显得格外的浮躁,每晚睡觉时都有万根针在扎似的,时间又是一年去,时间的年轮又转了一圈,不知道大家有没有和我相似的感受呢,扯远了,回归正题,今天来和大家分享的项目是《疯狂赛车》

当然啦,我们今天做的是个简易版的,也不是3d的,主要是希望大家可以更容易的理解里面的逻辑关系,好了,先给大家展示一下我们的游戏界面吧

看起来还是比较粗糙的,但这都不是问题,我说过很多次了,我只教方法,至于做成什么样还得看自己的审美以及能力,OK,接下来来教大家怎么具体的实现这个游戏项目。

具体思路

1、图形基础

     1.1 如何显示一张图片?

          1.1.1 起名字
                类型:IMAGE
           1.1.2 所以要加载图片
                loadimage(&图片名字,"图片的路径");
            1.1.3 显示图片:putimage(int x,int y,那张图片);

      1.2 创建图形窗口

           1.2.1 创建一个多大的窗口
                initgraph(int w,int h);
            1.2.2 关闭窗口
                closegraph();

     1.3 透明贴图技术

         1.3.1 认识一下背景图和掩码图
            1.3.2 采用SRCAND 方式掩码图
                putimage(int x,int y,那张图片,SRCAND);
            1.3.3 采用SRCPAINT 方式贴背景图
                putimage(int x,int y,那张图片,SRCPAINT);

2、绘制赛道

    2.1设置线条样式

               setlinestyle(PS_SOLID, 3);

    2.2设置线条的颜色

              setlinecolor(BLACK);

    2.3画赛道中心线

              setlinecolor(WHITE);

              line(IMG_SIZE * 2, 0, IMG_SIZE * 2, IMG_SIZE * ROW);

3、绘制赛车

    3.1 绘制玩家赛车

            drawImg(player.x, player.y, img_car + player.i);

    3.2绘制敌车

              for (size_t i = 0; i < 3; i++){

               drawImg(enemy[i].x, enemy[i].y, img_car + enemy[i].i);

                     }

4、赛车的移动

          键盘控制赛车的移动

if (GetAsyncKeyState(VK_UP) && player.y >= 0)
	{
		player.y -= player.speed;
	}
	if (GetAsyncKeyState(VK_DOWN) && player.y + 60 <= getheight())
	{
		player.y += player.speed;
	}
	if (GetAsyncKeyState(VK_LEFT) && player.x > IMG_SIZE)
	{
		player.x -= player.speed;
	}
	if (GetAsyncKeyState(VK_RIGHT) && player.x + 40 <= IMG_SIZE * 3)
	{
		pla
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值