从@小蔡编程 那里获得的灵感,原文地址:https://www.cnblogs.com/xiaocaibiancheng/p/15158997.html

那篇文章是说python写打字游戏的,本文就用C++语言写一遍。

废话少说,先上代码:

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std; int score=0;
char a[5][5];
int start_time;
char temp; int randbetween(int bottom,int top){
return rand()%(top-bottom)+bottom;
}
void refresh(){
system("cls");
printf("SCORE..%08d\n",score);
for(int i=4;i>0;i--){//向下移动
for(int j=0;j<5;j++){
a[i][j]=a[i-1][j];
}
}
for(int i=0;i<5;i++){
a[0][i]=(char)randbetween('a','z');//生成随机字符
}
for(int i=0;i<5;i++){
if(a[4][i]!='\0'){//字符到了最后一行
cout<<"GAME OVER";exit(0);
}
}
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(a[i][j]!='\0')printf("%c ",a[i][j]);
else printf(" ");
}
printf("\n");
}
} void run(char c){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(a[i][j]==c)a[i][j]='\0',score+=10;
}
}
system("cls");
printf("SCORE..%08d\n",score);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(a[i][j]!='\0')printf("%c ",a[i][j]);
else printf(" ");
}
printf("\n");
}
} int main(){
srand(time(0));
system("title game");
for(;;){
start_time=clock();
refresh();
while(clock()-start_time<=3000){//3秒以内
if(_kbhit()){
temp=getch();
run(temp);
}
}
}
/*for(;;){
cout<<(char)randbetween('a','z');
getchar();
}*/
return 0;
}

简单说下代码,

每隔一段时间需要刷新一下屏幕,刷新也就是refresh。因此我们把这些内容写进refresh函数。主要用途:

1,把每一行的元素往下移动

2,最上面一行加入随机字符,randbetween其实是模仿excel中的一个函数,基本还是调用rand标准库函数。

3,如果最下面一行有字符还没有消除,那么就game over

然后是run函数,用于消除字符。我们反复使用getch()函数进行输入字符,通过run进行判断字符是否在数组中,如果在数组中就把它消除掉。

main函数中,clock()-start_time<=3000是指和上一次刷新时间相隔3000ms,也就是3秒。这样就可以指定3秒刷新一次。

system("title game")用于把标题栏设置为game。

效果演示:

C++打字小游戏的更多相关文章

  1. python 打字小游戏

    最近随便用python的pygame编了这个打字小游戏 只要有字母调到窗口底部就结束 上代码: import pygame.freetype import sys import random pyga ...

  2. c#实现简单金山打字小游戏(源码)

    using GameDemo.Utils;using System;using System.Collections.Generic;using System.Linq;using System.Te ...

  3. [have_fun] 好玩哒小游戏

    好玩哒,打字小游戏:http://zty.pe/ 可好玩了,一起来玩吧!

  4. 分享几个原生javascript面向对象设计小游戏

    一.序言 不知大家是不是和我一样,当初都有个梦想.学编程,就是想开发游戏.结果进入大学学习之后,才知道搞的是数据库应用程序开发!在此,本人就分享下业余时间做的几个小游戏吧!本打算想用winform或w ...

  5. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  6. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...

  7. 推荐10款超级有趣的HTML5小游戏

    HTML5的发展速度比任何人的都想像都要更快.更加强大有效的和专业的解决方案已经被开发......甚至在游戏世界中!这里跟大家分享有10款超级趣味的HTML5游戏,希望大家能够喜欢! Kern Typ ...

  8. 如何开发一个简单的HTML5 Canvas 小游戏

    原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...

  9. JavaScript版拼图小游戏

    慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...

随机推荐

  1. SQL语法 - SELECT 语句

    SELECT 语句用于从数据库中选取数据. SQL SELECT 语句 SELECT 语句用于从数据库中选取数据. 结果被存储在一个结果表中,称为结果集. SQL SELECT 语法 SELECT c ...

  2. JavaSE-常用类

    JavaSE-常用类 Obeject Java Object类是所有类的父类,也就是说Java的所有类都继承了Object,子类可以使用Object的所有方法. Object类位于java.lang包 ...

  3. JVM快速扫盲篇

    JVM虚拟机基础 JVM虚拟机结构 vm的整体结构大致如下: 类加载器:类加载器用来加载Java类到JVM虚拟机中,源代码程序.java文件在经过编译器编译之后就被转换成字节代码.class文件,类加 ...

  4. 内存吞金兽(Elasticsearch)的那些事儿 -- 常见问题痛点及解决方案

    1.大数据量的查询效率如何保证: 查询的流程:往 ES 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 Filesystem Cache 里面去 最佳的情况 ...

  5. SpringBoot集成websocket(Spring方式)

    SpringWebSocketConfig配置 package com.meeno.chemical.socket.task.config; import com.meeno.chemical.soc ...

  6. flutter中将widget转为base64

    flutter中可以通过RepaintBoundary widget中的toImage方法将页面中的widget转为base64. 如何使用? 首先要在全局定义一个global key,分配给Repa ...

  7. HCNP Routing&Switching之OSPF网络类型

    前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...

  8. 图解Win 10 应用开发之Sqlite 数据库的简单用法

    尽管目前 UWP-RT 库中还没有自带操作Sqlite数据库的API,不过,真要使用的话也不难,因为通过 Nuget ,我们其实可以获取很多支持 Sqlite 操作的第三方组件,当然了,组件虽多,但不 ...

  9. 二 MongoDB数据类型和$type操作符

    一.MongoDB中可以使用的类型如下表所示 二.$type操作符 举个例子:想获取指定集合中title为String类型的所有文档

  10. php Abstract 抽象类 与 Interface的

    一.Abstract Class 与 Interface 的构造 抽象类 Abstract Class <?php abstract class A { abstract public func ...