简单的循环和判断

#include<bits/stdc++.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
using namespace std;
//PS:如果你可以用自己的身躯吃掉符号也可以,我没加判断。
char box[101][101]; //可以理解为地图
int n;//几号地图
int eexit=1;//这个可以去掉,但懒得去
int maxguanqia=1;//关卡有几个
int plx,ply;//位置
char sr;//读入的东西
void color(int a)//颜色函数,不需要记,只要懂得抄就行了,只是为了好看
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void intel1(){//显示第一张地图
    box[plx][ply]=2;
    for(int i=1;i<=8;i++){
        for(int j=1;j<=8;j++){//双重循环打印
            if(box[i][j]==‘#‘)color(5);//颜色判定
            else if(box[i][j]==15)color(6);
            else if(box[i][j]==2)color(9);
            else if(box[i][j]==14)color(15);
            cout<<box[i][j];
        }cout<<endl;//换行
    }
}
void g1sd(){//初始化第一张地图
    for(int i=3;i<=5;i++)box[1][i]=‘#‘;//编辑地图,很累
    box[2][3]=‘#‘;box[2][5]=‘#‘;
    box[3][3]=‘#‘;for(int i=5;i<=8;i++)box[3][i]=‘#‘;
    for(int i=1;i<=3;i++)box[4][i]=‘#‘;box[4][8]=‘#‘;
    box[5][1]=‘#‘;for(int i=6;i<=8;i++)box[5][i]=‘#‘;
    for(int i=1;i<=4;i++)box[6][i]=‘#‘;box[6][6]=‘#‘;
    box[7][4]=‘#‘;box[7][6]=‘#‘;
    for(int i=4;i<=6;i++)box[8][i]=‘#‘;
    box[4][4]=15;
    box[4][6]=15;
    box[5][4]=15;
    box[6][5]=15;
    box[2][4]=14;
    box[5][2]=14;
    box[4][7]=14;
    box[7][5]=14;
    plx=5;ply=5;
    box[plx][ply]=2;
}
int main(){
    while(eexit==1){//直接改while(1)得了,弄退出基本没有用
        for(int i=1;i<=100;i++){//重置
            for(int j=1;j<=100;j++){
                box[i][j]=‘ ‘;
            }
        }
        color(3);//上色,标标题什么的
        system("title 推箱子测试版1.0");
        printf("要联系本程序作者请找QQ\nQQ:1095832103\n输入关卡(1-1):");
        scanf("%d",&n);//输入地图编号
        if(n>maxguanqia)n=maxguanqia;//判断,超过选择当前最大地图
        if(n==1){system("cls");g1sd();intel1();//显示
            int eeexit=1;//假若没有完成就一直继续,想退出自己加上去
            while(eeexit==1){//是0就回去
                int hh=0;
                for(int i=1;i<=8;i++){//循环
                    for(int j=1;j<=8;j++){
                        if(box[i][j]==14)hh++;//判断
                    }
                }
                if(hh==0)eeexit=0;
                else{

                    if(kbhit()){
                        sr=getch();
                    }
                    switch(sr) {
                        case ‘w‘:if(box[plx-1][ply]!=‘#‘){if(box[plx-1][ply]==15&&box[plx-2][ply]!=‘#‘){box[plx][ply]=‘ ‘;plx--;box[plx-1][ply]=15;}else if(box[plx-1][ply]!=15){box[plx][ply]=‘ ‘;plx--;}sr=‘l‘;}break;//上
                        case ‘s‘:if(box[plx+1][ply]!=‘#‘){if(box[plx+1][ply]==15&&box[plx+2][ply]!=‘#‘){box[plx][ply]=‘ ‘;plx++;box[plx+1][ply]=15;}else if(box[plx+1][ply]!=15){box[plx][ply]=‘ ‘;plx++;}sr=‘l‘;}break;//下
                        case ‘a‘:if(box[plx][ply-1]!=‘#‘){if(box[plx][ply-1]==15&&box[plx][ply-2]!=‘#‘){box[plx][ply]=‘ ‘;ply--;box[plx][ply-1]=15;}else if(box[plx][ply-1]!=15){box[plx][ply]=‘ ‘;ply--;}sr=‘l‘;}break;//左
                        case ‘d‘:if(box[plx][ply+1]!=‘#‘){if(box[plx][ply+1]==15&&box[plx][ply+2]!=‘#‘){box[plx][ply]=‘ ‘;ply++;box[plx][ply+1]=15;}else if(box[plx][ply+1]!=15){box[plx][ply]=‘ ‘;ply++;}sr=‘l‘;}break;//右
                        default:break;
                    }
                    intel1();

                    Sleep(100);//别闪 太快看不清
                    system("cls");

                }
            }
        }
        system("cls");cout<<"You win\n";Sleep(2000);system("cls");
    }
    return 0;
}

咱用手敲出推箱子,只有一关,挺简单的,就是循环判断什么的。初期的东西不需要耗太多时间,练练手就可以。

时间: 2024-08-25 19:21:00

简单的循环和判断的相关文章

PYTHON拼接显示循环和判断学习

拼接显示: name = input("name:") age = int(input("age:"))#转义成整数 job = input("job:") salary = input("salary:") info = ''' ----------in of %s-------- Name:%s age:%s job:%s salary:%s ''' %(name,name,age,job,salary) %s 字符串 %

python实现简单的循环购物车小功能

python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s", 5000), ("book python", 81), ("iwach", 3200), ("电视机", 2200) ] def zero(name): if len(name) == 0: print("\033[31;1m您的输

Java用正则表达式写简单账号密码注册判断

Java写简单账号密码注册判断 菜鸟刚学的表达式 练手代码. 1 /*在注册时通常要验证用户名和密码是否合法,运用学习过的知识完成如下操作: 2 3 用户名长度大于等于6位,必须包含数字和英文字母 4 5 密码长度大于等于8位,必须包含特殊符合_或者$,英文字母以及数字 6 7 以上两个条件同时成立注册才能成功. 8 9 10 11 * */ 12 13 import java.util.Scanner; 14 15 import java.util.regex.Matcher; 16 17 i

简单图片循环滚动

<marquee style="margin-top:5px;" behavior="alternate" loop="1" onmousemove="stop()" onmouseout="start()"> <img src="Image/0.jpg" width="180px"; height="180px" /> &

利用insertBefore制作简单的循环插空效果【jsDEMO】

[功能说明] 利用insertBefore制作简单的循环插空效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in&quo

js循环GridView判断CheckBox是否全部未选中

function isQueryPriceReplyProduct() { var gridItem; var itemIndex = 0;  var IDS = ''; while (gridItem = dgQueryPriceReplyProduct.Table.GetRow(itemIndex)) {   itemIndex++;   if (!gridItem.Cells[0].Value) { continue; } IDS += gridItem.Cells[1].Value + 

【C语言】不使用循环和判断语句,求出1-100之间所有数的和

//不使用循环和判断语句,求出1-100之间所有数的和 #include <stdio.h> int fun(int n, int *sum) { *sum = *sum + n; (n--) && (fun(n, sum)); return n; } int main() { int n = 100; int sum = 0; fun(n, &sum); printf("%d\n", sum); return 0; } <img src=&q

AEAI ESB-基于ESB的循环及判断处理控制

1.概述 在实际业务环境中,某一个业务模块往往需要重复执行,这就需要使用循环来完成.AEAI ESB在流程化的设计模式中也支持循环的使用,本文档为读者介绍如何使用分支.合并路由设计循环流程. 2.样例 2.1.创建Http流程 2.2.整体流程图 2.3.参数说明 2.4.组件说明 2.4.1.httpRequest    2.4.2.初始化内容 package com.aeai.demo.messageflows.simpleloop; importcom.agileai.esb.core.A

php 使用自定义函数 在循环里判断闰年

<?php /** 使用自定义函数 在循环里判断闰年 **/ function is_runnian($year){ //自定义函数 if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { return true; }else { return false; } } for($year=1500;$year<=2000;$year++) { if(is_runnian($year)) { echo $year.'