这个游戏的源码来自与github,这个游戏通过吃蘑菇或者阳光来增长自己的身体,
如果其它虫子头部碰着你的身体,则被碰的虫子消失,每杀死一个虫子,分值加1,
如果是你的头部碰到其它虫子的身体,则死亡游戏结束。
如果碰到骷颅头,也算是死亡,游戏结束。
键盘的上下左右键控制虫子的移动,能够移动的虫子的名字是Bibhuti.
以下是游戏的源码,可以在QtCreator上运行。
附上游戏截图:
游戏需要的资源图片请到
下载,这个网页也可以下载源码,有点小错误,更正便可运行。
// food.h
#ifndef FOOD_H
#define FOOD_H
#include <QGraphicsPixmapItem>class Food: public QObject, public QGraphicsPixmapItem
{Q_OBJECTpublic:int speed;int life;int maxLife;Food(QGraphicsScene *scene, int mX, int mY, int x, int y);public slots: void countLife();};#endif // FOOD_H
// food.cpp
#include "Food.h"
#include "Game.h"
#include "Util.h"
#include<QGraphicsScene>
#include <QTimer>extern Game *g;Food::Food(QGraphicsScene *scene, int mX, int mY, int x=-1, int y=-1)
{life = 0;maxLife = Util::random(10,15);setZValue(-100);if(x == -1 && y == -1){//set according to given datasetPixmap(QPixmap(":/images/f"+ QString::number(Util::random(1,7)) + ".png"));setPos(Util::random(10,mX), Util::random(10,mY));}else{//set randomlysetPixmap(QPixmap(":/images/f"+ QString::number(Util::random(1,7)) + ".png"));setPos(x, y);}//set random scaleint r = Util::random(1,3);if(r == 1)setScale(1);else if(r == 2)setScale(0.5);else if(r == 3)setScale(0.25);scene->addItem(this);//timer to count lifeQTimer *countTimer = new QTimer();connect(countTimer, SIGNAL(timeout()), this, SLOT(countLife()));countTimer->start(1000);
}void Food::countLife()
{life++;if(life == maxLife){g->scene->removeItem(this);delete this;}
}
本文发布于:2024-01-28 23:56:22,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645738711226.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |