card_war 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +7 -0
  3. data/bin/card_war +61 -0
  4. data/lib/card_war.rb +14 -0
  5. metadata +69 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 910381392468a6ef4e09a1ee44b57487ecd71bdb
4
+ data.tar.gz: b4233e5fb36c211e0b68b593c9661f2cbc63f0ec
5
+ SHA512:
6
+ metadata.gz: 783a017818465a48918f7477e17e58131118a2b16b964250835d2d13fb1a41ece5d11d98f162104f061e25f48638bf3fafc6c674aff21e2a75b61251d1c01bbd
7
+ data.tar.gz: d15cec2adf210bbfe26bb989885997b890016489b8f50ab2099336e9f8af0ab2fcfd053a1fd3fdbcf1869c8b4757ef992831beed755777437d206f14e29ece2a
data/README.md ADDED
@@ -0,0 +1,7 @@
1
+ ##### Badges
2
+ [![Dependency Status](https://gemnasium.com/Zrp200/war.svg)](https://gemnasium.com/Zrp200/war)
3
+ [![Inline docs](http://inch-ci.org/github/zrp200/war.png?branch=master)](http://inch-ci.org/github/zrp200/war)
4
+ # card war
5
+ This is a card game where you simply play the top card of your deck and compare it your oppenent's card.
6
+
7
+ There is no interaction required after the game starts.
data/bin/card_war ADDED
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env ruby
2
+ require "card_war"
3
+ include CardDeck
4
+ speed = 1
5
+ BEGIN {
6
+ ARGV[0] = case ARGV[0]
7
+ when "-h" then "--help"
8
+ when "-v" then "--version"
9
+ end
10
+ puts case ARGV[0]
11
+ when "--version"; "0.0.0"; exit
12
+ when "--help"; "Usage: card_war [-h | -v]\n\t -v/--version: The version \n\t -h/--help: This message"; exit
13
+ end
14
+ }
15
+ user, dealer, deck, arena = Array.new, Array.new, Deck.new, Array.new
16
+ until deck.cards.empty?
17
+ user.push deck.cards.shift
18
+ dealer.push deck.cards.shift
19
+ user.shuffle!
20
+ dealer.shuffle!
21
+ end
22
+ until user.empty? || dealer.empty?
23
+ ucard, dcard = user.shift, dealer.shift
24
+ arena.push ucard.clone
25
+ arena.push dcard.clone
26
+ puts "#{ucard.num} vs #{dcard.num}"
27
+ sleep 1
28
+ while ucard.value == dcard.value
29
+ puts "Tie!\n"; sleep speed
30
+ 2.times do
31
+ arena.push(user.shift) unless user.length <= 1
32
+ arena.push(dealer.shift) unless dealer.length <= 1
33
+ end
34
+ unless user.empty?
35
+ ucard = user.shift
36
+ arena.push ucard.clone
37
+ end
38
+ unless dealer.empty?
39
+ dcard = dealer.shift
40
+ arena.push dcard.clone
41
+ end
42
+ puts "#{ucard.num} vs #{dcard.num}"
43
+ sleep speed
44
+ end
45
+ if ucard.value > dcard.value
46
+ puts "You win"
47
+ sleep speed
48
+ user.push(arena.shift) until arena.empty?
49
+ else
50
+ puts "The dealer wins"
51
+ sleep speed
52
+ dealer.push(arena.shift) until arena.empty?
53
+ end
54
+ puts
55
+ puts "You have #{user.length} cards"
56
+ sleep 0.1
57
+ puts "The dealer has #{dealer.length} cards"
58
+ sleep speed + 0.5
59
+ puts
60
+ puts
61
+ end
data/lib/card_war.rb ADDED
@@ -0,0 +1,14 @@
1
+ require "card_deck"
2
+ class CardDeck::Card
3
+ # The card's value
4
+ def value
5
+ case @num
6
+ when 2..10 then @num.to_i
7
+ when "Jack" then 11
8
+ when "Queen" then 12
9
+ when "King" then 13
10
+ when "Ace" then 14
11
+ end
12
+ end
13
+ end
14
+
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: card_war
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Zachary Perlmutter
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-09-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: card_deck
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.0.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.0.0.1
33
+ description: Allows you to play the card game war. No user interaction needed.
34
+ email: zrp200@gmail.com
35
+ executables:
36
+ - card_war
37
+ extensions: []
38
+ extra_rdoc_files:
39
+ - README.md
40
+ files:
41
+ - README.md
42
+ - bin/card_war
43
+ - lib/card_war.rb
44
+ homepage: https://github.com/zrp200/card_war
45
+ licenses:
46
+ - MIT
47
+ metadata: {}
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.4.1
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: The card game of war
68
+ test_files: []
69
+ has_rdoc: