21xrx.com
2024-12-22 20:52:14 Sunday
登录
文章检索 我的文章 写文章
《Dev C++代码:冰墩墩》
2023-07-08 19:30:49 深夜i     --     --
Dev C++ 代码 冰墩墩 编程 C++语言

Dev C++是一个免费的开发环境,它在C和C++编程,代码编辑方面拥有丰富的功能和工具。在这个环境下,有很多有趣的代码可以实现,比如今天我们要介绍的《冰墩墩》代码。

《冰墩墩》是一个简单的小游戏,它的主角是一只可爱的小企鹅,名叫冰墩墩。玩家将通过键盘上的箭头控制冰墩墩的移动,同时躲避掉落的冰块。如果冰墩墩撞到冰块,就会输掉游戏。玩家的目标就是尽可能的坚持游戏时间,获得最高分数。

在Dev C++环境下,使用《冰墩墩》代码非常简单。首先,你需要打开Dev C++编译器,然后创建一个新的C++源文件。接下来,复制粘贴下面的代码:


#include <graphics.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#include <stdio.h>

#define win_height 500

#define win_width 500

/*画图函数*/

void draw(float penguin_x,float penguin_y/*企鹅的位置*/){

  cleardevice();

  setfillcolor(WHITE);

  fillcircle(penguin_x, penguin_y, 20);//画企鹅

  setfillcolor(BLACK);

  fillcircle(penguin_x, penguin_y-5, 4);//画企鹅眼睛

  setfillcolor(BLACK);

  fillcircle(penguin_x, penguin_y+10, 3);//画企鹅嘴巴

  setfillcolor(LIGHTCYAN);

  bar(0,350,600,600);

  /*画冰*/

  setfillcolor(LIGHTBLUE);

  solidrectangle(300,200,340,280);

  solidrectangle(240,220,280,300);

  solidrectangle(180,190,220,250);

  setfillcolor(LIGHTBLUE);

  solidrectangle(220,280,260,350);

  solidrectangle(140,300,180,370);

  solidrectangle(360,300,400,400);

}

void falling(/*冰块的位置*/float a1,float a2,float b1,float b2,float c1,float c2,/*企鹅的位置*/float penguin_x,float penguin_y){

  setcolor(WHITE);

  rectangle(a1,a2,a1+40,a2+20);

  rectangle(b1,b2,b1+40,b2+20);

  rectangle(c1,c2,c1+40,c2+20);

  if(a1+40>=penguin_x-20&&a1<=penguin_x+20&&a2+20>=penguin_y-25&&a2<=penguin_y+5||

    b1+40>=penguin_x-20&&b1<=penguin_x+20&&b2+20>=penguin_y-25&&b2<=penguin_y+5||

    c1+40>=penguin_x-20&&c1<=penguin_x+20&&c2+20>=penguin_y-25&&c2<=penguin_y+5)

    {

    settextstyle(20,0,"Consolas");

    outtextxy(200,150,"Game Over");

    getch();

    closegraph();

    exit(0);

    }

  else{

    a2=a2+v;

    b2=b2+v;

    c2=c2+v;

    }

  if(a2>=450){

    a1=rand()%400+20;

    a2=a2-550;

    count++;

  }

  if(b2>=450){

    b1=rand()%400+20;

    b2=b2-550;

    count++;

  }

  if(c2>=450){

    c1=rand()%400+20;

    c2=c2-550;

    count++;

  }

  setcolor(GREEN);

  rectangle(a1,a2,a1+40,a2+20);

  rectangle(b1,b2,b1+40,b2+20);

  rectangle(c1,c2,c1+40,c2+20);

}

int main()

{

  initgraph(win_width,win_height);//初始化图形环境

  int score=0;

  float penguin_x=100,penguin_y=300;//企鹅的初始位置

  float a1=rand()%400+20,a2=10,b1=rand()%400+20,b2=-160,c1=rand()%400+20,c2=-370; //冰块的初始位置

  float v=3;

  int count=0;

  settextcolor(GREEN);

  settextstyle(20,0,"Consolas");

  outtextxy(10,10,"score:");

  while(1)

  {

    draw(penguin_x,penguin_y);

    falling(a1,a2,b1,b2,c1,c2,penguin_x,penguin_y);

    if(kbhit()!=0)

    {

      char c=getch();

      switch(c){

        case 'a':penguin_x-=10;break;//左移动

        case 'd':penguin_x+=10;break;//右移动

        default: penguin_x=penguin_x;

      }

    }

    score=count/10; //得分计算

    char buffer[5];

    settextcolor(GREEN);

    settextstyle(20,0,"Consolas");

    sprintf(buffer,"%d",score);

    outtextxy(100,10,buffer); //输出分数

    delay(30);//游戏延迟

  } 

  getch();

  closegraph();//关闭图形环境

  return 0;

}

复制完代码后,直接运行即可。游戏将自动开始,玩家可通过键盘上的箭头控制冰墩墩的移动,获得尽可能高的分数。游戏结束后,系统将自动显示游戏得分。

这个小游戏的代码简洁明了,非常适合初学者学习C++编程。通过这个小项目,逐步增强自己的编程能力,提高自己的代码水平。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复