精华内容
下载资源
问答
  • C语言小游戏,游戏设计,500+行代码
    万次阅读 多人点赞
    2021-01-05 19:19:32

    自学c语言有2个月了,自己给自己做了个小游戏。没有学完的朋友们可以参考学习,也欢迎有大佬提出自己的见解。
    (注:本程序为纯C语言)
    这个程序花了我好几天来修改、完善,纯手撸。

    有意愿的朋友可以去下载源代码:
    VC++6.0版本点击蓝字前往下载
    VS版本点击蓝字前往下载

    成为我的粉丝可以免费下载哦 > ^ _ ^ <

    [video(video-nfyMspvE-1609984668454)(type-csdn)(url-https://live.csdn.net/v/embed/141556)(image-https://vedu.csdnimg.cn/1cfad72a9d6b44aa840a275d1084d2c4/snapshots/0a43fa0dfdec405a9fd9a95f49f066e5-00005.jpg)(title-c语言毕业设计)]

    附上图片:
    在这里插入图片描述

    你的点赞是对我最大的鼓舞哦> ^ _ ^ <

    更多相关内容
  • 本程序通过VS2013编译器编译通过,用C语言实现推箱子小游戏,分为纯控制台的方式实现和EasyX图形库的方式实现,实现思路清晰,代码比较容易看懂
  • 个人收集,简单易懂,思路清晰,直接运行。 包括推箱子、超级玛丽、俄罗斯方块等游戏。比淘宝的项目好。买到就是赚到!
  • C语言小项目代码大全.一些小游戏及管理系统
  • c语言经典游戏代码

    千次阅读 2021-05-20 01:10:20
    //C语言多线程-主角和怪物#include#include#define bool int //定义int变量为bool变量,bool不是真就是假int a=0,b=20;//主角的坐标int x=1,y=0;//怪物的坐标int i=1;//i值为真HANDLE hMutex;//1.坐标void ...

    //C语言多线程-主角和怪物

    #include

    #include

    #define bool int //定义int变量为bool变量,bool不是真就是假

    int a=0,b=20;//主角的坐标

    int x=1,y=0;//怪物的坐标

    int i=1;//i值为真

    HANDLE hMutex;

    //1.坐标

    void GamePosition(HANDLE g_hout,int x,int y)

    {

    COORD pos;//点的结构体

    pos.X=x;//横坐标

    pos.Y=y;//纵坐标

    SetConsoleCursorPosition(g_hout,pos);

    //设置控制平台光标位置

    }

    DWORD WINAPI Func(LPVOID lpParamter)//多线程的功能函数6.线程是画怪物

    {

    HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//7.拿到这张纸

    WaitForSingleObject(hMutex, INFINITE);//13.自己进来,自己用洗手间

    GamePosition(hout,x,y),printf('●');//8.在纸上画怪物

    ReleaseMutex(hMutex);//14.放弃使用权

    while(1)//9.怪物在横坐标为从0-10依次循环移动

    {

    if(x>=0&&i==1)

    {

    printf('  ');

    GamePosition(hout,++x,y);

    printf('●');

    Sleep(1000);

    if(x==10)

    i=0;//i为假

    }

    else if(x<>

    {

    printf('  ');

    GamePosition(hout,--x,y);

    printf('●');

    Sleep(1000);

    if(x==0)

    i=1;

    }

    }

    return 0;

    }

    int main()

    {

    HANDLE hThread = CreateThread(NULL, 0, Func, NULL, 0, NULL);//5.创建线程

    hMutex = CreateMutexA(NULL, FALSE, '123');//创建互斥锁(量)//10.关上洗手间

    HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//2.拿到这张纸

    WaitForSingleObject(hMutex, INFINITE);//11.等待你的同事出来 15步接着

    GamePosition(hout,a,b),printf('☆');//3.在纸上画主角

    ReleaseMutex(hMutex);//12.同事出来了,放弃了洗手间的使用权

    while(1)

    {

    if(kbhit())

    switch(getch())//控制左右 4.主角上下左右移动

    {

    case 'w':

    case 'W':

    if(b>3)GamePosition(hout,a,b),printf('  '),GamePosition(hout,a,--b),printf('☆');

    break;

    case 's':

    case 'S':

    if(b<20)gameposition(hout,a,b),printf('>

    break;

    case 'a':

    case 'A':

    if(a>0)printf('  '),GamePosition(hout,--a,b),printf('☆');

    break;

    case 'd':

    case 'D':

    if(a<20)printf('>

    break;

    }

    }

    CloseHandle(hThread);

    system('pause');

    return 0;

    }

    70951668_2

    扫雷游戏代码源码

    70951668_3

    70951668_4

    70951668_5

    #include

    #include

    #include

    int main (){

    int delta[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};

    int row =0,col = 0,num = 0;

    char map[10][10] = {0};

    char show[10][10] = {0};

    srand(time(0));

    for(row = 0;row <=>

    for(col = 0;col <=>

    map[row][col] = '0';

    }

    }

    do{

    row = rand() % 10;

    col = rand() % 10;

    if(map[row][col] == '0'){

    map[row][col] = 'x';

    num++;

    }

    }while(num <>

    for (row = 0;row <=>

    for (col = 0;col <=>

    if(map[row][col] != 'x'){

    int cnt = 0;

    for (num = 0;num <=>

    if(row + delta[num][0] <>

    continue;

    }

    if(row + delta[num][0] > 9){

    continue;

    }

    if(col + delta[num][1] <>

    continue;

    }

    if(col + delta[num][1] > 9){

    continue;

    }

    if(map[row + delta[num][0]][col + delta[num][1]]== 'x'){

    cnt++;

    }

    }

    map[row][col] = '0' + cnt;

    }

    }

    }

    for (row = 0;row <>

    for(col = 0;col < 10;col="">

    printf('* ');

    }

    printf('\n');

    }

    num = 0;

    int x,y;

    do{

    printf('please enter the coordinate of array:');

    scanf('%d%d',&x,&y);

    show[x-1][y-1] = 1;

    if(map[x-1][y-1] == '0'){

    for (num = 0;num <=>

    if(x-1 + delta[num][0] <>

    continue;

    }

    if(x-1 + delta[num][0] > 9){

    continue;

    }

    if(y -1+ delta[num][1] <>

    continue;

    }

    if(y-1 + delta[num][1] > 9){

    continue;

    }

    show[x-1+delta[num][0]][y-1+delta[num][1]] = 1;

    }

    }

    if (map[x-1][y-1]!= 'x'&&map[x-1][y-1] != '0'){

    for (num = 0;num <=>

    int cnt = 0;

    if(x-1 + delta[num][0] <>

    continue;

    }

    if(x-1 + delta[num][0] > 9){

    continue;

    }

    if(y-1 + delta[num][1] <>

    continue;

    }

    if(y-1 + delta[num][1] > 9){

    continue;

    }

    if( map[x -1 + delta[num][0]][y -1+ delta[num][1]] != 'x'){

    show[x-1  + delta[num][0]][y -1+ delta[num][1]] = 1 ;

    }

    }

    }

    if(map[x-1][y-1] == 'x') {

    printf('game over!\n');

    for (row = 0;row <>

    for(col = 0;col < 10;col="">

    printf('%c ',map[row][col]);

    }

    printf('\n');

    }

    return 0;

    }

    system('cls');

    printf('mine sweeping:\n');

    for (row = 0;row <>

    for(col = 0;col < 10;col="">

    if (show[row][col] == 1)

    {

    printf('%c ', map[row][col]);

    }

    else

    {

    printf('* ');

    }

    }

    printf('\n');

    }

    num = 0;

    for (row = 0;row <>

    for(col = 0;col < 10;col="">

    if (show[row][col] == 1 )

    {

    num++;

    }

    }

    }

    printf('num:%d\n',num);

    }while(num <>

    printf('you win!');

    return 0;

    }70951668_2

    展开全文
  • 可以学习2048的算法
  • 62套C语言小游戏源码

    2018-12-31 19:35:15
    这是楼主珍藏的62套C语言小游戏源码,包含吃豆人、俄罗斯方块、别踩白块等诸多经典小游戏。感兴趣的朋友可以下载下来研究。
  • C语言游戏代码大全

    2018-02-18 11:29:44
    双人贪吃蛇,别踩白方块,玫瑰花,矿井逃生等多种C语言游戏代码等你来实践!
  • c语言小游戏代码.rar

    2021-05-01 17:30:04
    3994107_IvCPBvoZGSGIaCBDVINFnDVuO-1.rar
  • 一个简易的、用C语言写的五子棋游戏代码,仅供参考!
  • 主要为大家详细介绍了C语言实现简单的打飞机小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include #include #include /* 用 C 语言写一个简单的扫雷游戏 */ // 1.写一个游戏菜单 Menu...
  • 2048小游戏C语言代码实现,
  • C语言实现的最简单的 打飞机小游戏
  • 本文实例为大家分享了C语言实现2048游戏的具体代码,供大家参考,具体内容如下 大一时学c语言写的,写的不好但当时感觉还。 环境运行 vc6.0 ,cpp文件。 基本上是c写的,但是改变字体颜色,在控制台移动光标等等...
  • 本文实例为大家分享了C语言实现数字炸弹小游戏的具体代码,供大家参考,具体内容如下 使用的是C语言 # 内容 #include #include int main(){ //变量 char c_TheRequest = 1;//开始界面的字符 int in_Deltar = 1,...
  • 推箱子,c语言代码小游戏c语言代码,适合初学者的c语言小游戏代码 推箱子,c语言代码小游戏c语言代码,适合初学者的c语言小游戏代码
  • 本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 一、描述 猜数字游戏。 二、 程序 使用srand((unsigned)time(NULL)),产生随机数种子。 int random = rand() 0 + 1,产生0~100之间的随机数。...
  • C语言贪吃蛇经典小游戏

    千次阅读 2021-05-19 13:21:30
    一、贪吃蛇小游戏简介:用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,也不能咬到自己的身体,等到了一定的分数,就能过关。...

    一、贪吃蛇小游戏简介:

    用上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,也不能咬到自己的身体,等到了一定的分数,就能过关。

    二、函数框架

    87268eeeb7940971538d86ea80a0373f.png

    三、数据结构

    typedef struct Snake

    {

    size_t x; //行

    size_t y; //列

    struct Snake* next;

    }Snake, *pSnake;

    定义蛇的结构体,利用单链表来表示蛇,每个结点为蛇身体的一部分。

    四、代码实现(vs2010  c语言)

    1.Snake.h

    #ifndef __SNAKE_H__

    #define __SNAKE_H__

    #include

    #include

    #include

    #include

    #include

    #include

    //标识地图大小

    #define ROW_MAP 10 //地图的行

    #define COL_MAP 20 //地图的列

    #define SUCCESS_SCORE 10//通关分数

    enum Direction //蛇行走的方向

    {

    R, //右

    L, //左

    U, //上

    D //下

    }Direction;

    enum State

    {

    ERROR_SELF, //咬到自己

    ERROR_WALL, //撞到墙

    NORMAL, //正常状态

    SUCCESS //通关

    }State;

    typedef struct Snake

    {

    size_t x; //行

    size_t y; //列

    struct Snake* next;

    }Snake, *pSnake;

    void StartGame();

    void RunGame();

    void EndGame();

    #endif

    2.Snake.c

    #include "Snake.h"

    pSnake head = NULL; //定义蛇头指针

    pSnake Food = NULL; //定义食物指针

    int sleeptime = 500;//间隔时间,用来控制速度

    int Score = 0; //总分

    int everyScore = 1; //每步得分

    //定义游戏中用到的符号

    const char food = '#';

    const char snake = '*';

    void Pos(int x, int y) //控制输出光标

    {

    COORD pos; //pos为结构体

    pos.X = x; //控制列

    pos.Y = y; //控制行

    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);//读取标准输出句柄来控制光标为pos

    }

    void Face()

    {

    system("color 0C");

    printf("*******************************************************\n");

    printf("* Welcome to Snake Game! *\n");

    printf("* *\n");

    printf("* ->开始游戏请按 enter键 *\n");

    printf("* ->退出游戏请按 esc键 *\n");

    printf("* ->暂停游戏请按 space键 *\n");

    printf("* ->通过上下左右键来控制蛇的移动 *\n");

    printf("* ->通过F1键减速 F2键加速 *\n");

    printf("*******************************************************\n");

    }

    void Map() //初始化地图

    {

    int i = 0;

    for(i = 0; i

    {

    Pos(i, 0);

    printf("■");

    Pos(i, ROW_MAP-1);

    printf("■");

    }

    for(i = 0; i

    {

    Pos(0, i);

    printf("■");

    Pos(COL_MAP-2, i);

    printf("■");

    }

    }

    void PrintSnake() //打印蛇

    {

    pSnake cur = head;

    while(cur)

    {

    Pos(cur->y, cur->x);

    printf("%c", snake);

    cur = cur->next;

    }

    }

    void InitSnake() //初始化蛇身

    {

    int initNum = 3;

    int i = 0;

    pSnake cur;

    head = (pSnake)malloc(sizeof(Snake));

    head->x = 5;

    head->y = 10;

    head->next = NULL;

    cur = head;

    for(i = 1; i < initNum; i++)

    {

    pSnake newNode = (pSnake)malloc(sizeof(Snake));

    newNode->x = 5+i;

    newNode->y = 10;

    newNode->next = NULL;

    cur->next = newNode;

    cur = cur->next;

    }

    PrintSnake();

    }

    void CreateFood() //在地图上随机产生一个食物

    {

    pSnake cur = head;

    Food = (pSnake)malloc(sizeof(Snake));

    //产生x~y的随机数 k=rand()%(Y-X+1)+X;

    srand((unsigned)time(NULL));

    Food->x = rand()%(ROW_MAP-2 - 1 + 1)+1;

    Food->y = rand()%(COL_MAP-3 - 2 + 1)+2;

    Food->next = NULL;

    while(cur) //检查食物是否与蛇身重合

    {

    if(cur->x == Food->x && cur->y == Food->y)

    {

    free(Food);

    Food = NULL;

    CreateFood();

    return;

    }

    cur = cur->next;

    }

    Pos(Food->y, Food->x);

    printf("%c", food);

    }

    void StartGame() //游戏开始的所有设置

    {

    Face();

    system("pause");

    if(GetAsyncKeyState(VK_RETURN))

    {

    system("cls");

    Pos(COL_MAP+5, 1);

    printf("当前分数/通关分数:");

    Pos(COL_MAP+20, 1);

    printf("%d/%d", Score, SUCCESS_SCORE);

    Pos(COL_MAP+5, 2);

    printf("当前分每步得分:");

    Pos(COL_MAP+20, 2);

    printf("%d", everyScore);

    Pos(COL_MAP+5, 3);

    printf("\n");

    Pos(COL_MAP+5, 4);

    printf("速度越快 得分越高哦!!\n");

    Map();

    InitSnake();

    CreateFood();

    }

    else if(GetAsyncKeyState(VK_ESCAPE))

    {

    exit(0);

    }

    }

    int IsCrossWall() //判断是否碰到墙

    {

    if(head->x <= 0 || head->x >= ROW_MAP-1

    ||head->y <= 1 || head->y >= COL_MAP-2)

    {

    State = ERROR_WALL;

    return 0;

    }

    return 1;

    }

    int IsEatSelf(pSnake newHead) //判断是否咬到自己

    {

    pSnake cur = head;

    assert(newHead);

    while(cur)

    {

    if(cur->x == newHead->x && cur->y == newHead->y)

    {

    State = ERROR_SELF;

    return 0;

    }

    cur = cur->next;

    }

    return 1;

    }

    int IsFood(pSnake pos) //判断该位置是不是食物

    {

    assert(pos);

    if(pos->x == Food->x && pos->y == Food->y)

    {

    return 1;

    }

    return 0;

    }

    void SnakeMove() //蛇移动一次

    {

    pSnake newHead = NULL;

    newHead = (pSnake)malloc(sizeof(Snake));

    if(Direction == R)

    {

    newHead->x = head->x;

    newHead->y = head->y+1;

    newHead->next = head;

    }

    else if(Direction == L)

    {

    newHead->x = head->x;

    newHead->y = head->y-1;

    newHead->next = head;

    }

    else if(Direction == U)

    {

    newHead->x = head->x-1;

    newHead->y = head->y;

    newHead->next = head;

    }

    else if(Direction == D)

    {

    newHead->x = head->x+1;

    newHead->y = head->y;

    newHead->next = head;

    }

    if(IsFood(newHead))

    {

    head = newHead;

    PrintSnake();

    CreateFood();

    Score += everyScore;

    Pos(COL_MAP+20, 1);

    printf("%d/%d", Score, SUCCESS_SCORE);

    if(Score >= SUCCESS_SCORE)

    {

    State = SUCCESS;

    }

    }

    else

    {

    if(IsCrossWall() && IsEatSelf(newHead))

    {

    pSnake cur = NULL;

    head = newHead;

    cur = head;

    //删除蛇尾并打印

    while(cur->next->next != NULL)

    {

    Pos(cur->y, cur->x);

    printf("%c", snake);

    cur = cur->next;

    }

    Pos(cur->y, cur->x);

    printf("%c", snake);

    Pos(cur->next->y, cur->next->x);

    printf(" "); //打印空格来覆盖频幕上的蛇尾

    free(cur->next);

    cur->next = NULL;

    }

    else

    {

    free(newHead);

    newHead = NULL;

    }

    }

    }

    void Pause()

    {

    while(1)

    {

    Sleep(sleeptime);

    if(GetAsyncKeyState(VK_SPACE))

    {

    break;

    }

    }

    }

    void ControlSnake() //用键盘控制游戏

    {

    if(GetAsyncKeyState(VK_UP) && Direction!=D)

    {

    Direction = U;

    }

    else if(GetAsyncKeyState(VK_DOWN) && Direction!=U)

    {

    Direction = D;

    }

    else if(GetAsyncKeyState(VK_LEFT) && Direction!=R)

    {

    Direction = L;

    }

    else if(GetAsyncKeyState(VK_RIGHT) && Direction!=L)

    {

    Direction = R;

    }

    else if(GetAsyncKeyState(VK_F1))

    {

    if(sleeptime != 500)

    {

    sleeptime = 500;

    everyScore = 1;

    Pos(COL_MAP+20, 2);

    printf("%d", everyScore);

    }

    }

    else if(GetAsyncKeyState(VK_F2))

    {

    if(sleeptime != 300)

    {

    sleeptime = 300;

    everyScore = 2;

    Pos(COL_MAP+20, 2);

    printf("%d", everyScore);

    }

    }

    else if(GetAsyncKeyState(VK_SPACE))

    {

    Pause();

    }

    else if(GetAsyncKeyState(VK_ESCAPE))

    {

    exit(0);

    }

    }

    void StateGame() //判断游戏失败或成功

    {

    if(State == ERROR_SELF)

    {

    system("cls");

    printf("很遗憾,蛇咬到自己,游戏失败!\n");

    }

    else if(State == ERROR_WALL)

    {

    system("cls");

    printf("很遗憾,蛇碰到墙壁,游戏失败!\n");

    }

    else if(State == SUCCESS)

    {

    system("cls");

    printf("恭喜您,已通关!!!\n");

    }

    }

    void RunGame()

    {

    Direction = R; //蛇初始行走方向为右

    State = NORMAL;//游戏初始为正常状态

    while(1)

    {

    ControlSnake();

    SnakeMove();

    if(State != NORMAL)

    {

    StateGame();

    break;

    }

    Sleep(sleeptime);

    }

    }

    void EndGame() //释放链表并恢复默认值

    {

    pSnake cur = head;

    while(cur)

    {

    pSnake del = cur;

    cur = cur->next;

    free(del);

    del = NULL;

    }

    head = NULL;

    if(Food != NULL)

    {

    free(Food);

    Food = NULL;

    }

    Score = 0;

    everyScore = 1;

    sleeptime = 500;

    }

    3.Test.c

    #include "Snake.h"

    int main()

    {

    while(1)

    {

    StartGame();

    RunGame();

    EndGame();

    }

    system("pause");

    return 0;

    }

    五、运行界面展示

    1.欢迎界面

    1c66302ba75c46aaa713f7507e21baaf.png

    2.游戏界面

    e21f67a94a949299241eb5155e5e2fb6.png

    小小的c语言项目,用来练手,仅供参考哦!!

    谢谢阅读,如有问题,欢迎提出。

    更多有趣的经典小游戏实现专题,分享给大家:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 消消乐游戏c语言代码

    2020-11-12 11:29:01
    c语言代码---消消乐游戏(编程练手题)(简单小游戏)(西电)(c语言代码)(编程)(消消乐)(新手)
  • 本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 主页面: 游戏页面: 虽然页面比较low,但我已经尽力了 具体代码实现: #include #include #include #include #include int n;//记录...
  • C语言小游戏 |100行代码实现扫雷

    千次阅读 2022-02-19 23:05:27
    C语言小游戏 |100行代码实现扫雷

    本文将介绍如何用100行C语言代码实现扫雷小游戏的基本功能。

    游戏画面:

    源码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #define N 11
    #define M 11
    
    main()
    {
    	int i=0,j=0,p=0;    //i、j、p为循环参数 
    	int x=0,y=0;    //x和y为地图坐标参数 
    	int end1=0,end2=0;    //end1为地图中不是雷的位置数目,end2为判断是否踩雷的参数
    	int t=0;    //用作赋值的中间变量 
    	char ch;
    	static int minemap[N][M];
    	char showmap[N][M]={" 123456789",
    	                    "1*********",
    	                    "2*********",
    						"3*********",
    						"4*********",
    						"5*********",
    						"6*********",
    						"7*********",
    						"8*********",
    						"9*********"};
        for(i=1;i<10;i++)
        {
        	for(j=1;j<10;j++)
        	{
        		minemap[i][j]=rand()%90;
        		if(minemap[i][j]/10>0)
        		{
        			minemap[i][j]=0;
        			end1++;    //用end1的数目表示所绘制minemap中不是雷的位置的个数 
    			}
    			else
    			{
    				minemap[i][j]=1;
    			}
    		}
    	}
    	for(i=0;i<N;i++)
        {
        	for(j=0;j<M;j++)
        	{
        		printf("%c ",showmap[i][j]);
    		}
    		printf("\n");
        }		
        for(p=0;p<end1;p++)    //当用户点击地图的次数=end1时代表所有非雷的地点都被点过了,跳出循环,游戏胜利 
        {
        	reinput:printf("Please input the chosen coordinate x,y:\n");
        	while(scanf("%d%d",&x,&y)!=2)
        	{
        		printf("The input are not allowed!\n");
        		ch=getchar();
        		goto reinput;
            }
    		switch(x>0&&x<10)
        	{
        		case 0:
    			{
        			printf("The input are not allowed!\n");
    				goto reinput;
    			}
        		default:break;
    		}
    		switch(y>0&&y<10)
        	{
        		case 0:
    			{
        			printf("The input are not allowed!\n");
    				goto reinput;
    			}
        		default:break;
    		}
        	if(minemap[x][y]==1)
        	{
        		printf("This is a mine, you died.\n");
        		end2=1;
        		break;
    		}
    		else
    		{
    			t=minemap[x-1][y-1]+minemap[x-1][y]+minemap[x-1][y+1]+minemap[x][y-1]+minemap[x][y+1]+minemap[x+1][y-1]+minemap[x+1][y]+minemap[x+1][y+1];
    			showmap[x][y]=t+48;    	//48在Ascii码中代表字符0  
    		}
    		system("cls");
        	for(i=0;i<N;i++)
            {
        	     for(j=0;j<M;j++)
        		{
        			printf("%c ",showmap[i][j]);
    			}
    			printf("\n");
        	}	
    	}
    	if(end2==1)
    	{
    		printf("game over\n");
    	}
    	else
    	{
    		printf("Winner! You are amazing!\n");
    	}
    }

    功能实现思路:

    1、建立两个数组,一个int型数组保存地雷,另一个char型保存用户看到的地图。

    2、生成地雷,用rand()给int型数组赋值,随机数产生范围为0~89, 凡是产生的随机数在0~9内的就是雷。

    3、打印用户看到的char型数组。

    4、用户点击地图的次数=end1时代表所有非雷的地点都被点过了,跳出循环,游戏胜利。

    5、这段代码用scanf的返回值保证输入的是数字,用swich语句保证输入的范围在1~9内。ch=getchar()用以吃掉因为输入字符产生的回车字符‘\n’。

     6、如果是值为1则说明踩雷,并且将end2置为1,这样退出循环后就可以根据end2的值判断是因为踩雷退出的还是正常退出的。

     7、用于统计周边8个点位的1的个数,并且将数值转换为字符并保存在char型数组中,准备展示给玩家。

     8、清屏后重新打印char型数组。

    9、退出循环后根据end2的值判断结果。

    展开全文
  • 使用vs编译的二维小游戏,里面有很多小游戏和网站模板,比如超级玛丽、坦克大战、推箱子、别踩白块、贪吃蛇、种地浇水、盒子接球、连连看、军棋、五子棋、火车订票系统、图书馆借阅、涂格子游戏、火柴人游戏、大丰收...
  • 收集整理的简单易懂的60套C语言小游戏代码(可运行,供学习设计参考): c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言UDP传输系统源码 c语言万年历源码 c语言五子棋源码 c语言俄罗斯方块 c语言做的一个...
  • 主要为大家详细介绍了C语言实现猜数字大小的游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的伙伴们可以参考一下
  • c语言小游戏c语言项目源码大全合集(60例): c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言UDP传输系统源码 c语言万年历源码 c语言五子棋源码 c语言俄罗斯方块 c语言做的一个任务管理器 c语言做的播放器...
  • 几个C语言小游戏代码

    热门讨论 2011-03-26 20:59:25
    几个C语言小游戏代码,如俄罗斯方块、贪吃蛇、五子棋等的源代码
  • c语言简单程序,代码一百以上

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,640
精华内容 20,656
关键字:

c语言十行代码小游戏