21xrx.com
2025-03-28 04:42:30 Friday
文章检索 我的文章 写文章
《Dev C++代码:冰墩墩》
2023-07-08 19:30:49 深夜i     36     0
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++编程。通过这个小项目,逐步增强自己的编程能力,提高自己的代码水平。

  
  

评论区

请求出错了