Blaec James Lammers, 20, was charged in Polk County Circuit Court with assault, making a terrorist armed threat and armed criminal action, the Bolivar Herald-Free Press reported. He was held on $500,000 bond.
"Blaec Lammers stated that he had purchased tickets to go see the 'Twilight' movie ... and he was going to shoot people at the movie theater on that night," Detective Dusty Ross said in a statement.
"He then got to thinking about it and realized that he might run out of ammunition, so he decided that he would go and shoot people at Walmart in Bolivar. ... He would walk into the store and just start shooting people at random and if he ran out of ammunition, he would just break the glass where the ammunition is being stored and get some more and keep on shooting until the police arrived."
Then, the statement said, he planned to surrender.
The statement said Lammers' mother called police Thursday to say her son had bought weapons similar to those used in this summer's Aurora, Colo., theater shootings and she feared he planned to stage a similar attack during a showing of the "Twilight" movie at the B&B Theater Friday, the newspaper said on its website.
Ross said investigators do not think anyone else was involved.
"He got the idea, he purchased the guns, purchased the ammo, went out and practiced using the gun, got his venue, got tickets to the venue, then thought 'Well, maybe if I run out of ammo, I need to pick a different venue.' He had taken every step he needed to take except for actually committing the act," Ross said.
The newspaper said Lammers bought an assault weapon and another gun this week, along with 400 rounds of .223-caliber and .22-caliber ammunition.
On July 20, a gunman opened fire in an Aurora theater showing the latest installment of the "Batman" movie franchise, killing 12 people and wounding 58 others. James Eagan Holmes, 24, is being held on 142 counts of murder and attempted murder.
Iranian woman stops the execution of son's killer
Rosie O'Donnell unveils nearly 50-pound weight loss