好久不资瓷了。

首先声明,这个东西为转载(窝不会写这个。)

原作者:洛谷dalaoWZK20080124

代码如下:

#include <iostream>
#include <Windows.h>
#include <conio.h>
#include <fstream>
using namespace std; char ch='w',o; int i=,j=,a[][],b[],c[],u=,gh=,i1=,j1=,h=,s=,m=,su=; int main() { ifstream data("D:\\max.data");
int dd,d;
while (data >> dd) {
d=dd;
}
data.close();
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout << "-";
for(int k=; k<=; k++)
cout << "--";
cout << "\n";
for(int k=; k<=; k++) {
cout << "| ";
for(int u=; u<=; u++)
cout << " ";
cout << "|\n";
}
cout << "-";
for(int k=; k<=; k++)
cout << "--";
cout << "\n当前得分:0 当前速度:18\n历史最高分:"<< d;
while(true) {
Sleep((-su)*);
gh++;
b[gh]=i;
c[gh]=j;
a[i][j]=;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {j*,i});
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN );
printf("█");
if(kbhit()) {
o = getch();
if(o=='+'&&su+<=) {
su++;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {,});
cout << su << " ";
}
if(o=='-'&&su->=) {
su--;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {,});
cout << su << " ";
}
if(o=='w'&&a[i-][j]!=)
ch=o;
if(o=='s'&&a[i+][j]!=)
ch=o;
if(o=='a'&&a[i][j-]!=)
ch=o;
if(o=='d'&&a[i][j+]!=)
ch=o;
}
switch (ch) {
case 'w':
i--;
break;
case 's':
i++;
break;
case 'a':
j--;
break;
case 'd':
j++;
break;
default:
break;
}
if(i>)
i=;
if(i==)
i=;
if(j>)
j=;
if(j==)
j=;
if(a[i][j]==) {
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {,});
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
cout << "游戏结束 按1退出";
char uuu;
while(uuu!='')
uuu=getch();
system("cls");
if(s>d) {
cout << "破记录了";
std::ofstream outFile;
outFile.open("D:\\max.data");
outFile << s;
outFile.close();
}
return ;
}
if(i==i1&&j==j1) {
h=;
m=;
s=s+su;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {,});
cout << s;
}
a[i][j]=;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {j*,i});
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE );
printf("█");
while(m==) {
i1=(rand()%)+;
j1=(rand()%)+;
if(a[i1][j1]==) {
m=;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {j1*,i1});
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN|FOREGROUND_RED );
printf("█");
}
}
int k=;
if(h==) {
while(k<gh) {
k++;
if(b[k]!=) {
a[b[k]][c[k]]=;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), {c[k]*,b[k]});
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
printf(" ");
b[k]=;
break;
}
}
}
h=;
}
}

有空的话可以颓一下(不是)

关于一款c++贪吃蛇小游戏的更多相关文章

  1. 贪吃蛇小游戏-----C语言实现

    1.分析 众所周知,贪吃蛇游戏是一款经典的益智游戏,有PC和手机等多平台版本,既简单又耐玩.该游戏通过控制蛇头方向吃食物,从而使得蛇变得越来越长,蛇不能撞墙,也不能装到自己,否则游戏结束.玩过贪吃蛇的 ...

  2. C++ 简单的控制台贪吃蛇小游戏

    由于比较懒,所以不怎么写,觉得这样不应该.我应该对自己学的做出整理,不管是高端低端,写出来是自己的. // 贪吃蛇.cpp : 定义控制台应用程序的入口点. // #include "std ...

  3. JS高级---案例:贪吃蛇小游戏

    案例:贪吃蛇小游戏 可以玩的小游戏,略复杂,过了2遍,先pass吧 先创建构造函数,再给原型添加方法.分别创建食物,小蛇和游戏对象. 食物,小蛇的横纵坐标,设置最大最小值,运动起来的函数,按上下左右键 ...

  4. Java GUI学习,贪吃蛇小游戏

    JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...

  5. 用GUI实现java版贪吃蛇小游戏

    项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFr ...

  6. Java 用java GUI写一个贪吃蛇小游戏

    目录 主要用到 swing 包下的一些类 上代码 游戏启动类 游戏数据类 游戏面板类 代码地址 主要用到 swing 包下的一些类 JFrame 窗口类 JPanel 面板类 KeyListener ...

  7. html5面向对象做一个贪吃蛇小游戏

    canvas加面向对象方式的贪吃蛇 2016-08-25 这个小游戏可以增加对面向对象的理解,可以加强js逻辑能力,总之认真自己敲一两遍收获还是不少啊!!适合刚学canvas的同学练习!! 废话不多说 ...

  8. 用python+pygame写贪吃蛇小游戏

    因为python语法简单好上手,前两天在想能不能用python写个小游戏出来,就上网搜了一下发现了pygame这个写2D游戏的库.了解了两天再参考了一些资料就开始写贪吃蛇这个小游戏. 毕竟最开始的练手 ...

  9. Java贪吃蛇小游戏

    贪吃蛇 思路 首先构思游戏布局,计算合理的坐标系. 绘制静态数据(广告.初始小蛇.提示信息.棋盘) 添加键盘监听事件,改变游戏状态以及小蛇运动方向 添加定时器,让小蛇在一段时间内移动一定的距离 随机产 ...

随机推荐

  1. kubeadm安装集群系列-3.添加工作节点

    添加工作节点 worker通过kubeadm join加入集群,加入所需的集群的token默认24小时过期 查看Token kubeadm token list # 如果失效创建一个新的 kubead ...

  2. 【jQuery】attr()、prop()、css() 的区别(转载)

    .attr( ) 可以设置元素的属性(也就是给元素新增加一个原来并不存在的属性)也可以获取元素的本来就有的属性以及额外设置的属性.如果要获取的属性没有设置,那么获取到的结果是 undefined; . ...

  3. 又做了个新的Blog

    http://inkhin.com 服务器比较渣,访问不了的请见谅.

  4. 【VS开发】【计算机视觉】使用opencv静态库编译程序时爆出错误的解决方案

    #[VS开发][计算机视觉]关于opencv静态库的使用说明 标签:[VS开发] [图像处理] --- 忽然间发现OpenCV中居然有已经编译好的静态链接库,于是尝试着使用一下,却遇到了比较多的问题, ...

  5. java面试指导2019-9-16(arraylist)

    ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 通过上面源码我们发现这两个实现数组复制的方法被广泛使用而且很多地方都特别巧妙.比如下面add(in ...

  6. (模板)luoguP3806(树上点分治模板题)

    点分治的写法1: 题目链接:https://www.luogu.org/problem/P3806 题意:给出一颗带边权的树,结点数n<=1e4,每条边有权值<=1e4,有m组询问(m&l ...

  7. php exec执行不等待返回结果

    windows中:pclose(popen("start php.exe test.php","r"));lnuix中: pclose(popen(" ...

  8. 虚拟机(Vmware)安装ubuntu18.04和配置调整(二)

    二.配置修改 1.修改语言环境(settings->Region & Language) 选中中文简体(Chinese(simplified)),点击Apply 中文简体语言安装完成后, ...

  9. readlink、find-exec参数、file命令

    一.readlink:查看符号链接文件的内容 语法       readlink [选项] ...文件... 描述       打印符号链接或规范文件名的值 -f,--canonicalize     ...

  10. java:线上问题排查常用手段(转)

    出处:java:线上问题排查常用手段 一.jmap找出占用内存较大的实例 先给个示例代码: import java.util.ArrayList; import java.util.List; imp ...