二进制练习小游戏

  今天恶补汇编,发下脑袋变迟钝了,所以写了个小程序,练习一下二进制转换,巩固记忆~~

  先来看看二进制(Binary)、十进制(Decimal)、十六进制(Binary)的关系表格

Decimal
(base 10)
Binary
(base 2)
Hexadecimal
(base 16)
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

  根据对应关系,写了如下小代码,亦可以统计成功率

  

 1 #include <iostream>
 2 #include <ctime>
 3 #include <cstdlib>
 4 #include <string>
 5 #include <bitset>
 6
 7 using namespace std;
 8
 9 int main(int argc, char *argv[])
10 {
11     cout << "You must enter a 4-digit binary number." << endl;
12     cout << "If you enter ‘q‘ or ‘Q‘, then the game over~"<< endl;
13     cout << "Now, let‘s start the game!" << endl;
14     cout << endl;
15
16     unsigned long correctCount = 0;
17     unsigned long totalCount = 0;
18     srand(time(NULL));
19     do{
20         unsigned long v = rand() % 16;
21         if(0 == (rand() - (v << 1)) % 2)
22             cout << hex << uppercase << v << " = ";
23         else
24             cout << v << " = ";
25
26         string str;
27         cin >> str;
28
29         if(0 == str.compare("q") || 0 == str.compare("Q")){
30             cout << endl;
31             break;
32         }
33
34         if(str.size() > 4){
35             cout << "Please enter a valid 4-digit binary number" << endl;
36         }else{
37             try{
38                 bitset<4> foo(str);
39
40                 totalCount++;
41                 if(foo.to_ulong() == v){
42                         correctCount++;
43                     cout << "^_-! Bingo!" << endl;
44                 }else
45                     cout << "-_-! Once again!" << endl;
46             }catch(...){
47                 cout << "Please enter the binary format!" << endl;
48             }
49         }
50
51         cout << endl;
52     }while(1);
53
54     if(totalCount > 0)
55         cout << "Correct Rate: " << correctCount / double(totalCount) * 100 << "%" << endl;
56
57     cout << "Bye-bye ^_^!" << endl;
58     return 0;
59 }
时间: 2024-08-05 11:14:45

二进制练习小游戏的相关文章

猜生日 Java小游戏

最近看到一个很有趣的小游戏: 询问朋友5个问题,找到他出生在一个月的哪一天.每个问题都是询问他的生日是否是5个数字集合中的一个. 这5个集合分别是: set1:1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 set2:2 3 6 7 10 11 14 15 18 19 22 23  26 27 30 31 set3:4 5 6 7 12 13 14 15 20 21 22 23  28 29 30 31 set4:8 9 10 11 12 13 14 15

[OpenGL] 小游戏 - 太空对战

写的比较粗糙的一个小游戏,算是对游戏编程流程的一个入门认识. OpenGL中,如何加载纹理,如何绘制透明纹理,如何显示文字,如何制作简单动画(画面刷新机制),如何使用键盘和鼠标回调函数,这些我们已经很熟悉了.当然,这些都是最基本的要求. 那么,如何实现游戏基本逻辑?一般而言,用oop的思想能够很好地完成这一点,我们给每类对象维护一些状态量和方法,每个对象可以通过下标索引访问到这些状态量,我们把代码分成两部分 -- 第一部分,当达到一个触发条件时,我们改变状态量的值:第二部分,根据状态量,我们绘制

30分钟,学会经典小游戏编程!

在80后.90后的儿时记忆里,俄罗斯方块是必备的消遣小游戏,它的玩法非常简单基本大家都懂,但如何用编程语言开发一款儿时同款「俄罗斯方块」,恐怕知道的同学就很少啦. 位置掩码和旋转掩码 俄罗斯方块游戏中的格子一般是10列20行(10*20),我们称之为世界地图. 一般都是这种竖屏的界面 10*20的空间是用来盛放方块的,当方块落定之后位置便不能再改变.这个时候它会被保存到地图的状态中,我们给地图状态设计一个二维的数组. 方块有7种样式组成,最大的长宽是4个方格,为了在逻辑上比较好的处理所有类型的方

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

使用AxureRP7.0制作经典小游戏"大家来找茬"

本案例是<网站蓝图AxureRP7.0从入门到精通视频教程>中的最后一节,适用于对Axure基础知识掌握比较熟练的同学:教程由axure原型库网站录制,转载请注明出处!相信很多刚接触Axure或者学习了一段时间但并没有深入的同学们,看到这个案例一定很惊讶,使用Axure竟然能做出如此逼真的交互效果!通过此案例也可以激发广大同学们学习Axure的热情和信心!试想一下,如果你有情侣的话,把你们珍藏的合影拿出来处理几张,做成大家来找茬的小游戏,不但锻炼了自己的技能,还能给对方一个惊喜,岂不是一举两得

使用AxureRP7.0制作经典数独小游戏原型,axure游戏原型下载

之前,有同学在Q群中提问,如何使用axure制作经典数独解谜小游戏,当时由于时间关系没有来得及亲手制作,而是给同学们提供了Axure6.5版本的一个数独解谜游戏的原型,本教程由axure原型库网站录制,转载请注明出处!但是那个原型做的太过繁杂,所以仅供大家参考交流:在此,金乌老师特地抽时间给同学们使用AxureRP7.0制作了一下,感觉对实战逻辑分析和axure变量的掌握比较有考验,所以就放出来供大家学习交流使用. 在学习的过程中,如果你仅凭自己现有的对axure的掌握,无法准确分析并组织出原型

【H5小游戏开发教程】如何限制微信游戏只能在微信端打开?

在这行里接触的时间多了,就会发现很多有意思的东西. 比如,很多微信小游戏会限制只能在微信端打开,有木有? 有这样的, 也有这样的, 妈蛋,不能用PC访问,这游戏就没法扒呀..... 其实涛舅舅告诉你,这两种都可以扒 而且是用PC! 但是今天,我不教你扒皮 我要教你的是,怎么让你的微信游戏也能限制PC打不开 很想学吧  准备开始! 1.第一种不提了,因为人家是设置了微信授权登录,从微信那里就拦截住了,只能用微信访问,你可能弄不了这么高级的微信授权这块,如果你真能弄,这一讲你也不用听了,因为你已经能

Chrome自带恐龙小游戏的源码研究(完)

在上一篇<Chrome自带恐龙小游戏的源码研究(七)>中研究了恐龙与障碍物的碰撞检测,这一篇主要研究组成游戏的其它要素. 游戏分数记录 如图所示,分数及最高分记录显示在游戏界面的右上角,每达到100分就会出现闪烁特效,游戏第一次gameover时显示历史最高分.分数记录器由DistanceMeter构造函数实现,以下是它的全部代码: 1 DistanceMeter.dimensions = { 2 WIDTH: 10, //每个字符的宽度 3 HEIGHT: 13, //每个字符的高 4 DE

C语言小游戏设计报告

课程设计名称:贪吃蛇小游戏 专业班级:计科15-2 学号:150809229 姓名:XXX 一.设计目标 通过设计,培养学生对电脑的动手能力,使学生巩固<C语言程序设计>课程学习的内容,掌握编写程序的基本方法,强化对其的动手能力,可以独自完成程序的编写. 二.设计内容和要求 设计内容 编写贪吃蛇的小游戏,使其可以成功运行并且操作玩耍. 设计要求 1)源程序要有适当的注释,使程序便于阅读. 2)要有程序运行结果作为依据 三.程序流程 1.编写地图 运用函数,数组编写地图 2.相同的方法把蛇添加进