1鼠标点击哪个圆圈,那个圆圈就转90度,

2指针指向哪个圆圈,哪个圆圈就转90度,

3共有10次机会,每转一圈加90分。

代码:

// 十步万度.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
#define PI 3.14159
struct  Round {float x, y;float r;int anglenum;
}rounds[5][5];
int step, score;
void startup() {step = 10, score = 0;initgraph(600, 700);setbkcolor(RGB(50, 50, 50));setlinestyle(PS_SOLID, 3);cleardevice();BeginBatchDraw();int i, j;for (i = 0; i < 5; i++) {for (j = 0; j < 5; j++) {rounds[i][j].r = 30;rounds[i][j].x = 100 + j * 100;rounds[i][j].y = 200 + i * 100;rounds[i][j].anglenum = 1;}}
}
void show() {cleardevice();float angle;int i, j;for (i = 0; i < 5; i++) {for (j = 0; j < 5; j++) {setlinecolor(RGB(200, 201, 202));circle(rounds[i][j].x, rounds[i][j].y, rounds[i][j].r);angle = rounds[i][j].anglenum * PI / 2;setlinecolor(RGB(255, 0, 0));line(rounds[i][j].x, rounds[i][j].y, rounds[i][j].x + cos(-angle) * rounds[i][j].r, rounds[i][j].y +sin(-angle) * rounds[i][j].r);}}TCHAR s[20];setbkmode(TRANSPARENT);_stprintf(s, _T("% d 步 % d 度"), step, score);settextstyle(50, 0, _T("宋体"));outtextxy(150, 20, s);settextstyle(20, 0, _T("宋体"));outtextxy(15, 100, _T("点击一个圆圈,其指针顺时针旋转90度后 指向的针依次旋转"));FlushBatchDraw();FlushBatchDraw();}
void rotateround(int i, int j) {rounds[i][j] .anglenum-= 1;if (rounds[i][j].anglenum == -1) {rounds[i][j].anglenum = 3;}score += 90;
}int Getindexes(int indexes[2]) {int i = indexes[0];int j = indexes[1];if (rounds[i][j].anglenum == 1) {i--;}else if (rounds[i][j].anglenum == 2) {j--;}else if (rounds[i][j].anglenum == 3) {i++;}else {j++;}indexes[0] = i;indexes[1] = j;if (i >= 0 && i < 5 && j >= 0 && j < 5) {return 1;}elsereturn 0;
}void update() {MOUSEMSG  m;if (MouseHit()) {m = GetMouseMsg();if (m.uMsg == WM_LBUTTONDOWN&&step>0) {int ci = int(m.y - 150) / 100;int cj = int(m.x - 50) / 100;rotateround(ci, cj);step--;show();Sleep(300);int indexes[2] = { ci,cj };while (Getindexes(indexes)) {rotateround(indexes[0], indexes[1]);show();Sleep(300);}}}
}int main() {startup();while (step>0) {show();update();}getch();return 0;
}

最开始:

第一步:

第二步:

最后

c++益智小游戏《十步万度》相关推荐

  1. 简单小游戏——十步万度

    软件使用 EasyX.VS2013 效果图 具体实现 画5*5个圆,每个圆都是一个结构体,储存圆的坐标和半径.每个圆中都有一个指针,初始时都指向上方(即90°).鼠标点击某个圈,该圈的指针会顺时针旋转 ...

  2. 《C和C++游戏趣味编程》 第8章 十步万度

    没想到前几天新书预告中(童晶:<C和C++游戏趣味编程>新书预告),有这么多朋友对实现十步万度游戏感兴趣,下面提前开源最终代码. 这个案例使用VS 2010 + EasyX开发,感兴趣的朋 ...

  3. C语言实现:十步万度游戏,代码思路+源码分享

    你只能点十次, 但却要引发蝴蝶效应最后达到10000度.六种模式可选,每种模式都可以不断挑战极限达到最高的度数.数十种精美的蝴蝶扇动着翅膀向你展示蝴蝶效应的奇妙,一个微小的差别可能就会造成很大的不同. ...

  4. C++入门——实现十步万度游戏

    参考 <C和C++游戏趣味编程> 童晶 十步万度游戏 用鼠标点击任意一个小圆圈,其指针顺时针旋转90度,后续被指向的圆圈指针也依次旋转,所有圆圈的旋转度数累积.玩家点击10次,尝试得到尽量 ...

  5. 第8章 十步万度(《C和C++游戏趣味编程》配套教学视频)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 本章我们将编写十步万度游戏,效果如图所示.鼠标点击任意一个小圆圈,其指针顺时针旋转90度,后续被指向的圆圈指针也依次旋转,所有圆圈的 ...

  6. 2019级C语言大作业 - 十步万度

    十步万度 C语言作业 分享19级同学大一上学期用C语言实现的十步万度,可从码云下载: 期末作业/十步万度 摘要 本组设计并编写的游戏<十步万度>,是我们仿照原有的<十步万度>游 ...

  7. c语言输出数字漏斗图形_2019级C语言大作业 - 十步万度

    分享19级同学大一上学期用C语言实现的十步万度,可从码云下载: 期末作业/十步万度​gitee.com C语言大作业 - 十步万度https://www.zhihu.com/video/1215683 ...

  8. c语言设置一个选择数字的程序,C语言编一个数字益智小游戏

    程序功能及运行情况 设计的程序是一个数字益智游戏,旨在培养小朋友玩家的数学思维,提高玩家的数学能力.游戏共设有四个不同的小游戏,分别是一位数四则运算.两位数四则运算.找最值游戏.排序游戏.程序能实现产 ...

  9. 益智小游戏《测试脑力》源码H5+安卓+IOS三端源码

    cocos creator2.4.2 益智小游戏<测试脑力>源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator2.X版本,完整的源 ...

最新文章

  1. 扔掉okhttp、httpClient,来试试这款轻量级HTTP客户端神器?
  2. 报名 | 期末考后,快来打比赛赢万元奖金!(北京上海)
  3. 移动端开发, 常用CSS单位
  4. linux命令tcpdump
  5. [转载]我的博后申请经历从陶瓷到Offer过程
  6. UVA 11136——Hoax or what
  7. python line strip_Python进阶---python strip() split()函数实战(转)
  8. ideatomcat老是运行以前的项目_日“吞”150吨垃圾,禅城集中式餐厨垃圾处理项目启用...
  9. 1.4编程基础之逻辑表达式与条件分支 07 收集瓶盖赢大奖
  10. 到底什么是 ROI Pooling Layer ???
  11. Python是Python的web框架
  12. Weblogic常见故障常 JDBC Connection Pools
  13. 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)篇篇一.doc...
  14. python 读取网络位置的文件
  15. Cuba 设置debug模式
  16. GIS应用技巧之景观格局分析(三)
  17. 【转】如何使用visual studio将你的程序打包成安装包
  18. 软件是怎么开发出来的?怎么进行软件开发流程详解
  19. review代码从哪些角度_CodeReview正确的姿势是什么?
  20. 交叉编译wpa_supplicant常见问题总结

热门文章

  1. 2021IDEA如何使用鼠标调节字体大小
  2. java 实现视频网站视频地址解析
  3. 什么是区块链项目“白皮书”?
  4. 智能汽车-ICALL、BCALL、ECALL都是啥
  5. 前端将两张图片合为一张
  6. STM32H743 Flash
  7. unravel完整版歌词(非TV版)
  8. 苹果电脑拷贝文件到u盘很慢_U盘防拷贝哪家比较好?哪个做得好?
  9. java正则匹配汉字_正则表达式匹配中文汉字
  10. excel 某个单元格不是等于空值_Excel单元格为空怎么表示啊