zoukankan      html  css  js  c++  java
  • 骰子游戏问题

    题面:

    现在要求你编写一道程序来模拟骰子的滚动。骰子不滑动也不跳动,只在桌子上向四个方向滚动,即东西南北。每次一开始,玩家使骰子的面值1,2,3对应上,北,西。骰子的相对两面的和都为7. 你的程序能接受一系列的输入命令,命令内容为north,south,east,west。如north,指骰子向北滚动一次,北面变为底面,上面变为北面。滚动角度为90°。你的程序必须计算出骰子最后朝上的数字。

    输入:

    输入包括一系列命令序列,每个序列对应新游戏的开始,其第一行是一个整数n(0<n<=1024),表示命令条数;接下来n行为命令。输入0表示输入结束。

    输出:

    对于每一个命令序列,输出骰子最后朝上的数字。

    输入举例:

    1
    north
    3
    north
    east
    south
    0

    输出举例:

    5
    1

    思路:记录每次滚动后的上北西三面的面值(a,b,c)。

    代码:

     1 #include <fstream>
     2 #include <iostream>
     3 #include <algorithm>
     4 #include <cstdio>
     5 #include <cstring>
     6 #include <cmath>
     7 #include <cstdlib>
     8 
     9 using namespace std;
    10 
    11 #define PI acos(-1.0)
    12 #define EPS 1e-10
    13 #define lll __int64
    14 #define ll long long
    15 #define INF 0x7fffffff
    16 
    17 int n;
    18 char s[10];
    19 
    20 int main()
    21 {
    22     //freopen("D:\input.in","r",stdin);
    23     //freopen("D:\output.out","w",stdout);
    24     while(scanf("%d",&n),n){
    25         getchar();
    26         int a=1,b=2,c=3,aa,bb,cc;
    27         for(int i=0;i<n;i++){
    28             gets(s);
    29             if(s[0]=='n'){
    30                 aa=7-b;
    31                 bb=a;
    32                 cc=c;
    33             }else if(s[0]=='s'){
    34                 aa=b;
    35                 bb=7-a;
    36                 cc=c;
    37             }else if(s[0]=='w'){
    38                 aa=7-c;
    39                 bb=b;
    40                 cc=a;
    41             }else{
    42                 aa=c;
    43                 bb=b;
    44                 cc=7-a;
    45             }
    46             a=aa;
    47             b=bb;
    48             c=cc;
    49         }
    50         printf("%d
    ",a);
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    ros 使用笔记
    GLog 初始化说明
    面试-重写基础功能函数
    C++后台服务崩溃堆栈日志
    Linux下FTP服务器(vsftpd)配置:
    Windows 命令行解析工具(getopt)
    C/C++ 宏技巧
    Sublime Keymap 设置
    C++程序设计的技巧-Pimple的使用
    TCP的长连接与短连接
  • 原文地址:https://www.cnblogs.com/jiu0821/p/4353084.html
Copyright © 2011-2022 走看看