关于一款c++贪吃蛇小游戏
好久不资瓷了。
首先声明,这个东西为转载(窝不会写这个。)
原作者:洛谷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++贪吃蛇小游戏的更多相关文章
- 贪吃蛇小游戏-----C语言实现
1.分析 众所周知,贪吃蛇游戏是一款经典的益智游戏,有PC和手机等多平台版本,既简单又耐玩.该游戏通过控制蛇头方向吃食物,从而使得蛇变得越来越长,蛇不能撞墙,也不能装到自己,否则游戏结束.玩过贪吃蛇的 ...
- C++ 简单的控制台贪吃蛇小游戏
由于比较懒,所以不怎么写,觉得这样不应该.我应该对自己学的做出整理,不管是高端低端,写出来是自己的. // 贪吃蛇.cpp : 定义控制台应用程序的入口点. // #include "std ...
- JS高级---案例:贪吃蛇小游戏
案例:贪吃蛇小游戏 可以玩的小游戏,略复杂,过了2遍,先pass吧 先创建构造函数,再给原型添加方法.分别创建食物,小蛇和游戏对象. 食物,小蛇的横纵坐标,设置最大最小值,运动起来的函数,按上下左右键 ...
- Java GUI学习,贪吃蛇小游戏
JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...
- 用GUI实现java版贪吃蛇小游戏
项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFr ...
- Java 用java GUI写一个贪吃蛇小游戏
目录 主要用到 swing 包下的一些类 上代码 游戏启动类 游戏数据类 游戏面板类 代码地址 主要用到 swing 包下的一些类 JFrame 窗口类 JPanel 面板类 KeyListener ...
- html5面向对象做一个贪吃蛇小游戏
canvas加面向对象方式的贪吃蛇 2016-08-25 这个小游戏可以增加对面向对象的理解,可以加强js逻辑能力,总之认真自己敲一两遍收获还是不少啊!!适合刚学canvas的同学练习!! 废话不多说 ...
- 用python+pygame写贪吃蛇小游戏
因为python语法简单好上手,前两天在想能不能用python写个小游戏出来,就上网搜了一下发现了pygame这个写2D游戏的库.了解了两天再参考了一些资料就开始写贪吃蛇这个小游戏. 毕竟最开始的练手 ...
- Java贪吃蛇小游戏
贪吃蛇 思路 首先构思游戏布局,计算合理的坐标系. 绘制静态数据(广告.初始小蛇.提示信息.棋盘) 添加键盘监听事件,改变游戏状态以及小蛇运动方向 添加定时器,让小蛇在一段时间内移动一定的距离 随机产 ...
随机推荐
- dfs -cogs 5 P服务点设置
题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=FSXJmiJSg 问题描述为了进一步普及九年义务教育,政府要在某乡镇建立P所希望小学 ...
- Summary of OAuth 2.0
Summary of OAuth 2.0 1 Problems: This pattern of applications obtaining user passwords obviously has ...
- 宝塔配置composer默认的PHP版本
当安装composer时,提示PHP版本问题: rm -f /usr/bin/php //这是默认的版本,删除 ln -sf /www/server/php/71/bin/php /usr/bin/p ...
- Linux用户管理重要初始化目录skel案例讲解
1. /etc/skel 目录 /etc/skel 的场景作用
- kafka原理和操作
参考: 原理: https://www.cnblogs.com/yinzhengjie/p/9780976.html 常用配置参数: https://www.cnblogs.com/yinzhengj ...
- [转帖]NM_CONTROLLED的含义以及网卡配置参数
NM_CONTROLLED的含义以及网卡配置参数 https://blog.csdn.net/z1014347942/article/details/78069966 学习一下 其实可以手工修改的. ...
- PAT A1011 World Cup Betting(20)
AC代码 #include <cstdio> #include <algorithm> const int max_n = 3; using namespace std; /* ...
- 【Havel 定理】Degree Sequence of Graph G
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2454 [别人博客粘贴过来的] 博客地址:https://www.cnblogs.com/debug ...
- leecode 刷题(32)-- 链表的中间节点
leecode 刷题(32)-- 链表的中间节点 描述: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3, ...
- 怎样理解 DOM 的三种层级关系
除了根节点,其他节点都有三种层级关系. 父节点关系(parentNode):直接的那个上级节点 子节点关系(childNodes):直接的下级节点 同级节点关系(sibling):拥有同一个父节点的节 ...