用Swift编写和电脑猜拳游戏的程序,让游戏开发简单易上手

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看213 回复回复5 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 213|回复: 5
收起左侧

用Swift编写和电脑猜拳游戏的程序,让游戏开发简单易上手

[复制链接]
游戏人生 发表于 2016-8-11 05:05:41 | 显示全部楼层 |阅读模式
快来登录
获取最新的苹果动态资讯
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码

要求:

可以获得用户名,可以进行猜拳,可以退出游戏,退出游戏时要打印姓名、总局数、赢场、胜率。

用Swift编写完成和电脑猜拳游戏的程序,简单易上手

用Swift编写和电脑猜拳游戏的程序,让游戏开发简单易上手 - 敏捷大拇指 - 用Swift编写完成和电脑猜拳游戏的程序,简单易上手





读取输入

这是一个读取输入函数:

[Swift] 纯文本查看 复制代码
func scanf()->String?{
    let fileHandle = NSFileHandle.init(fileDescriptor:STDIN_FILENO)
    let data = fileHandle.availableData
    let str = String.init(data :data,encoding: NSUTF8StringEncoding)
    if str == nil{
        return nil
    }
    return (str! as NSString).substringToIndex((str! as NSString).length - 1)as String
}





正文:

[Swift] 纯文本查看 复制代码
print("•欢迎进入猜拳游戏");





创建一个用户

[Swift] 纯文本查看 复制代码
struct User{
    var user:String
}





猜拳游戏

[Swift] 纯文本查看 复制代码
struct Morra {
    func morra()-> Int {
               print("选择你第一次的出招(1.石头 * 2.剪刀 * 3.布)或按“0”退出游戏")
        var count = 1
        while true{
           if  let me = Int(scanf()!) {  
            let b = [0,1,2,3]
            let a = b[Int(arc4random()%3)+1]          
            //当输入时0的时候结束循环
            if me == 0{
                print("•••结束游戏")
                break
            }
            if me < 4 && me >= 0{             
            }else{
                print("•••你的姿势不对")
                break
            }                       
            //当电脑出的是石头时
            if a == 1 {
                print("•••电脑出的是石头时")
                if me == 2 {
                    print("•••我出的是剪刀的时候")
                    print("•••我输了")
                }
                else if me == 3 {
                    sum += 1
                    print("•••我出的是布")
                    print("•••我赢了")
                }
                else {
                    print("•••我出的是石头的时候")
                    print("•••平局啦")
                }
            }
            //当电脑出的是剪刀时
            if a == 2 {
                print("•••电脑出的是剪刀的时候")
                if me == 1 {
                    sum += 1
                    print("•••我出的是石头的时候")
                    print("•••我赢了")
                }
                else if me == 3 {
                    print("•••我出的是布")
                    print("•••我输了")
                }
                else {
                    print("•••我出的是剪刀")
                    print("•••平局啦")
                }  
            }
            //当电脑出的是布的时候
            if a == 3 {
                    print("•••电脑出的是布的时候")
                if me == 1 {
                    print("•••我出的是石头的时候")
                    print("•••我输啦")
                }
                else if me == 2 {
                    sum += 1
                    print("•••我出的是剪刀的时候")
                    print("•••我赢了")
                }
                else {
                    print("•••我出的是布的时候")
                    print("•••平局啦")
                }
            }
            count += 1
            print("••••第\(count)局游戏选择你次本的出招(1.石头 * 2.剪刀 * 3.布)或按“0”结束游戏")
            } else {
                    print("姿势不对,重新开始")
                    morra()
                    }
        }

        return sum        
    }
}





输入对象

[Swift] 纯文本查看 复制代码
print("•••请输入用户名:")
var game = User.init(user: String(scanf()))
var process = Morra()
var sum1 = process.morra()
print("本轮游戏一共胜利了\(sum1)局")





作者:OSong


都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 收起 理由
Anewczs + 10 推送上首页了~分享到朋友圈微博QQ空间吧~.

查看全部评分

本帖被以下淘专辑推荐:

1起来 发表于 2016-8-12 19:41:09 | 显示全部楼层
不错,就是没有跟UI对接起来
SwiftRobot 发表于 2016-8-13 01:17:02 | 显示全部楼层
不错,基本逻辑OK。
攻城狮 发表于 2016-9-12 06:36:40 | 显示全部楼层
h5lover 发表于 2016-9-13 15:32:24 | 显示全部楼层
攻城狮 发表于 2016-9-12 06:36
HTML5游戏开发,剪刀石头布小游戏案例
http://www.swifthumb.com/thread-6124-1-1.html

关联得不错!估计机器是没这么智能的~
young 发表于 2016-9-14 18:23:09 | 显示全部楼层
[Swift] 纯文本查看 复制代码
NSFileHandle.init(fileDescriptor:STDIN_FILENO)


这是干什么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表