c语言实现可自定义的游戏地图

本文实例为大家分享了c语言实现可自定义的游戏地图的具体代码,供大家参考,具体内容如下

博主相信每个人都有想做游戏的冲动,那么本文将给出一个用c语言制作的可自定义大小的游戏地图(包含player,撞墙设置)。废话不多说,直接给出全代码!

1.完整代码

#include<stdio.h>
#include<windows.h>
#include<conio.h> 
 
//this is the add function 
int drawroom(int length,int height,int x,int y);
int transform(int tran);
 
//begin the function
int main()
{     
    
     int p=10;
     int q=10;
     printf("control player to move:up“8” down“2” left“4” right“6”\n");//control the player
     
     int y,x;
     int ret=1;
     int a,b;
     printf("请输入地图的大小,例如:10 10:\n");
     scanf("%d %d",&p,&q);
     printf("请输入玩家的位置:“例如:3 5”\n"); //get the first player place
     scanf("%d %d",&y,&x);
    drawroom(p,q,y,x);
    printf("\n");
   
    while(ret!=0){
        printf("\n");
        int i;
        i=0;
        int tran;
        tran=getch();
        i=transform(tran);
        
        if(i==8){
            drawroom(p,q,y-1,x);
            y=y-1;
        }
         else if(i==2){
            drawroom(p,q,y+1,x);
            y=y+1;
        }
          else if(i==4){
            drawroom(p,q,y,x-1);
            x=x-1;
        }
        else if(i==6){
            drawroom(p,q,y,x+1);
            x=x+1;
        }
        if(y==0 || x==0){
            ret=0;
            printf("\n\nyou touch the board!game over!!");
            break; 
        }
        if(y==p+1 || x==q+1){
            ret=0;
            printf("\n\nyou touch the board!game over!!");
            break;
        }
        
}
    
    
    getchar();
    system("pause");
    return 0;
}
 
int drawroom(int length,int height,int y,int x)
{   int ret=1;
    int size1=height+2;
    int size2=length+2;
    int a[size1][size2];
    int i,j;
    int count=1;
    
        for(i=0;i<size1;i++){
        for(j=0;j<size2;j++){
            a[i][j]=0;
        }
}
    a[0][0]=1;
    a[0][size2-1]=1;
    a[size1-1][0]=1;
    a[size1-1][size2-1]=1;
    for(j=1;j<size2-1;j++){
        a[0][j]=2;
    }    
    for(j=1;j<size2-1;j++){
        a[size1-1][j]=2;
    }
    for(i=1;i<size1-1;i++){
        a[i][0]=3;
    }
    for(i=1;i<size1-1;i++){
        a[i][size2-1]=3;
    }
    a[y][x]=4;
        for(i=0;i<size1;i++){
            printf("\n");
        for(j=0;j<size2;j++){
            if(a[i][j]==1){
                printf("+ ");
            }else if(a[i][j]==2){
                printf("- ");
            }else if(a[i][j]==3){
                
            printf("| ");
            }else if(a[i][j]==4){
                printf("@ ");
            }else{
                printf(". ");
              }
            }    
          }    
          printf("\n\n\n\n\n\n\n\n\n\n");
          return 0;
        }
 
int transform(int tran)
{
    int tot;
    if(tran==52)tot=4;
    if(tran==54)tot=6;
    if(tran==50)tot=2;
    if(tran==56)tot=8;
    return tot;
}

注:游戏说明:先自定义游戏地图的大小,然后自定义玩家生成在游戏棋盘中的哪个位置,最后通过数字键盘控制玩家的移动:下:2  上:8  左:4  右:6

2.运行成果

大家可以自己在游戏地图的基础上设置不同的玩家,甚至可以进行双人对战!

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

(0)

相关推荐

  • C语言实现井字棋游戏(人机对弈)

    井字棋游戏:即三子棋,英文名叫Tic-Tac-Tic,是一种在3*3格子上进行的连珠游戏,和五子棋比较类似,由于棋盘一般不画边线框,格线排成井字故得名. 题目分析 : 要完成该游戏的编写,我们需要先分析出完成整个游戏过程都需要干什么? 1.首先,需要定义出一个3*3的棋盘,根据相关知识,我们可以以二维数组的方式将棋盘表示出来: 2.棋盘定义出来后,需要将棋盘初始化,将3*3二维数组的每一个位置初始化为‘ ’(空格): 3.有了棋盘,我们就可以开始进行下棋了,首先要确定是玩家先下还是电脑先下.在这

  • C语言实现简单的推箱子游戏

    本文实例为大家分享了C语言实现简单的推箱子游戏的具体代码,供大家参考,具体内容如下 项目实现的具体方案: 先安装VS2019,后安装画图工具Easyx,安装以后就可以将推箱子中的(人物,墙壁,箱子目的地,箱子)的图片加载到程序中显示出来.游戏的实现是通过程序读取键盘中输入的字母,后控制加载到程序中的人物图片的移动实现小人的移动,通过人物图片和地板图片交换位置实现人物的行走,如果人物前面是箱子图片,箱子图片前面是地板图片,则人物图片和箱子图片一起移动,直到箱子图片前面是箱子目的地图片则箱子图片将箱

  • C语言扑克牌游戏示例

    目录 一. 设计目的 二. 设计内容与要求 三. 设计思路 四. 实现过程 五. 结论与改进 一. 设计目的 扑克牌是我们从小玩到大的纸牌类小游戏,我们有各种玩法跟不同的规则.我之所以选择的这个扑克牌,是因为我觉得可以提高我的编程逻辑能力跟运用循环的能力.还能让我自由运用所学知识完成我的项目设计的需求,对我综合能力的能力很有挑战! 二. 设计内容与要求 (1)设计内容:扑克牌游戏. (2)介绍扑克牌:一副没有大小王的52张牌,该牌从大到小的顺序为:2.3.4.5.6.7.8.9.10.J.Q.K

  • 用c语言实现《狼人杀》游戏发牌系统

    目录 1.前言 2.程序效果 3.完整代码 总结 1.前言 新年将至,亲戚朋友在家中免不了玩一下桌游,狼人杀确实是一个不错选择.那么针对正常的狼人杀玩法(8人局和12人局),博主利用一上午时间做了一个<狼人杀自动发牌系统>(可查看游戏教程和人物属性).接下来就直接看程序效果和完整代码吧! 2.程序效果 3.完整代码 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<window

  • C语言游戏项目球球大作战实现流程

    目录 项目代码 1.结构体 2.初始化 3.绘制函数 4.玩家控制函数 5.吃食物函数 6.电脑移动函数 7.主函数 总结 序 时间在流去,我们在长大 嗨,这里是狐狸~~ 今天是2022年1月11日,今天突然发现好久没有给你们更新项目了,今天来教大家一个新的项目,一个游戏项目——球球大作战. 球球大作战在宇宙深处一片遍布着荆棘之花的神秘星云中,生活着一群名叫“波拉哩”(译名“球球”)的奇特生物.他们外表萌萌,却有着勇敢的心.他们是天生的战斗种族,为战斗而生,为战斗而亡. 传说中,这群波拉哩的共同

  • 基于C语言实现简易三子棋游戏

    用C语言写三子棋的具体代码,供大家参考,具体内容如下 1.头文件 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> //标识符定义 #define ROW 3 #define COL 3 //函数定义 //棋盘初始化 void init_board(char board[ROW][COL], int row, int col); //打印棋盘 void display_board(char

  • C语言实现扫雷游戏详解(附源码)

    目录 1.游戏的功能 2.游戏实现的基本思路 2.1实现菜单给玩家选择 2.2初始化棋盘 2.3数组大小的问题 2.4对棋盘赋值 2.5打印棋盘 2.6布置雷 2.7排查雷 3.代码基本实现部分 3.1主函数部分 3.2 初始化棋盘 3.3对两个棋盘进行赋值 3.4打印棋盘 3.5布置雷 3.6排查雷  3.7函数声明 4.扫雷游戏的源代码 总结 1.游戏的功能 游戏的主要功能有 1:棋盘内有若干个雷 2:玩家输入要排查雷的坐标 3:在玩家输入的坐标处显示周围八个坐标有几个雷 3:若玩家将所有的

  • c语言实现简单的五子棋游戏

    本文实例为大家分享了c语言实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 环境vs2017 一.游戏设计思想 1.该代码设置为 玩家1(*) vs 玩家2(O) 2.选择玩游戏 2.1 显示棋盘,玩家1下棋,判断游戏结果2.2 显示棋盘,玩家2下棋,判断游戏结果  3.判断游戏结果 有4种结果,玩家1赢,玩家2赢,平局,继续游戏若结果为玩家1赢或玩家2赢或平局,则显示结果,退回菜单界面,不再循环下棋        若结果为继续,则循环2.1和2.2 4.选择退出,则退出游戏 二.图片解说

  • 用C语言实现推箱子游戏实例

    目录 前言 游戏效果图 游戏开发思路 游戏逻辑的分析 源代码实现 头文件 PushBackGame.c文件 test.c文件 总结 前言 本游戏需要用到的核心技术,如下: 二维数组分支语句 技术难点: 二维数组的应用和游戏的判断逻辑 只要会以上的技术的萌新都能做出很棒的游戏,博主本身也是一枚小白,如果源代码的某些地方有不足,请大佬在评论区指出. 游戏效果图 实际游玩效果图​​​​​ 游戏开发思路 分析游戏逻辑,再根据游戏分析游戏代码逻辑写出伪代码,再分析可能存在的问题,最后一步才是开发游戏. 游

  • c语言实现可自定义的游戏地图

    本文实例为大家分享了c语言实现可自定义的游戏地图的具体代码,供大家参考,具体内容如下 博主相信每个人都有想做游戏的冲动,那么本文将给出一个用c语言制作的可自定义大小的游戏地图(包含player,撞墙设置).废话不多说,直接给出全代码! 1.完整代码 #include<stdio.h> #include<windows.h> #include<conio.h>    //this is the add function  int drawroom(int length,i

  • Java语言中的自定义类加载器实例解析

    本文研究的主要是Java语言中的自定义类加载器实例解析的相关内容,具体如下. 自己写的类加载器 需要注意的是:如果想要对这个实例进行测试的话,首先需要在c盘建立一个c://myjava的目录.然后将相应的java文件放在这个目录中.并将产生的.clas文件放在c://myjava/com/lg.test目录下,否则是找不到的.这是要注意的.. class FileClassLoader : package com.lg.test; import java.io.ByteArrayOutputSt

  • C语言编程C++自定义个性化类型

    目录 自定义类型 结构体 声明一个结构体类型 特殊声明 结构体自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 位段 枚举 联合(共用体) 联合类型的定义 联合类型的声明 联合的特点 判断当前机器的大小端存储[] 自定义类型 结构体 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量 声明一个结构体类型 //声明一个学生类型,是想通过学生类型来创建学生变量(对象) //描述学生就得有属性啥的.名字,电话,性别,年龄 struct Stu { char name

  • C语言深入了解自定义数据类型的使用

    目录 一.自定义数据类型(上) 二.自定义数据类型(中)​​​​​ 三.自定义数据类型(下)​​​​​ 一.自定义数据类型(上) 类型命名关键字 (typedef) C语言中可以对类型赋予新名字 语法: typedef Type New TypeName; 注意:typedef 并没有创建新类型,只是创建了类型别名 深入 typedef 应用 typedef 可在函数中定义“局部类型名” typedef 常用于简化类型名(如: unsigned long long) typedef 定义类型名,

  • C语言中的自定义类型之结构体与枚举和联合详解

    目录 1.结构体 1.1结构的基础知识 1.2结构的声明 1.3特殊的声明 1.4结构的自引用 1.5结构体变量的定义和初始化 1.6结构体内存对齐 1.7修改默认对齐数 1.8结构体传参 2.位段 2.1什么是位段 2.2位段的内存分配 2.3位段的跨平台问题 2.4位段的应用 3.枚举 3.1枚举类型的定义 3.2枚举的优点 3.3枚举的使用 4.联合 4.1联合类型的定义 4.2联合的特点 4.3联合大小的计算 1.结构体 1.1结构的基础知识 结构是一些值的集合,这些值称为成员变量.结构

  • C语言深入探究自定义类型之结构体与枚举及联合

    目录 1.结构体 1.1结构体类型的声明 1.2结构的自引用 1.3结构体变量的定义和初始化 1.4结构体内存对齐 1.5结构体传参 1.6结构体实现位段(位段的填充&可移植性) 2.枚举 2.1枚举类型的定义 2.2枚举的优点 3.联合 3.1联合类型的定义 3.2联合的特点 3.3联合大小的计算 1.结构体 1.1结构体类型的声明 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量 这里给大家举个列子演示一下: //定义一个学生的结构体 typedef struct

  • C语言自定义类型的保姆级讲解

    前言 在我们日常写代码时,经常会遇到结构体类型的使用,今天带读者了解结构体类型的使用. 一.初始结构体 在了解结构体之前,我们先来了解一下结构体的基础只是,结构体到底是什么? 结构是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量. 下面举一个例子: struct tag { menber_list; //成员列表 }variable_list; //变量列表 例如我们使用结构体描述一台电脑 struct computer { int price;//价格 char name

  • C语言函数基础教程分类自定义参数及调用示例详解

    目录 1.  函数是什么? 2.  C语言中函数的分类 2.1 库函数 2.1.1 为什么要有库函数 2.1.2 什么是库函数 2.1.3 主函数只能是main()吗 2.1.4常见的库函数 2.2 自定义函数 2.2.1自定义函数是什么 2.2.2为什么要有自定义函数 2.2.3函数的组成 2.2.4 举例展示 3. 函数的参数 3.1 实际参数(实参) 3.2  形式参数(形参) 4. 函数的调用 4.1 传值调用 4.2  传址调用 4.3 练习 4.3.1. 写一个函数判断一年是不是闰年

  • golang对自定义类型进行排序的解决方法

    前言 Go 语言支持我们自定义类型,我们大家在实际项目中,常常需要根据一个结构体类型的某个字段进行排序.之前遇到这个问题不知道如何解决,后来在网上搜索了相关问题,找到了一些好的解决方案,此处参考下,做个总结吧. 由于 golang 的 sort 包本身就提供了相应的功能, 我们就没必要重复的造个轮子了,来看看如何利用 sort 包来实现吧. sort包浅谈 golang中也实现了排序算法的包sort包,sort 包 在内部实现了四种基本的排序算法:插入排序(insertionSort).归并排序

  • Java实现简单的迷宫游戏详解

    目录 前言 主要设计 功能截图 代码实现 窗口布局 核心算法 总结 前言 人类建造迷宫已有5000年的历史.在世界的不同文化发展时期,这些奇特的建筑物始终吸引人们沿着弯弯曲曲.困难重重的小路吃力地行走,寻找真相.迷宫类小游戏应运而生.在游戏中,迷宫被表现为冒险舞台里,藏有各式各样奇妙与谜题或宝藏的危险区域.型态有洞窟.人工建筑物.怪物巢穴.密林或山路等.迷宫内有恶徒或凶猛的生物(真实存在或想像物体都有)徘徊,其中可能会有陷阱.不明设施.遗迹等. <简单迷宫>游戏是用java语言实现,采用了sw

随机推荐