首页 > 其他分享 >游戏001

游戏001

时间:2024-09-05 23:23:29浏览次数:5  
标签:游戏 Obstacle dino HEIGHT int 001 obstacle printf

c++自编1号游戏:

#include <stdio.h>
#include <conio.h>
#include <windows.h>

// 游戏区域的宽度和高度
const int WIDTH = 80;
const int HEIGHT = 20;

// 小恐龙结构体
struct Dino {
    int x;
    int y;
    bool isJumping;
    int jumpHeight;
};

// 障碍物结构体
struct Obstacle {
    int x;
    int y;
};

void drawScene(Dino dino, Obstacle obstacle) {
    system("cls");
    for (int i = 0; i < HEIGHT; i++) {
        for (int j = 0; j < WIDTH; j++) {
            if (i == dino.y && j == dino.x) {
                printf("R"); // 小恐龙
            } else if (i == obstacle.y && j == obstacle.x) {
                printf("O"); // 障碍物
            } else {
                printf(" ");
            }
        }
        printf("\n");
    }
}

void updateDino(Dino *dino) {
    if (dino->isJumping) {
        dino->y--;
        dino->jumpHeight--;
        if (dino->jumpHeight <= 0) {
            dino->isJumping = false;
            dino->jumpHeight = 10;
        }
    } else {
        dino->y++;
        if (dino->y >= HEIGHT - 1) {
            dino->y = HEIGHT - 1;
        }
    }
}

void updateObstacle(Obstacle *obstacle) {
    obstacle->x--;
    if (obstacle->x < 0) {
        obstacle->x = WIDTH - 1;
        obstacle->y = rand() % (HEIGHT - 2) + 1;
    }
}

bool checkCollision(Dino dino, Obstacle obstacle) {
    return dino.x == obstacle.x && dino.y == obstacle.y;
}

int main() {
    Dino dino = {10, HEIGHT - 1, false, 10};
    Obstacle obstacle = {WIDTH - 1, rand() % (HEIGHT - 2) + 1};

    while (true) {
        if (_kbhit()) {
            char key = _getch();
            if (key == ' ' &&!dino.isJumping) {
                dino.isJumping = true;
            }
        }

        updateDino(&dino);
        updateObstacle(&obstacle);

        if (checkCollision(dino, obstacle)) {
            printf("游戏结束!\n");
            break;
        }

        drawScene(dino, obstacle);
        Sleep(10);
    }

    return 0;
}

标签:游戏,Obstacle,dino,HEIGHT,int,001,obstacle,printf
From: https://blog.csdn.net/s2015_818/article/details/141882768

相关文章

  • 基于java语言的点击方块小游戏
    游戏玩法目标:玩家需要在限时内点击尽可能多的方块。规则:游戏启动后,屏幕上会随机出现一个移动的方块;玩家点击方块得分,方块会重新随机出现在另一个位置;游戏限时为30秒,时间结束时显示总分。代码importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;import......
  • C语言猜数小游戏
    问题:用C语言写一个猜数小游戏,要求数字是整数小于1000且随即生成,玩家需要输入数字,程序给出提示,直至最终猜到最终正确的数字,游戏结束。小游戏实现代码如下:#include<stdio.h>#include<stdlib.h>//lib头文件调用随机函数#include<time.h>//time头文件调用时间......
  • 【转载】《扩散模型是实时游戏引擎(Diffusion Models Are Real-Time Game Engines)》的
    地址:https://www.youtube.com/watch?v=VniPJII6ak08月29号,谷歌DeepMind发布了一篇名为《扩散模型是实时游戏引擎(DiffusionModelsAreReal-TimeGameEngines)》的论文,向我们展示了世界上第一个完全由神经模型驱动的游戏引擎,GameNGen。这也是历史上首次,AI能在不借助其他......
  • 2001-2022年中国地级市高铁开通数据(全新整理)
    文章目录数据下载地址数据指标说明资源名称:中国高铁线路开通数据(2001-2022年)项目备注数据下载地址数据下载地址点击这里下载数据数据指标说明资源名称:中国高铁线路开通数据(2001-2022年)资源介绍1、数据来源:国家铁路局网站仅公布过截至2015年10月1日的高铁线路......
  • 《死亡细胞》游戏崩溃弹窗“找不到ig7icd32.dll”该怎么处理?死亡细胞游戏启动时闪退提
    在玩《死亡细胞》时,若游戏崩溃并弹窗显示“找不到ig7icd32.dll”,先别慌张。您可以在网上搜索该文件并下载到正确位置,或者对相关组件进行修复和重新安装。采取这些措施,有望解决这一问题,重回游戏。本篇将为大家带来《死亡细胞》游戏崩溃弹窗“找不到ig7icd32.dll”该怎么处理的内......
  • 《黑神话:悟空》游戏启动时崩溃提示“找不到d3d12.dll”该怎么办?黑神话悟空游戏闪退弹
    在启动《黑神话:悟空》时,如果崩溃并提示“找不到d3d12.dll”,您先别慌。可以通过重新安装DirectX运行库来解决,或者检查相关文件是否被误删。也可以更新显卡驱动,尝试修复此问题,顺利开启游戏之旅。本篇将为大家带来《黑神话:悟空》游戏启动时崩溃提示“找不到d3d12.dll”该怎么办的......
  • 《雨中冒险2》DLL文件修复指南:轻松解决游戏受损问题
    当你在玩《雨中冒险2》游戏时,如果遇到了“找不到某个DLL文件”或“某个DLL文件损坏”的错误提示,这意味着系统缺少或损坏了这个动态链接库(DynamicLinkLibrary,简称DLL)文件。这种情况可能导致游戏无法正常启动或运行。以下是解决这个问题的一些步骤:解决步骤1.重新安装游戏......
  • 解决《逆转裁判》游戏中DLL文件受损问题的方法
    当你在玩《逆转裁判》游戏时,如果遇到了“找不到某个DLL文件”或“某个DLL文件损坏”的错误提示,这意味着系统缺少或损坏了这个动态链接库(DynamicLinkLibrary,简称DLL)文件。这种情况可能导致游戏无法正常启动或运行。以下是解决这个问题的一些步骤:解决步骤1.重新安装游戏......
  • 走向绿色未来:ISO 14001环境管理体系认证为何成为企业必备
    当今的市场竞争不仅仅是产品和服务的较量,更是社会责任的展示。ISO14001环境管理体系认证赋予企业一个绿色的标签,彰显其在环保方面的积极态度。通过获得这一认证,企业能够向客户、合作伙伴和公众传递出强烈的环境保护意识和责任感。这不仅提升了企业的市场声誉,还增强了消费者对品牌......
  • Web大学生网页作业成品——游戏阴阳师介绍网页设计与实现(HTML+CSS)(4个页面)
    ......