返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言如何实现简单的贪吃蛇游戏
  • 678
分享到

C语言如何实现简单的贪吃蛇游戏

2023-07-04 23:07:42 678人浏览 安东尼
摘要

本篇内容主要讲解“C语言如何实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何实现简单的贪吃蛇游戏”吧!运行效果代码#include <windows.

本篇内容主要讲解“C语言如何实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何实现简单的贪吃蛇游戏”吧!

运行效果

C语言如何实现简单的贪吃蛇游戏

代码

#include <windows.h>#include <stdio.h>#include <coNIO.h>#include <time.h>#define PANIC(err) (fprintf(stderr,"PANIC Line %d : %s",__LINE__,err),exit(-1),1)#define PANICIFNULL(EXP) ((EXP)==NULL && PANIC("NULL"))typedef enum { EMPTY=0, WALL, BODY, FOOD } MAP;typedef int POSITION;struct { int color; const char* shape; } UI[] = {{2,"■"},{4,"□"},{6,"★"},{4,"●"}};struct {int WIDTH, HEIGHT, direction, delay;MAP* map;POSITION* body, head, tail, len;} C;void initConsole(int width, int height) {char cmd[100];sprintf_s(cmd,100, "mode con cols=%d lines=%d && title C语言贪吃蛇 By dreamer2q %s", width, height,__DATE__);system(cmd);HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO cur_info;GetConsoleCursorInfo(handle, &cur_info);cur_info.bVisible = FALSE;SetConsoleCursorInfo(handle, &cur_info);}void updatePosition(POSITION pos) {HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD coord = { (pos % (C.WIDTH)) * 2 ,pos / (C.WIDTH) };SetConsoleCursorPosition(handle, coord);SetConsoleTextAttribute(handle, UI[C.map[pos]].color);printf("%s", UI[C.map[pos]].shape);}MAP food(int t) {POSITION pos = (rand() % ((C.WIDTH - 2) * (C.HEIGHT - 2))) + C.WIDTH + 1;if (C.map[pos]) return food(t);else return  (C.map[pos] = FOOD) ? updatePosition(pos), BODY : BODY;}int init() {C.WIDTH = C.HEIGHT = 30;initConsole(C.WIDTH * 2, C.HEIGHT);PANICIFNULL(C.map = (MAP*)malloc((C.WIDTH) * (C.HEIGHT) * sizeof(MAP)));PANICIFNULL(C.body = (POSITION*)malloc(C.WIDTH * C.HEIGHT * sizeof(POSITION)));C.head = (C.len = 3) - 1;C.direction = (C.tail = 0) + 1;C.delay = -150;memset(C.map, EMPTY, (C.WIDTH) * (C.HEIGHT) * sizeof(MAP));for (int i = 0; i < (C.WIDTH) * (C.HEIGHT); i++) {i < C.WIDTH && (C.map[i] = C.map[C.WIDTH * (C.HEIGHT - 1) + i] = WALL);i < C.HEIGHT && (C.map[C.WIDTH * i] = C.map[C.WIDTH * i + C.WIDTH - 1] = WALL);i < C.len && (C.map[C.body[i] = C.WIDTH * C.HEIGHT / 2 + C.WIDTH / 2 - 1 + i] = BODY);updatePosition(i);}srand(time(NULL));return food(0);}int Run(int shit) {int prv = 77;while (1) {if (_kbhit()) {int t = _getch();if ((prv + t) == 152)continue;switch (t) {case 72:C.direction = -C.WIDTH; break;case 80:C.direction = C.WIDTH; break;case 75:C.direction = -1; break;case 77:C.direction = 1; break;case ' ':C.delay = -C.delay; break;default:continue;}prv = t;}#define INC(p) (((p)+1)%(C.WIDTH*C.HEIGHT))if (C.delay > 0) Sleep(C.delay);else continue;switch (C.map[C.body[INC(C.head)] = C.body[C.head] + C.direction]) {case FOOD:food(C.len = -C.len - 1);case EMPTY:C.map[C.body[C.head = INC(C.head)]] = BODY;updatePosition(C.body[C.head]);if (C.len > 0) updatePosition((C.map[C.body[C.tail]] = EMPTY) ? BODY : C.body[C.tail]), C.tail = INC(C.tail);else C.len = -C.len;break;case WALL:case BODY:return -1;//dead}}}int main() {while (1) {initConsole(25, 10);printf("\n\tC语言贪吃蛇\n\n    1. 开始游戏\n    2. 关于\n    q. 退出\n%");switch (_getch()) {case 'q':return 0;case '2':MessageBoxA(GetConsoleWindow(), MB_OK|MB_ICONASTERISK); continue;case '1':Run(init());MessageBoxA(GetConsoleWindow(),  "SHIT", MB_OK | MB_ICONERROR);}}}

到此,相信大家对“C语言如何实现简单的贪吃蛇游戏”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: C语言如何实现简单的贪吃蛇游戏

本文链接: https://lsjlt.com/news/348316.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C语言实现简单的贪吃蛇游戏
    本文实例为大家分享了C语言实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 用指针数组来表示蛇,p[0]表示蛇头 控制方向:w,s,a,d-->上下左右  j,...
    99+
    2024-04-02
  • C语言如何实现简单的贪吃蛇游戏
    本篇内容主要讲解“C语言如何实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何实现简单的贪吃蛇游戏”吧!运行效果代码#include <Windows....
    99+
    2023-07-04
  • C语言实现简单的贪吃蛇小游戏
    本文实例为大家分享了C语言实现简单贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 #温馨提示:以下设计在VS2019下完美运行,完整代码附在末尾,供大家学习参考 (1)游戏进入界面...
    99+
    2024-04-02
  • C++实现简单贪吃蛇小游戏
    本文实例为大家分享了C++实现简单贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 1 贪吃蛇游戏原理 1.1 构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置。 1...
    99+
    2024-04-02
  • 怎么用C语言实现简单的贪吃蛇游戏
    这篇文章主要讲解了“怎么用C语言实现简单的贪吃蛇游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现简单的贪吃蛇游戏”吧!本文实例为大家分享了C语言实现简单贪吃蛇游戏的具体代码...
    99+
    2023-06-20
  • c++如何实现超简单的贪吃蛇游戏
    小编给大家分享一下c++如何实现超简单的贪吃蛇游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!设计思路        建议先将代码复制下来跑一遍再来看思路!!! ...
    99+
    2023-06-22
  • C语言如何实现贪吃蛇小游戏
    这篇文章给大家分享的是有关C语言如何实现贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现功能蛇最开始三节,向右移动。用户可以通过按上下左右来控制蛇的移动,食物随机产生,蛇吃到食物后蛇的身体会变长。蛇...
    99+
    2023-06-15
  • C++如何实现简易贪吃蛇游戏
    这篇文章主要介绍C++如何实现简易贪吃蛇游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!C++实现建议贪吃蛇(不会闪屏幕)使用vs2013完成。记录踏上游戏开发的道路。效果图代码// 2021.7.24....
    99+
    2023-06-20
  • unity实现简单的贪吃蛇游戏
    本文实例为大家分享了unity实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 SatUIController代码 using UnityEngine; using Un...
    99+
    2024-04-02
  • Java实现简单的贪吃蛇游戏
    本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码 启动类 package snake; import javax.swing.*; /...
    99+
    2024-04-02
  • python实现简单的贪吃蛇游戏
    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮、难度、音乐、得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设...
    99+
    2024-04-02
  • C++实现简易贪吃蛇游戏
    C++实现建议贪吃蛇(不会闪屏幕) 使用vs2013完成。记录踏上游戏开发的道路。 效果图 代码 // 2021.7.24.1贪吃蛇.cpp : 定义控制台应用程序的入口点。 ...
    99+
    2024-04-02
  • C语言实现简单的贪吃蛇游戏的示例代码
    目录运行效果代码一个简单的贪吃蛇游戏本来代码就不多,在保证可读性的情况下,很容易就控制在100以内了。 运行效果 代码 #include <Windows.h> #in...
    99+
    2023-01-12
    C语言实现贪吃蛇游戏 C语言贪吃蛇游戏 C语言贪吃蛇
  • C语言如何实现双人贪吃蛇游戏
    这篇文章给大家分享的是有关C语言如何实现双人贪吃蛇游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。贪吃蛇双人小游戏,每局游戏两分钟,死亡则直接失败,若时间结束,则分高者获胜。  上源代码:&...
    99+
    2023-06-22
  • 如何使用C语言实现贪吃蛇游戏
    小编给大家分享一下如何使用C语言实现贪吃蛇游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、实现效果键位:使用wasd四个键位来控制方向,按q键退出(注意在终...
    99+
    2023-06-29
  • 用C语言实现贪吃蛇小游戏
    本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 实现功能 蛇最开始三节,向右移动。用户可以通过按上下左右来控制蛇的移动,食物随机产生,蛇吃到食物后蛇的...
    99+
    2024-04-02
  • 用纯C语言实现贪吃蛇游戏
    本文实例为大家分享了C语言实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 在读大学生一枚,五一期间用四天时间写一个小游戏。 本贪吃蛇游戏代码共计531行,开发环境是VS,游戏分为...
    99+
    2024-04-02
  • C语言实现贪吃蛇游戏代码
    目录一、实现效果二、部分代码解释总结一、实现效果 键位:使用wasd四个键位来控制方向,按q键退出(注意在终用英文输入法实现键控) 规则:蛇每吃一个豆会得10分,同时身体边长、移速加...
    99+
    2024-04-02
  • C语言实现贪吃蛇游戏演示
    本文实例为大家分享了C语言实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 IDE用的是 VS2019 先看效果   代码全览 game.h #pragma once...
    99+
    2024-04-02
  • java如何实现简单贪吃蛇小游戏
    这篇文章给大家分享的是有关java如何实现简单贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改import java....
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作