球球大作战c语言源代码,球球大作战,源码分享
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include "qiu.h"
int main()
{
initgraph(800, 600);
mciSendString("open res/彩豆森林.mp3 alias mus", NULL, NULL, NULL);//加载音乐
for(int i=0;i<200;i++)
loadimage(&img[i], "res/1.jpg",i,i);//获取不同大小的图片
srand((unsigned)time(NULL));
settextstyle(30, 0, "黑体");//这里指的彩豆大小
setbkmode(0);//去掉文字输出的背景
mciSendString("play mus repeat", NULL, NULL, NULL);//播放音乐
while (1)
{
for (int i = 0; i<300; i++)
if (sx + color[i].x - 2040 >= 400 - me.size/2 && sx + color[i].x - 2040 <= 400 + me.size/2 &&
sy + color[i].y - 2040 >= 300 - me.size/2 && sy + color[i].y - 2040 <= 300 + me.size/2)
//如果自己吃到了彩豆
{
color[i].sign = 0;//这个彩豆被吃啦,标记一下,下次不在这里了
me.sign2 = i;
sprintf(_score, "%d", ++score-20);//积分增加
switch ((score)/30)
{
case 0:break;
case 1: me.size = score; break;
case 2: me.size = (score - 60) / 2 + 60; break;
case 3:case 4:me.size = (score - 90) / 3 + 85; break;
case 5:case 6:case 7:
me.size = (score - 150) / 4 + 105; break;
case 8:case 9:case 10:case 11:case 12:case 13:
me.size= (score - 240) / 4 + 127; break;
default://哎呀呀,太麻烦了,直接一个default吧~~~~~~~
me.size = (score - 420) / 6 + 172;
break;
}//这个球长大的地方没写好,球的长大不正常
if (me.size > 199) me.size = 199;
}
if (MouseHit())//是否有鼠标消息
{
msg = GetMouseMsg();//获取鼠标消息
me.x = msg.x, me.y = msg.y;
}
draw(move());
}
}
//分裂与合并还没有写,后面再写吧
//我只是一个初学c++的新人,希望大神可以多多提下意见。。
//
#pragma once
#include
#include
#include
#include
#include
#pragma comment(lib,"winmm.lib")
#define ox 650 //操纵圆x原点
#define oy 450 //操纵圆y原点
int sx = 0, sy = 0;//移动地图基点
IMAGE img[200];
MOUSEMSG msg;
int score = 20;//得分
char _score[10];
class System
{
public:
int sign = 0;//标记
int sign2 = 0;//记录彩豆被吃的记录
int x, y;//坐标
int _cr;//颜色
int size = 30;//球的大小
int color[7] = { WHITE, RED, YELLOW, GREEN, BLUE, MAGENTA, LIGHTCYAN };
System() {};
~System() {}
};
System me;//自己
System color[300];//彩豆
bool move();
void draw(bool i);
void Colorsys();//彩豆与草
bool move()
{
if (sqrt((me.x - ox)*(me.x - ox) + (me.y - oy)*(me.y - oy)) <= 100)
{
if (sx > -2400 && sx < 2400)
sx -= (me.x - ox) / 10;
else
{
if (sx <= 0) sx++;
if (sx >= 800) sx--;
}
if (sy > -2300 && sy < 2300)
sy -= (me.y - oy) / 10;
else
{
if (sy <= 0) sy++;
if (sy >= 600) sy--;
}
return 1;
}
return 0;
}
void draw(bool i)
{
BeginBatchDraw();//批量绘制
cleardevice();
//***************这里是地形图******************
setlinecolor(RGB(40, 40, 40));//地形
setlinestyle(PS_DASHDOT, 4);
for (int i = sx - 2400; i <= 2400; i += 80)
line(i, 0, i, 600);
for (int i = sy - 2300; i <= 2300; i += 80)//地图中的虚色线
line(0, i, 800, i);
//**********************************************
setlinecolor(RED);//地图红色边界
setlinestyle(PS_SOLID, 4);
rectangle(sx - 2050, sy - 2052, sx + 2830, sy + 2630);
*************彩豆与自己**********************
Colorsys();
for (int i = 0; i < 300; i++)//这里画彩豆
if (color[i].sign == 1)//如果这里的彩豆没有被吃
{
settextcolor(color[i].color[color[i]._cr]);//彩豆颜色
outtextxy(sx + (color[i].x - 2040), sy + (color[i].y - 2040), "*");//画彩豆
}
putimage(400-me.size/2, 300-me.size/2, &img[me.size]);//这是自己
//******************操纵盘************************
setlinestyle(PS_SOLID, 1);
setlinecolor(WHITE);
circle(ox, oy, 100);
if (i)
{
circle(me.x, me.y, 10);
line(ox, oy, me.x, me.y);
line(me.x, oy, me.x, me.y);
}
line(ox - 100, oy, ox + 100, oy);
line(ox, oy - 100, ox, oy + 100);
//************************************************
settextcolor(WHITE);//积分颜色
outtextxy(5, 5, _score);//积分
EndBatchDraw();//结束批量绘制
}
void Colorsys()//彩豆相关信息
{
while (me.sign<300)
{
color[me.sign]._cr = rand() % 7;
color[me.sign].x = rand() % (2040 + 2740);
color[me.sign].y = rand() % (2040 + 2540);
color[me.sign].sign = 1;
me.sign++;
}
if (me.sign2)
{
color[me.sign2]._cr = rand() % 7;
color[me.sign2].x = rand() % (2040 + 2740);
color[me.sign2].y = rand() % (2040 + 2540);
color[me.sign2].sign = 1;
me.sign2 = 0;
}
}
球球大作战c语言源代码,球球大作战,源码分享相关推荐
- c++ 游戏_C/C++编程笔记:C语言实现连连看游戏,项目源码分享
本篇文章分享看题目就知道是写给初学者的,学的比较好的小伙伴也可以将自动算法等一些知识给加进去,希望对大家有帮助! 好了,当我们所有的准备工作做好之后,我们就可以来编写我们的C语言连连看游戏了! 其实这 ...
- 球球大作战c语言源代码,《球球大作战》源码解析:移动算法
系列文章 <球球大作战>源码解析(7):游戏循环 <球球大作战>源码解析(8):消息广播 服务端处理了游戏的各种游戏逻辑,怎样让小球移动是重点之一.若想做服务端运算的游戏,这一 ...
- Android开发之大位图二次採样压缩处理(源码分享)
图片有各种形状和大小.在很多情况下这些图片是远远大于我们的用户界面(UI)且占领着极大的内存空间,假设我们不正确位图进行压缩处理,我们的程序会发生内存泄露的错误. MainActivity的代码 pa ...
- c语言球球半径,C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗?...
原标题:C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗? 游戏背景 <球球大作战>是Superpop一款自主研du发的免费手机网络游戏. 以玩家间的实时互动PK产生游戏乐 ...
- unity3d游戏3d局域网联机吃球游戏完整项目源码分享
unity3d游戏3d局域网联机吃球游戏完整项目源码分享 免费下载地址: 链接:https://pan.baidu.com/s/1APlOCmoK9aUfiVJD48dBQA 提取码:p5nl 复制这 ...
- C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码
<C语言课程设计学生成绩管理系统+源码>由会员分享,可在线阅读,更多相关<C语言课程设计学生成绩管理系统+源码(25页珍藏版)>请在人人文库网上搜索. 1.简易教学管理系统的设 ...
- IEC61131, IEC61499图形可视化,PLC图形可视化,PLC组态,VBScript和JavaScript脚本,解决方案源代码, 开发平台100% VC++源码2018!
IEC61131, IEC61499图形可视化,PLC图形可视化,PLC组态,VBScript和JavaScript脚本,解决方案源代码, 开发平台100% VC++源码2018! -- 全球领先. ...
- java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)
java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...
- python在abaqus中的应用代码下载_Python-(source-code)-in--Abaqus Python语言在Abaqus中的应用(源码) - 下载 - 搜珍网...
Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码)/Python语言在Abaqus中的应用 (源码)/ Python语言在Abaqus中的应用 (源码 ...
- C语言Kruskal 算法 (MST)(附完整源码)
C语言Kruskal 算法 MST的算法 C语言Kruskal 算法 MST算法完整源码(定义,实现,main函数测试) C语言Kruskal 算法 MST算法完整源码(定义,实现,main函数测试) ...
最新文章
- 虚拟机复制后需要改什么_网站改版后为什么需要每月运营维护?
- 并发操作的不一致性问题
- 给机器人罗宾写一封英语回信_近10年高考英语书面表达真题及范文大汇总! 把握高考命题新趋势!...
- tensor数据类型,数据转换和新建数据操作
- 数据结构与算法Python版-第六周作业
- 【分享】请回答1988(一)
- 共享新风机未来家居生活必备品新鲜空气齐分享
- Html5实现iPhone开机界面
- Android Provision (OOBE)
- U盘图标更改 简单三步教你个性化定制U盘图标!自定义修改你的U盘
- 2022年漏洞事件盘点
- requestAnimationFrame运动框架实现播放中连续变速动画效果
- 数字信号处理随堂笔记(2)ᝰ离散时间信号与系统的频域分析
- Win 8预览版将上市 首批应用名单出炉
- android安卓仿 win桌面 开源,安卓的XP系统 XP Mod Launcher小体验
- 数字计算机在线用,十进制与二进制在线转换工具
- BZOJ2215 : [Poi2011]Conspiracy
- python使用密钥加密的表述_python 利用Crypto进行RSA解密加密文件
- win10 无法访问XP 共享目录原因
- 蓝松短视频----更新日志(一直更新中...)