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语言球球半径,球球大作战,源码分享相关推荐
- 精品手游小精灵大作战源码 安卓+IOS+H5三端Cocos Creator 客户端 JAVA服务端
小精灵大作战 数据库说明 数据库使用MySQL,推荐管理软件Navicat For MySQL. 创建数据库命名为pet_battle,字符集选用utf8 -- UTF-8 Unicode,排序规则选 ...
- C语言实现:见缝插针游戏!代码思路+源码分享
见缝插圆我们昨天已经用C语言实现了,今天将实现一个见缝插针的游戏. 游戏介绍:<见缝插针游戏>是一款非常休闲益智的且容易上头的小游戏,该游戏画面非常的简洁,米白色的背景中央,放置着一个不断 ...
- c语言球球半径,C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗?...
原标题:C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗? 游戏背景 <球球大作战>是Superpop一款自主研du发的免费手机网络游戏. 以玩家间的实时互动PK产生游戏乐 ...
- unity3d游戏3d局域网联机吃球游戏完整项目源码分享
unity3d游戏3d局域网联机吃球游戏完整项目源码分享 免费下载地址: 链接:https://pan.baidu.com/s/1APlOCmoK9aUfiVJD48dBQA 提取码:p5nl 复制这 ...
- c语言打印空心数字图形,(完整word版)C语言编写打印实心和空心菱形【源码】
<(完整word版)C语言编写打印实心和空心菱形[源码]>由会员分享,可在线阅读,更多相关<(完整word版)C语言编写打印实心和空心菱形[源码](13页珍藏版)>请在人人文库 ...
- c语言 临时文件作用,c语言函数mktemp()产生唯一临时文件名实例源码介绍
c语言函数mktemp()产生唯一临时文件名实例源码介绍.有关的函数:tmpfile引入的头文件:#include 定义函数mktemp():char * mktemp(char * template ...
- php并发取源码,PHP读取大文件源码示例-Swoole多进程读取大文件
PHP读取大文件源码示例,通过PHP读取过大.超大型文件的思路及解决方案. 在日常读取文件时,若文件 不是很大,通常使用file_get_contents,将内容一次性载入的变量中,也可以远程加载网页 ...
- 魔改大西瓜源码下载之后画面显示只有一半的解决方法
魔改大西瓜源码下载之后画面显示只有一半的解决方法 以Google Chrome浏览器为例 第一种解决方法:手机模式 浏览器打开合成大西瓜界面后,按f12(如果是笔记本电脑的话可能要按fn+f12)然后 ...
- 【博主推荐】大数据可视化大屏(源码下载)
可视化大屏交流学习 提示:本文推荐好的大数据可视化源码,用于学习,用于项目,欢迎大家积极交流.持续更新贴-- 资源目录 可视化大屏交流学习 一. 某公司大数据展示模版2 二.大数据可视化通用素材 三. ...
- 中国大学MOOC北京大学唐大仕老师《Java程序设计》源码分享
中国大学MOOC北京大学唐大仕老师<Java程序设计>源码分享 简介 Github地址 LearnJava中需要导入的jar 导入jar的方法 简介 这是我在学习中国大学MOOC北京大学唐 ...
最新文章
- MySQL查询进阶之多表查询
- Apache防止DDOS***的模块--mod_evasive
- 跳出圈子易,再入围城难,重新学编程,且学且珍惜
- 物联网云平台的建设将覆盖全领域
- Kafka入门之分组的理解
- win10安装时,提示“我们无法创建新的分区,也找不到现有分区”
- cuda cudnn tensorflow对应_Ubuntu18.04下安装Tensorflow+cuda+cudnn+pytorch
- Python标准库random用法精要
- chm文件的中文显示乱码问题解决
- java常用lib_Java常用工具类整理
- 可实现的python拟牛顿法的DFP算法
- 大众点评有多少用户2019_2019全国大众点评网数据下载获取
- iOS网络编程---根据URL下载网络文件的方法
- 原版安装Win10 1909专业版 64位MSDN镜像2020 05
- python脚本编程基础读后感_Python入门经典的读后感10篇
- 宁芝84静电容(蓝牙双模)键盘说明书
- 【网络】java密码安全
- 单张像片空间后方交会
- 电脑iphone,如何从 iPhone 传输图片到电脑
- 51单片机实验(LED and KEY)
热门文章
- Python--getattr、__getattr__、__getattribute__,倔强一下
- JavaScript进阶(4)-dom查询
- 特岗计算机考试题2018年,2020年特岗模拟考试试题及答案.pdf
- 在unity中添加Newtonsoft.Json
- Android培训班(62)dex文件格式3
- 单曲循环 翻译_“单曲循环” 用哪个词?
- python序列化模块struct_Python进阶-XII serialize(序列化)、序列化模块
- 感谢帮我的人们(Revit二次开发)
- python读取文件,并指定跳过的行数
- 亚利桑那银行改善;基于图森商贸评级提升